Netlify的骨干MCP服务器
这是设计用于部署到Netlify的模型上下文协议(MCP)服务器的最小实现。MCP服务器公开了AI助手可以通过模型上下文协议使用的工具和资源。
该项目还包括一个FastAPI客户端,该客户端提供了一个用于与MCP服务器交互的REST API,使其易于测试并与其他应用程序集成。
特性
MCP服务器
- 简单的无服务器MCP服务器实现
- 部署在Netlify上
- 包括一个基本的“运行分析报告”工具
- 提供有关解释报告的文档资源
MCP客户端
- 用于与MCP服务器交互的FastAPI REST API
- 交互式API文档(Swagger UI)
- 易于测试和集成
- 用于自动测试的Python脚本
入门指南
地方发展
- 克隆此存储库
- 安装依赖项:
npm install- 启动开发服务器:
npm run devMCP服务器将在本地可用http://localhost:8888/mcp
测试您的MCP服务器
您可以使用MCP检查器或直接使用curl命令测试MCP服务器。
使用MCP检查器
当开发服务器运行时,您可以使用MCP检查器测试您的MCP服务器:
npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8888/mcp部署后,您可以测试部署的版本:
npx @modelcontextprotocol/inspector npx mcp-remote@next https://your-site-name.netlify.app/mcp然后打开http://localhost:6274/在浏览器中与MCP检查器进行交互。
使用curl
您还可以使用curl命令直接测试MCP服务器:
- 初始化MCP服务器:
curl -X POST http://localhost:8888/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"mcp/init","params":{},"id":"1"}'- 列出可用工具:
curl -X POST http://localhost:8888/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"mcp/listTools","params":{},"id":"2"}'- 调用工具:
curl -X POST http://localhost:8888/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"mcp/callTool","params":{"name":"run-analysis-report","args":{"days":5}},"id":"3"}'- 列出可用资源:
curl -X POST http://localhost:8888/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"mcp/listResources","params":{},"id":"4"}'- 阅读资源:
curl -X POST http://localhost:8888/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"mcp/readResource","params":{"uri":"docs://interpreting-reports"},"id":"5"}'部署
部署到Netlify
- 将此存储库推送到GitHub
- 将您的存储库连接到Netlify
- 配置生成设置:
- 构建命令:留空(不需要构建) - 发布目录: public
部署后,您的MCP服务器将在 https://your-site-name.netlify.app/mcp
与Claude Desktop一起使用
要将此MCP服务器与Claude Desktop一起使用:
- 转到克劳德桌面设置
- 启用MCP服务器配置
- 编辑配置文件:
{
"mcpServers": {
"my-mcp": {
"command": "npx",
"args": [
"mcp-remote@next",
"https://your-site-name.netlify.app/mcp"
]
}
}
}- 重新启动克劳德桌面
使用MCP客户端
MCP客户端提供REST API接口,用于与MCP服务器交互。它是用FastAPI构建的,并提供了一个干净、现代的API和自动文档。
启动客户端
cd mcp-client
pip install -r requirements.txt
uvicorn main:app --reload这将在以下位置启动FastAPI服务器http://localhost:8001.您可以访问API文档:http://localhost:8001/docs.
管理MCP服务器和FastAPI客户端
该模板包括几个用于管理MCP服务器和FastAPI客户端的脚本:
cd mcp-client
./start.sh # Start both services in the background
./stop.sh # Stop both services gracefully
./check_status.sh # Check if services are running and view logs
./test_client.py # Test the FastAPI client endpoints这些脚本确保进程即使在您关闭终端后也能在后台运行,正确管理日志文件,并提供清晰的状态信息。
测试客户端
您可以使用提供的测试脚本测试客户端:
cd mcp-client
./test_client.py这将针对API端点运行一系列测试并显示结果。
API终点
GET /server-获取服务器信息GET /tools-列出可用工具POST /tools/call-调用工具GET /resources-列出可用资源POST /resources/read-阅读资源
有关更多详细信息,请参阅 MCP客户端自述文件.
延伸
扩展MCP服务器
您可以通过向添加更多工具和资源来扩展此MCP服务器 getServer 功能在 netlify/functions/mcp-server.js.按照现有示例并参考 模型上下文协议文档 了解更多信息。
扩展MCP客户端
要向MCP客户端添加新端点,请编辑 main.py 文件在 mcp-client 目录。客户端使用FastAPI构建,这使得添加新路由和功能变得容易。
