Sobre o projeto
mcp-go é uma implementação em Go do Model Context Protocol (MCP), um protocolo padronizado que permite integração segura entre aplicações de LLM e fontes de dados e ferramentas externas. O projeto fornece um SDK de alto nível e fácil de usar para construir servidores MCP em Go.
As principais características incluem:
- Desenvolvimento rápido com uma interface de alto nível que minimiza código boilerplate
- Criação de servidor simples com código de configuração mínimo
- Objetivo de implementação completa da especificação principal do MCP
O SDK implementa a versão 2025-11-25 da especificação MCP, com compatibilidade reversa para as versões 2025-06-18, 2025-03-26 e 2024-11-05.
Conceitos principais abordados:
- Servidor: A interface central que gerencia gerenciamento de conexões, conformidade com o protocolo e roteamento de mensagens
- Recursos: Expor dados a LLMs por meio de modelos de URI estáticos ou dinâmicos (semelhantes a endpoints GET)
- Ferramentas: Fornecer funcionalidade por meio de ações executáveis com efeitos colaterais (semelhantes a endpoints POST), incluindo suporte a ferramentas aumentadas por tarefas para operações de longa duração
- Prompts: Modelos reutilizáveis para interações com LLM com suporte a argumentos, recursos incorporados e múltiplos tipos de mensagens
O suporte a transporte inclui stdio, SSE (Server-Sent Events) e HTTP transmitível. O transporte HTTP pode ser embutido em frameworks que não sejam net/http, como fasthttp ou fiber, por meio de um ponto de entrada Handle independente de transporte.
Características adicionais incluem Metadados de Recursos Protegidos por OAuth (RFC 9728), suporte a CORS para clientes baseados em navegador, gerenciamento de sessão com ferramentas por sessão e filtragem de ferramentas, hooks de solicitação e middleware de manipulador de ferramentas.
O projeto está em desenvolvimento ativo, com características principais funcionando, mas algumas capacidades avançadas ainda em progresso.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.