Token导航 LogoToken导航TokenDH.com
Tennis Ladder MCP logo
运维云端stdio官方级别未说明来源级核验

Tennis Ladder MCP

MCP Server

一个基于Python的MCP服务器,提供跨多城市的网球天梯API交互工具,包括获取联赛设置、锦标赛排名和用户统计信息。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
Python云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

pyJIoH

提供方

pyJIoH

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run tennis-ladder-server

详细介绍

网球阶梯MCP服务器

一个基于Python的MCP(模型上下文协议)服务器,提供工具以跨多个城市(如卡里、奥斯汀、夏洛特、罗利等)与网球排名API进行交互

特点/功能

  • 多城市支持连接到任意一个Tennis Ladder实例(卡里、奥斯汀、夏洛特、罗利等)
  • 获取联赛设置检索联赛配置和设置
  • 获取锦标赛排名获取特定比赛、赛季和级别的玩家排名
  • 获取用户统计数据访问详细的球员资料和表现数据

安装

此服务器已在您的MCP设置中安装并配置完毕。

要求

  • Python 3.10及以上版本
  • UV包管理器
  • 依赖项:mcp、httpx、pydantic

可用工具

1. 获取联赛设置

检索特定城市的联赛配置和设置。

参数

  • city (字符串,可选):城市名称(默认:“cary”)。支持的城市包括:cary、austin、charlotte、raleigh 等。

示例

"Get the league settings for Cary Tennis Ladder"
"Get the league settings for Austin Tennis Ladder"
"Get the league settings" (defaults to Cary)

2. 获取锦标赛排名

获取锦标赛排名和选手排名。

参数

  • city (字符串,可选):城市名称(默认:“cary”)。支持的城市包括:cary、austin、charlotte、raleigh 等。
  • tournament_id (数字,可选):锦标赛ID(默认:1)
  • year (数字,必填):年份(例如,2025)
  • season (字符串,必填):季节 - “秋季”、“春季”、“夏季”或“冬季”
  • level (字符串,必填):比赛级别(例如,“mens-35”表示男子35岁组,“womens-40”表示女子40岁组)

示例

"Show me the tournament standings for mens-35 fall 2025 in Cary"
"Get the current rankings for womens-40 spring 2025 in Austin"
"Show me the tournament standings for mens-35 fall 2025" (defaults to Cary)

3. 获取用户统计数据

获取特定球员的详细统计数据和资料信息。

参数

  • city (字符串,可选):城市名称(默认:“cary”)。支持的城市包括:cary、austin、charlotte、raleigh 等。
  • slug (字符串,必填):玩家用户名/别名(例如,“john-doe”)

示例:

"Get stats for player John Doe in Cary"
"Show me the profile for John Doe in Austin"
"Get stats for player John Doe in fall 2025 season" (defaults to Cary)

项目结构

tennis-ladder-server/
├── src/
│   └── tennis_ladder_server/
│       ├── __init__.py
│       ├── server.py          # Main MCP server with 3 tools
│       ├── models.py          # Pydantic data models
│       └── api/
│           ├── __init__.py
│           └── client.py      # Async HTTP client
├── .venv/                     # Virtual environment
├── pyproject.toml             # Project configuration
└── README.md

发展

安装服务器

克隆或修改项目后,使用以下命令进行安装:

uv pip install -e .

这注册了 tennis-ladder-server 将命令作为入口点。

本地运行

cd /Users/UserName/PathToMCP/tennis-ladder-server
uv run tennis-ladder-server

安装依赖项

uv sync
uv pip install -e .

做出改变

  1. 编辑Python文件中的内容 src/tennis_ladder_server/
  2. 无需构建步骤(Python 是解释型语言)
  3. 重启MCP服务器以查看更改

测试

该项目包括全面的单元测试和集成测试,以确保可靠性。

运行测试

运行所有测试:

pytest

运行测试并生成覆盖率报告:

pytest --cov=src/tennis_ladder_server --cov-report=html

运行特定的测试文件:

pytest tests/test_client.py          # Client tests only
pytest tests/test_server.py          # Server tests only
pytest tests/test_integration.py     # Integration tests only

按标记运行测试:

pytest -m unit           # Unit tests only
pytest -m integration    # Integration tests only

测试结构

tests/
├── __init__.py
├── conftest.py              # Shared fixtures and configuration
├── test_client.py           # Unit tests for TennisLadderClient
├── test_server.py           # Unit tests for MCP server tools
└── test_integration.py      # Integration tests

测试覆盖率

测试套件涵盖:

  • 客户端初始化 不同的城市
  • API方法调用 (获取设置,获取锦标赛排名,获取用户信息)
  • 错误处理 (HTTP错误,意外错误)
  • 资源清理 (客户关闭)
  • MCP工具处理程序 (全部三种工具)
  • 多城市支持 在不同的网球排名系统中
  • 端到端流程 从工具调用到API响应
  • 并发请求处理
  • 数据验证和JSON序列化

安装测试依赖项

项目中已包含测试依赖项。请使用以下命令进行安装:

uv sync

所需的测试包:

  • pytest
  • \pytest-asyncio\ 翻译成中文是“pytest 异步支持插件”或“用于 pytest 的异步测试插件”。这个插件允许在 pytest 中编写和运行异步测试,支持使用 \async\ 和 \await\ 关键字的异步代码
  • \pytest-cov\ 翻译成中文是“pytest 覆盖率插件”
  • \pytest-mock\ 翻译为中文是“pytest 模拟插件”或“用于 pytest 的 mock 工具”。这个插件或工具主要用于在使用 pytest 进行单元测试时,提供模拟(mock)功能,以便测试代码中的函数、方法或对象,尤其是在这些被测试的元素依赖于外部资源或复杂逻辑时

持续测试

对于开发,您可以以监视模式运行测试:

pytest --watch

或者使用 pytest-xdist 进行并行执行:

pytest -n auto

API终端点

服务器根据城市参数动态连接到网球排名API端点:

  • POST https://{city}.tennis-ladder.com/api/settings - 联赛设置
  • GET https://{city}.tennis-ladder.com/api/tournaments/{id} - 锦标赛排名
  • PUT https://{city}.tennis-ladder.com/api/users/0 - 用户信息

支持的城市Cary(默认)、Austin、Charlotte、Raleigh以及其他Tennis Ladder实例

配置

在您的MCP设置中,服务器已配置于: /Users/UserName/Library/Application Support/Code/User/globalStorage/kilocode.kilo-code/settings/mcp_settings.json

{
  "mcpServers": {
    "tennis-ladder": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/UserName/PathToMCP/tennis-ladder-server",
        "run",
        "tennis-ladder-server"
      ]
    }
  }
}

故障排除

服务器无法启动

  1. 检查Python版本: python --version (需要3.10+)
  2. 验证uv是否已安装: uv --version
  3. 重新安装依赖项: uv sync

API 错误

  • 验证网球积分排名网站是否可访问
  • 检查网络连接
  • 检查响应中的错误信息

许可证

麻省理工学院(MIT)

目录标签

目录标签

Python云端部署Docker网球联赛本地部署多城市支持球员统计锦标赛排名

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP