- MCP (Model Context Protocol) é uma forma padronizada de fornecer ferramentas e contexto para LLMs
- Assim como uma porta USB-C, ele atua como uma interface padrão para conectar modelos de IA a diversas fontes de dados ou ferramentas
- O OpenAI Agents SDK oferece suporte a MCP, permitindo integração com vários servidores MCP
Servidores MCP
- Atualmente, a especificação MCP define dois tipos de servidores, de acordo com o mecanismo de transporte utilizado:
- Servidores stdio são executados como subprocessos da aplicação e podem ser considerados como execução “local”.
- Servidores HTTP over SSE são executados remotamente e a conexão é feita por meio de uma URL.
- É possível conectar-se a esses servidores usando as classes
MCPServerStdio e MCPServerSse.
- Por exemplo, a forma de usar o servidor oficial de sistema de arquivos do MCP é a seguinte:
async with MCPServerStdio(
params={
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", samples_dir],
}
) as server:
tools = await server.list_tools()
Cache
- Chamar
list_tools() do servidor MCP sempre que o agente é executado pode causar latência, especialmente quando o servidor é remoto.
- Para armazenar automaticamente em cache a lista de ferramentas, é possível passar
cache_tools_list=True para MCPServerStdio e MCPServerSse. Isso só deve ser feito quando houver certeza de que a lista de ferramentas não mudará.
- Para invalidar o cache, é possível chamar
invalidate_tools_cache() no servidor.
4 comentários
Anthropic publica o Model Context Protocol como open source
Como desenvolver com o Model Context Protocol (MCP)
Explicação comparando MCP e API
Awesome MCP Servers - lista de servidores compatíveis com o Model Context Protocol
Comentários do Hacker News
Hoje o MCP adicionou Streamable HTTP. Isso é um grande avanço, já que não é mais necessário manter conexão constante com um servidor HTTP remoto
{ "location": "New York" }via HTTP POST para/get_weatherAuthorizatione usaria endpoints tradicionaisHá uma analogia de que o MCP seria a porta USB-C das aplicações de AI
Eu me perguntava se a OpenAI daria suporte oficial a isso, e agora tenho a resposta
Eu esperava suporte a OpenAPI. Criei alguns servidores MCP, mas parecem APIs menos flexíveis e pior documentadas
É difícil entender qual é o valor do MCP. Parece mais uma distração em meio à confusão da tecnologia moderna de AI
Criei uma arquitetura em que agentes de AI podem usar "ferramentas" localmente. Funciona com todos os tipos de LLM e servidores de LLM
Faltam vídeos mostrando como o MCP é realmente usado. Faltam casos de uso práticos para programadores
Há uma analogia de que o MCP seria a porta USB-C das aplicações de AI
Parece que isso está mirando a versão antiga do MCP, HTTP+SSE, e não a nova versão Streaming HTTP
Se você quiser testar o MCP de forma simples, eu criei <a href="https://skeet.build/mcp" rel="nofollow">skeet.build/mcp</a>
Eu também acho que o function calling do OpenAPI talvez seja melhor. Até refazer isso com o protocolo MCP já dá trabalho.
Não seria a diferença entre
pushepoll? Em vez de cada modelo ou serviço fazerfunction calling, parece que, para terceiros, é mais prático hospedar a especificação MCP e deixar o agente fazerpoll.