NextApp支付MCP服务器演示
一个演示项目,展示如何实现一个模型上下文协议(MCP)服务器,该服务器通过MCP Inspector和Claude AI集成公开MongoDB支付数据。这个项目是一个如何使用MCP协议通过标准化接口公开数据库资源的示例。
📝 有关从头开始构建此MCP服务器的详细分步指南,请查看我的 综合博客文章.
项目概述
此演示项目演示了:
- 使用官方SDK实现MCP服务器
- 连接到特定的MongoDB Atlas数据库
- 通过MCP资源和工具暴露支付数据
- 与MCP Inspector和Claude AI集成
- LLM如何与结构化数据库数据交互
特性
MCP资源
- 统一资源标识符:
payments://done - 目的:检索付款记录,其中
done: true - 响应格式:JSON
- mime类型:
application/json
MCP工具
- 已完成付款
- 描述:在done为true的情况下检索所有付款 - 输入:无需参数 - 输出:已完成付款的JSON数组
- 获取所有付款
- 描述:从数据库中检索所有付款 - 输入:无需参数 - 输出:所有付款的JSON数组
MCP检查器视图
MCP Inspector showing payment records
上图显示了MCP Inspector界面,显示了通过MCP服务器从MongoDB Atlas检索到的付款记录。MCP Inspector是一个开发人员工具,可帮助验证和调试MCP服务器实现。
Claude AI集成
上图展示了Claude AI的成功:
- 连接到MCP服务器
- 访问支付资源和工具
- 分析付款数据
- 展示结构化结果,包括总金额、日期范围和关键观察结果
在Claude Desktop中设置MCP资源
如果您已经创建了自己的MCP服务器,并希望将其与Claude Desktop一起使用:
- 找到Claude桌面配置
- 窗户: C:\Users\\AppData\Roaming\claude\claude_desktop_config.json - macOS: ~/Library/Application Support/claude/claude_desktop_config.json - Linux: ~/.config/claude/claude_desktop_config.json
- 配置您的MCP服务器
{
"mcpServers": {
"YourServerName": {
"transport": "stdio",
"command": "node",
"args": ["path/to/your/server.js"],
"env": {
"YOUR_ENV_VARIABLE": "your_value"
},
"cwd": "path/to/your/project"
}
}
}替换:
- YourServerName:服务器的唯一名称 - path/to/your/server.js:服务器文件的完整路径 - YOUR_ENV_VARIABLE:服务器需要的任何环境变量
- 验证连接
- 打开克劳德桌面 - 转到“设置”→ 开发者 - 您的服务器应显示为“正在运行”状态
- 使用您的资源或工具
# Using Resource
Use the MCP resource payments://done and [your query]
# Using Tools
Use the MCP tool get_completed_payments to show me all successful payments
Use the MCP tool get_all_payments to show me all payments in the system实现细节
使用的技术
- MCP-SDK:用于协议处理和资源/工具暴露
- MongoDB驱动程序:用于数据库访问和查询执行
- 克劳德桌面:用于LLM集成和自然语言查询
错误处理
该实现包括以下错误处理:
- MongoDB连接问题
- 查询执行错误
- 连接关闭错误
- JSON格式的日志记录,兼容Claude Desktop
重要提示
这是一个示范项目,展示了:
- 如何实现MCP服务器
- 如何将MongoDB数据作为MCP资源和工具公开
- 访问数据的多种方式:
- 通过MCP Inspector(面向开发人员) - 通过Claude AI(面向终端用户) - 通过直接工具调用
- LLM如何与结构化数据交互
MongoDB连接和资源配置特定于此演示。你需要根据你的用例修改它们。
资源
-
