项目简介
Impect MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端服务,旨在将 Impect 体育分析平台的数据和功能暴露给大型语言模型 (LLM) 客户端。它通过一系列工具(Tools)封装了对 Impect API 的访问,包括获取赛事信息、队伍数据、球员表现指标以及触发数据更新等,使得 LLM 能够理解并利用这些专业的体育数据进行智能交互。
主要功能点
- 赛事数据查询: 获取特定赛季(Iteration)的比赛列表、队伍信息、球员列表、队伍和球员的 KPI 指标。
- 单场比赛详情: 查询特定比赛的详细信息、事件、事件 KPI、球员 KPI、球员得分、定位球数据、SkillCorner 帧映射等。
- 数据概览: 获取所有可用的 KPI、事件 KPI、球员档案、球员得分、队伍得分以及国家信息。
- 数据更新触发: 支持触发迭代数据、比赛数据、球员数据、帧映射和队伍数据的更新操作,可选择指定更新时间。
- OAuth2 认证: 安全地通过 OAuth2 协议与 Impect API 进行认证。
- 请求限流与重试: 内置了简单的请求限流机制和自动重试功能,确保 API 调用的稳定性和可靠性。
- 多种传输协议: 支持通过标准输入输出 (Stdio) 和服务器发送事件 (SSE/HTTP) 两种方式与 MCP 客户端通信。
安装步骤
- 克隆仓库: 将项目代码克隆到您的本地机器。
git clone https://github.com/tarekmartin/impect-mcp-server.git cd impect-mcp-server - 创建虚拟环境并安装依赖:
python3 -m venv venv source venv/bin/activate pip install fastmcp httpx - 配置环境变量: 在运行服务器之前,您需要设置 Impect API 的认证凭据。请将 '您的Impect用户名' 和 '您的Impect密码' 替换为您的实际凭据。
这些环境变量将用于服务器获取 OAuth2 访问令牌。export IMPECT_USERNAME="您的Impect用户名" export IMPECT_PASSWORD="您的Impect密码"
服务器配置 (供MCP客户端使用)
MCP 客户端(例如 Anthropic Claude 客户端)需要以下 JSON 格式的配置信息来连接并使用 Impect MCP 服务器:
{ "name": "Impect 体育数据", "command": ["python3", "/path/to/impect-mcp-server/src/impect_server.py"], "args": [], "description": "连接 Impect 体育分析 API 的 MCP 服务器,提供赛事、队伍、球员数据查询及更新功能。", "icon": "https://github.com/tarekmartin/impect-mcp-server/raw/main/icon.png", "transport": "stdio", "host": "0.0.0.0", "port": 8000 }
配置参数注释:
- 'name': 服务器在 MCP 客户端界面上显示友好的名称。
- 'command': 启动 MCP 服务器的命令和脚本路径。请将 '/path/to/impect-mcp-server/src/impect_server.py' 替换为您本地 'impect_server.py' 文件的实际绝对路径。
- 'args': 传递给服务器启动脚本的额外命令行参数列表(通常留空)。
- 'description': 服务器功能的简短描述,帮助用户了解其用途。
- 'icon': 可选的图标 URL,用于在客户端界面显示此服务器的视觉标识。
- 'transport': 服务器与客户端通信的协议。
- '"stdio"':标准输入输出模式,适合本地运行或作为桌面客户端的子进程。
- '"sse"':服务器发送事件模式,适合部署为 HTTP 服务,允许远程连接。
- 'host': 仅当 'transport' 设置为 '"sse"' 时需要配置。 MCP 服务器监听的 IP 地址(例如 '0.0.0.0' 表示监听所有可用网络接口)。
- 'port': 仅当 'transport' 设置为 '"sse"' 时需要配置。 MCP 服务器监听的端口号。
基本使用方法
-
启动服务器:
-
Stdio 模式 (本地运行):
source venv/bin/activate python3 src/impect_server.py服务器将在标准输入输出上等待 MCP 客户端的连接。适用于本地开发或桌面应用集成。
-
SSE 模式 (作为 HTTP 服务):
source venv/bin/activate export MCP_TRANSPORT="sse" export MCP_HOST="0.0.0.0" export MCP_PORT="8000" python3 src/impect_server.py服务器将在 'http://0.0.0.0:8000' 监听。如果部署到公共网络,请确保防火墙允许该端口的入站连接。
-
-
连接 MCP 客户端: 在您的 MCP 兼容客户端(如 Anthropic Claude)中,使用上述提供的 JSON 配置信息添加此服务器。
-
通过 LLM 交互: 一旦连接成功,您就可以通过与 LLM 对话来调用这些工具。例如,您可以询问 LLM:“获取所有赛季(iterations)的信息。” LLM 将识别并调用 'get_iterations' 工具来获取数据并提供给您。您还可以提出更具体的问题,如“获取 ID 为 1234 的比赛的球员 KPI”等。
信息
分类
网页与API