收集MCP服务器
用于管理聚会和费用分担的模型上下文协议服务器。
依赖管理
此项目使用 uv 用于Python依赖管理,而不是 pip。由于需要依赖 模型上下文协议Python SDK.
确保你有 uv 安装或通过pip安装:
pip install uv要安装项目依赖项,请执行以下操作:
uv pip install -r requirements.txt概述
Gatherings MCP服务器提供了一个API,允许人工智能助手通过机器对话协议与Gatherings应用程序进行交互。这使得人工智能系统能够帮助用户管理社交活动、郊游或任何由参与者分担费用的聚会的共同费用。
特性
- 创建和管理多个成员的聚会
- 为特定成员增加费用
- 计算公平报销
- 记录付款和报销情况
- 生成详细的付款摘要
- 在聚会中添加/删除成员
- 根据需要重命名成员
安装
先决条件
- Python 3.8+
- SQL炼金术
- MCP-SDK
设置
- 克隆此存储库:
git clone https://your-repository.git
cd accel- 安装所需的依赖项:
pip install -r requirements.txt- 设置环境变量(可选):
# Custom database location
export GATHERINGS_DB_PATH=path/to/database.db
# Custom script location
export GATHERINGS_SCRIPT=path/to/gatherings.py用法
启动MCP服务器:
python gatherings_mcp_server.py服务器在stdio上运行,这使其与MCP协议客户端兼容。
api参考
MCP服务器公开了以下工具:
create_gathering(gathering_id: str, members: int)
使用指定数量的成员创建新聚会。
add_expense(gathering_id: str, member_name: str, amount: float)
为聚会中的成员添加费用。
calculate_reimbursements(gathering_id: str)
计算一次聚会谁欠谁什么。
record_payment(gathering_id: str, member_name: str, amount: float)
记录会员的付款(正值)或对会员的报销(负值)。
rename_member(gathering_id: str, old_name: str, new_name: str)
重命名聚会中的成员。
show_gathering(gathering_id: str)
显示聚会的详细信息,包括费用和付款状态。
list_gatherings()
列出数据库中的所有聚会。
close_gathering(gathering_id: str)
将聚会标记为已结束。
delete_gathering(gathering_id: str, force: bool = False)
删除集合和所有相关数据。集 force=True 删除已关闭的聚会。
add_member(gathering_id: str, member_name: str)
向现有聚会添加新成员。
remove_member(gathering_id: str, member_name: str)
从聚会中删除成员(仅当他们没有费用时)。
示例流程
- 与5位朋友共进晚餐:
create_gathering("2023-10-15-dinner", 5)- 在人们支付东西时增加费用:
add_expense("2023-10-15-dinner", "Alice", 120.50)
add_expense("2023-10-15-dinner", "Bob", 35.00)- 计算报销金额:
calculate_reimbursements("2023-10-15-dinner")- 在人们结算时记录付款:
record_payment("2023-10-15-dinner", "Charlie", 31.10)- 所有付款结算后关闭聚会:
close_gathering("2023-10-15-dinner")建筑
Gatherings MCP服务器由三个主要组件组成:
- MCP服务器接口 (
gatherings_mcp_server.py):提供人工智能工具可以与之交互的MCP协议接口。
- 服务层 (
services.py):包含用于管理聚会、费用和付款的业务逻辑。
- 数据层 (
models.py):使用SQLAlchemy ORM定义数据库模式并处理数据持久性。
数据模型
- 聚集:代表一个需要分摊费用的社交活动
- 成员:聚会的参与者
- 支出:会员为聚会花费的钱
- 支付:会员为结清余额而支付的款项
贡献
欢迎投稿!请随时提交拉取请求。
