Pickleball MCP 服务器
一个用于访问匹克球比赛信息、场地详情和球员数据的模型上下文协议(MCP)服务器。该服务器为人工智能助手提供工具和资源,帮助用户查找匹克球比赛、场地和球员。
特点/功能
当前(v1.0.0 - 模拟数据)
- 按位置搜索匹克球场地/球场
- 按日期、技能水平和领域查找可用游戏
- 获取有关场地和比赛的详细信息
- 按技能水平查找玩家
- 通过MCP资源访问完整数据集
未来的改进/增强功能
- 来自多个来源的实时数据
- 公开法庭信息的网页抓取
- 持久化存储的数据库集成
- 用户注册和游戏预约
- 天气集成
- 法庭可用性追踪
- 球员评分和比赛历史
可用工具
服务器提供以下MCP工具:
- 搜索字段 - 寻找匹克球场地/球场
- 按城市、州、室内/室外筛选 - 返回场地详情、设施、评分
- 搜索游戏 - 寻找可用的壁球比赛
- 按日期、技能水平、领域、状态筛选 - 显示当前玩家数量及可用性
- 获取字段详情 - 获取特定领域的详细信息
- 包括表面类型、设施、评分 - 显示球场数量和照明情况
- 获取游戏详情 - 获取特定游戏的详细信息
- 包括时间、时长、格式 - 显示场地信息及可用性
- 查找玩家 - 找到可以结交的玩家
- 按技能水平和姓名筛选 - 查看球员评分和比赛历史
可用资源
pickleball://fields- 所有字段的完整列表pickleball://games- 所有游戏的完整列表pickleball://players- 所有球员的完整名单
安装
先决条件
- Node.js 18.0.0 或更高版本
- npm 或 yarn
本地开发
- 克隆仓库:
git clone
cd Prototype-mcp- 安装依赖项:
npm install- 在开发模式下运行:
npm run dev- 为生产构建:
npm run build
npm start与Claude Desktop配合使用
要在Claude Desktop中使用此MCP服务器,请将其添加到您的Claude配置中:
macOS(麦金塔操作系统)
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"pickleball": {
"command": "node",
"args": ["/absolute/path/to/Prototype-mcp/dist/index.js"]
}
}
}Windows
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"pickleball": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\Prototype-mcp\\dist\\index.js"]
}
}
}编辑完配置后,重启Claude桌面版。
部署
自动化部署(推荐)🚀
该项目包括 完全自动化的CI/CD流水线 当您将PR(拉取请求)合并到主分支时,它们会自动部署:
- CI流水线 - 自动构建并测试每个拉取请求(PR)
- CD Pipeline(光盘生产线/光盘发布流程) - 在合并时自动部署到您选择的平台(们)
支持的平台:
- 铁路(每月500小时免费)
- 渲染(每月750小时免费)
- Fly.io(3台虚拟机始终在线免费)
快速设置:
- 选择一个平台(Render 最简单)
- 按照设置指南进行操作 自动化.md
- 合并一个PR(拉取请求)——你的应用就会自动部署!
如需详细的设置说明,请参阅 AUTOMATION.md 翻译为中文是:“自动化.md”(其中,“.md”通常表示这是一个Markdown格式的文件)。
手动部署
你也可以手动部署到各种免费平台上:
铁路
- 安装 Railway CLI:
npm install -g @railway/cli- 部署:
railway login
railway init
railway up配置已在 railway.json。
渲染
- 将您的GitHub仓库连接到Render
- 创建一个新的网络服务
- Render 将自动检测
render.yaml - 点击“创建Web服务”
Fly.io
- 安装 Fly CLI:
curl -L https://fly.io/install.sh | sh- 部署:
fly launch
fly deploy配置已就绪 fly.toml。
Docker
使用 Docker 构建并运行:
docker build -t pickleball-mcp-server .
docker run -p 3000:3000 pickleball-mcp-server如需更多部署详情,请参阅 DEPLOYMENT.md 翻译为中文是:“部署说明.md” 或 “部署文件.md”(具体翻译可能根据上下文有所调整,但基本意思是文件名或标题为“部署”的Markdown文件)。
发展
项目结构
Prototype-mcp/
├── .github/
│ └── workflows/ # GitHub Actions CI/CD workflows
│ ├── ci.yml # Continuous Integration
│ ├── deploy-railway.yml
│ ├── deploy-render.yml
│ └── deploy-fly.yml
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── data/
│ └── mockData.ts # Mock data for fields, games, players
├── dist/ # Compiled JavaScript (generated)
├── Dockerfile # Docker configuration
├── railway.json # Railway deployment config
├── render.yaml # Render deployment config
├── fly.toml # Fly.io deployment config
├── package.json # Node.js dependencies
├── tsconfig.json # TypeScript configuration
├── AUTOMATION.md # Automated deployment guide
├── DEPLOYMENT.md # Manual deployment guide
└── README.md # This file可用脚本
npm run dev- 在开发模式下运行,启用自动重载npm run build- 将 TypeScript 编译为 JavaScriptnpm start- 运行生产环境构建npm run watch- 开发用的监视模式
模拟数据
目前,服务器使用的是在(某处)定义的模拟数据 src/data/mockData.ts:
- 旧金山有3个匹克球场地
- 4款包含不同技能水平的示例游戏
- 4名示例选手
这些数据用于展示MCP服务器的功能,并将在未来版本中替换为真实的数据源。
未来路线图
第二阶段:数据库集成
- 用于持久存储的PostgreSQL数据库
- 数据管理API
- 用户认证
第三阶段:数据收集
- 公开法院信息的网页抓取
- 与匹克球设施网站的集成
- 法庭预约系统集成
阶段4:高级功能
- 实时可用性追踪
- 室外球场的天气集成系统
- 玩家匹配算法
- 游戏通知
- 评分系统
第五阶段:移动与网页
- 移动应用的REST API
- 游戏管理的网页界面
- 移动通知
做出贡献
欢迎贡献!请随时提交拉取请求。
许可证
MIT 许可证 - 详见 LICENSE 文件
支持
对于问题和疑问,请在GitHub上提交一个议题。
示例用法
一旦配置好Claude Desktop,您就可以询问:
- 在旧金山附近找匹克球场地
- “明天有没有中级水平的比赛?”
- “给我展示市中心娱乐中心的详细信息”
- “找些高水平的玩家一起玩”
- “这个周末有哪些游戏可用?”
MCP服务器将提供结构化数据,供Claude使用,以帮助您回答有关匹克球比赛和设施的问题。
