local-only server
The server can only run on the client’s local machine because it depends on local resources.
聚会 MCP 服务器
用于管理聚会和费用分摊的模型上下文协议服务器。
这是一个基于 TypeScript 的 MCP 服务器,可帮助跟踪社交活动的费用和付款,从而轻松计算报销并结算朋友之间的余额。
建筑笔记
重要提示:本项目使用 Node.js 应用程序的非标准架构。TypeScript MCP 服务器充当 Python 后端实现的包装器。Node.js 服务器接收 MCP 请求,将其转换为对 Python 脚本的命令行调用,并返回结果。
虽然这种架构可以满足我们当前的需求,但对于生产应用程序来说,它并不是最有效或最可维护的方法。
待办事项
- 重构实现以使用更标准的架构:
- 要么将后端完全迁移到 TypeScript/JavaScript
- 或者在 Node.js 和 Python 组件之间实现适当的进程间通信
- 或者用 REST API 方法替换,其中 Python 后端提供 MCP 服务器使用的 API
- 改进 Node.js 和 Python 组件之间的错误处理
- 添加组件之间集成的自动化测试
特征
工具
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
作为必需参数
- 将
发展
安装依赖项:
Copy
构建服务器:
Copy
对于使用自动重建的开发:
Copy
安装
配置
要与 Claude Desktop 一起使用,请添加服务器配置:
Copy
配置选项
command
和args
:指定如何运行服务器env
:环境变量GATHERINGS_DB_PATH
:数据库文件的路径GATHERINGS_SCRIPT
:用于处理收集操作的 Python 脚本的路径
alwaysAllow
:无需提示即可自动允许的工具列表timeout
:最大执行时间(秒)
调试
由于 MCP 服务器通过 stdio 进行通信,调试起来可能比较困难。我们推荐使用MCP Inspector ,它以包脚本的形式提供:
Copy
检查器将提供一个 URL 来访问浏览器中的调试工具。