Sobre el proyecto

mcp-go es una implementación en Go del Model Context Protocol (MCP), un protocolo estandarizado que permite la integración segura entre aplicaciones LLM y fuentes de datos y herramientas externas. El proyecto proporciona un SDK de alto nivel y fácil de usar para construir servidores MCP en Go. Las características clave incluyen: - Desarrollo rápido con una interfaz de alto nivel que minimiza el código repetitivo - Creación sencilla de servidores con código de configuración mínimo - Objetivo de implementación completa de la especificación central de MCP El SDK implementa la versión 2025-11-25 de la especificación MCP con compatibilidad retroactiva para las versiones 2025-06-18, 2025-03-26 y 2024-11-05. Conceptos centrales cubiertos: - Servidor: La interfaz central que gestiona la gestión de conexiones, el cumplimiento del protocolo y el enrutamiento de mensajes - Recursos: Exponen datos a LLMs mediante plantillas URI estáticas o dinámicas (similares a endpoints GET) - Herramientas: Proporcionan funcionalidad a través de acciones ejecutables con efectos secundarios (similares a endpoints POST), incluyendo soporte para herramientas aumentadas con tareas para operaciones de larga duración - Prompts: Plantillas reutilizables para interacciones con LLMs con soporte para argumentos, recursos incrustados y múltiples tipos de mensajes El soporte de transporte incluye stdio, SSE (Server-Sent Events) y HTTP transmisible. El transporte HTTP se puede incrustar en frameworks que no son net/http como fasthttp o fiber mediante un punto de entrada Handle independiente del transporte. Características adicionales incluyen Metadatos de Recursos Protegidos OAuth (RFC 9728), soporte CORS para clientes basados en navegador, gestión de sesiones con herramientas por sesión y filtrado de herramientas, hooks de solicitud y middleware de manejadores de herramientas. El proyecto está en desarrollo activo, con las características centrales funcionando, pero algunas capacidades avanzadas aún en progreso.