使用说明
锦标赛MCP服务器
此MCP服务器公开了一个模型上下文协议(MCP)服务器,用于管理休闲网球或泡菜球锦标赛。
它提供了对锦标赛(球员、比赛、轮次和排名)的确定性、有状态控制,同时通过Gemini或ChatGPT等LLM保持对话。
Walkthrough
为什么不让法学硕士来处理呢?
现代LLM可以在聊天中“配对玩家”或“记分”,但这会破坏你需要一致性、持久性或多用户控制的时刻。
MCP服务器的功能
服务器管理:
- 玩家注册与技能水平
- 比赛生成(
BALANCED或RANDOM配对) - 球场和圆形配置
- 成绩报告和自动排行榜更新
- DynamoDB中存储的持久记录
每一场比赛都有其独特之处 tournament_id 以及它自己的孤立状态。
为什么是MCP,而不是让LLM Prompt来处理它?
| 关注 | 仅LLM方法 | MCP支持方法 |
|---|---|---|
| 决定论 | 每次运行的配对和结果各不相同。 | 使用定义的算法(BALANCED / RANDOM)——始终可重复。 |
| 记录保存 | 聊天结束后,状态将丢失。 | 所有数据都保存到DynamoDB。 |
| 规则执行 | LLM可能会跳过或误用规则。Python中的严格验证逻辑。 | |
| 多用户安全 | 每个聊天都有自己不一致的内存。 | 共享锦标赛状态可通过以下方式访问 tournament_id. |
| 可扩展性 | 难以添加结构或API。 | 易于使用新工具进行扩展(例如。, get_leaderboard_csv, get_player_stats). |
| 审计和分析 | 不可能——没有数据库。 | 用于分析或仪表板的完整历史数据。 |
先决条件
此MCP服务器需要访问 AWS DynamoDB 用于存储锦标赛数据。
您必须具备:
- 具有DynamoDB权限的AWS帐户(
dynamodb:*或等效物)。 - 通过以下方式之一配置本地AWS凭据:
~/.aws/credentials- 环境变量(
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,并且可选AWS_DEFAULT_REGION) - IAM角色(如果在AWS基础架构(Lambda、ECS或EC2)上运行)
- 名为的DynamoDB表
TournamentTable(如果不存在,则在第一次运行时自动创建)。
AWS CLI检查示例:
aws dynamodb list-tables
扩展此服务器
因为它是基于MCP的,所以您可以轻松添加新工具,例如:
get_leaderboard_csv(tournament_id)→ 导出Power BI或Excel的结果get_player_stats(tournament_id, player_id)→ 个人绩效历史simulate_round(tournament_id)→ 自动运行测试锦标赛
像Gemini这样的LLM可以动态地发现和调用这些工具。
它在实践中是如何工作的
-
用户: “让我们设置我们的锦标赛。我们有3个球场。”
→ MCP创建新的锦标赛ID(T_AB12CD34)并存储基本配置。 -
用户: “加上莎拉和迈克。”
→ MCP在该锦标赛的分区下拯救球员。 -
用户: “创建第一轮比赛。”
→ MCP运行BALANCED或RANDOM配对算法——没有重复。 -
用户: “报告最终得分21-17。”
→ MCP更新排名,重新计算分数,并将结果写回DynamoDB。 -
用户: “显示排名。”
→ MCP检索确定性状态:谁领先、活动匹配等