MCP服务器集合
用于管理聚会和费用分担的模型上下文协议服务器。
这是一个基于TypeScript的MCP服务器,有助于跟踪社交活动的费用和付款,使计算报销和结算朋友之间的余额变得容易。
架构说明
重要:此项目为Node.js应用程序使用非标准架构。TypeScript MCP服务器充当Python后端实现的包装器。Node.js服务器接收MCP请求,将其转换为Python脚本的命令行调用,并返回结果。
虽然这种架构适用于我们当前的需求,但它不是生产应用程序最有效或最可维护的方法。
全部
- 重构实现以使用更标准的架构:
- 要么将后端完全迁移到Types/JavaScript - 或者在Node.js和Python组件之间实现适当的进程间通信 - 或者替换为REST API方法,其中Python后端提供MCP服务器使用的API
- 改进Node.js和Python组件之间的错误处理
- 为组件之间的集成添加自动化测试
- 优化Dockerfile
特性
工具
create_gathering-创建新聚会
- 拿 gathering_id 和 members 根据所需参数
add_expense-为会员添加费用
- 拿 gathering_id, member_name,以及 amount 根据所需参数
calculate_reimbursements-计算聚会的报销费用
- 拿 gathering_id 作为必需参数
record_payment-记录会员的付款
- 拿 gathering_id, member_name,以及 amount 根据所需参数
rename_member-重命名未命名成员
- 拿 gathering_id, old_name,以及 new_name 根据所需参数
show_gathering-显示聚会的详细信息
- 拿 gathering_id 作为必需参数
list_gatherings-列出所有聚会close_gathering-结束聚会
- 拿 gathering_id 作为必需参数
delete_gathering-删除聚会
- 拿 gathering_id 作为必需参数,可选 force 参数
add_member-向聚会添加新成员
- 拿 gathering_id 和 member_name 根据所需参数
remove_member-从聚会中删除成员
- 拿 gathering_id 和 member_name 根据所需参数
发展
安装依赖项:
npm install构建服务器:
npm run build对于自动重建的开发:
npm run watch安装
配置
要与Claude Desktop一起使用,请添加服务器配置:
{
"mcpServers": {
"gatherings": {
"command": "node",
"args": ["/path/to/gatherings-server/build/index.js"],
"env": {
"GATHERINGS_DB_PATH": "gatherings.db",
"GATHERINGS_SCRIPT": "/path/to/gatherings-server/gatherings.py"
},
"disabled": false,
"autoApprove": [],
"alwaysAllow": [
"create_gathering",
"add_expense",
"calculate_reimbursements",
"record_payment",
"rename_member",
"show_gathering",
"list_gatherings",
"close_gathering",
"delete_gathering",
"add_member",
"remove_member"
],
"timeout": 300
}
}
}配置选项
command和args:指定如何运行服务器env:环境变量
- GATHERINGS_DB_PATH:数据库文件的路径 - GATHERINGS_SCRIPT:用于处理收集操作的Python脚本的路径
alwaysAllow:将在没有提示的情况下自动允许的工具列表timeout:最大执行时间(秒)
调试
由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用 MCP检查员,可作为包脚本使用:
npm run inspector检查器将提供一个URL,用于访问浏览器中的调试工具。

