自动mcp服务器
您有一个带有REST API的web应用程序。也许这是一个Django应用程序,你已经使用 drf-spectacular.
现在,您想让LLM与它对话。您需要一个MCP服务器来处理两者之间的转换。
graph LR
A[🤖 LLM] B[🔌 MCP Server] C[🌐 API Server]auto-mcp-server 是一个轻量级的MCP服务器,使LLM可以访问您的Web应用程序。它最初是为https://syracuse.1145.am(代码:https://github.com/alanbuxton/syracuse-neo)但可用于任何具有OpenAPI规范的服务器。不确定它对于大量生产使用有多好,但它肯定足够好。
它有两种口味:
- 使用STDIO的本地MCP服务器,可以与Claude Desktop的免费层配合使用
- 一个使用Streamable HTTP的远程MCP服务器,可以根据您的喜好部署在任何web主机上。它并没有真正进行任何流式处理,但如果您只处理单独的REST API调用,那也没关系。
使用此仓库
- 克隆它
- 确保你有
uv已安装(请参见https://docs.astral.sh/uv/getting-started/installation/) - 复制
.env.sample向.env并根据您的设置进行配置 - 使用MCP检查员进行测试
npx @modelcontextprotocol/inspector(参见https://modelcontextprotocol.io/legacy/tools/inspector)
本地MCP服务器(STDIO)
使用本地MCP服务器,您不必启动它,只需配置您的客户端应用程序(例如Claude Desktop)即可知道在哪里可以找到代码。这是一个样品 claude_desktop_config.json
{
"mcpServers": {
"Your app name": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/auto-mcp-server",
"run",
"stdio_mcp_server.py"
]
}
}
}MCP检查器的连接信息:
- 传输类型:STDIO
- 命令:
/path/to/uv - 参数:
--directory /path/to/auto-mcp-server run stdio_mcp_server.py
远程MCP服务器(无状态流式HTTP)
这需要在MCP Inspector可以连接到它之前启动。请使用以下命令启动:
uv run stateless_streaming_http_mcp_server.py
MCP检查器的连接信息:
- 传输类型:流式HTTP
- 统一资源定位符:host:端口/mcp,例如。
http://127.0.0.1:9000/mcp - 任何进行需要授权的调用的人都需要在“身份验证”部分添加他们的API密钥
无状态流媒体MCP服务器还提供MCP.json .well-known/mcp.json (在这个例子中,它将是 http://127.0.0.1/.well-known/mcp.json )
