使用说明
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,用于访问浏览器中的调试工具。