MCP 服务器
该项目是针对给定 OpenAPI URL 的 MCP(多代理对话协议)服务器 - https://api.apis.guru/v2/specs/sportsdata.io/mlb-v3-projections/1.0/openapi.json ,使用 AG2 的MCP 构建器自动生成。
先决条件
- Python 3.9+
- pip 和 uv
安装
- 克隆存储库:
- 安装依赖项: .devcontainer/setup.sh脚本使用
pip install -e ".[dev]"
来安装依赖项。如果您没有使用 dev 容器,则可以手动运行此命令。或者,您可以使用uv
:
发展
该项目使用ruff
进行 linting 和格式化,使用mypy
进行静态类型检查,使用pytest
进行测试。
代码检查和格式化
要检查 linting 问题:
格式化代码:
这些命令也可以通过scripts/lint.sh脚本获得。
静态分析
运行静态分析(mypy、bandit、semgrep):
该脚本还在.pre-commit-config.yaml中配置为预提交钩子。
运行测试
要运行覆盖测试:
这将运行 pytest 并生成覆盖率报告。如果需要合并报告和清理,可以使用:
预提交钩子
该项目使用.pre-commit-config.yaml中定义的预提交钩子。要安装钩子:
每次提交之前钩子都会自动运行。
运行服务器
MCP 服务器可以通过mcp_server/main.py脚本启动。它支持多种传输模式(例如stdio
、 sse
)。
启动服务器(例如,在 stdio 模式下):
可以使用环境变量来配置服务器:
CONFIG_PATH
:JSON 配置文件的路径(例如mcp_server/mcp_config.json )。CONFIG
:包含配置的 JSON 字符串。SECURITY
:安全参数的环境变量(例如 API 密钥)。
有关如何加载这些内容的详细信息,请参阅mcp_server/main.py中的if __name__ == "__main__":
块。
tests/test_mcp_server.py文件演示了如何以编程方式启动服务器并与之交互以进行测试。
构建和发布
该项目使用 Hatch 进行构建和发布。要构建项目,请执行以下操作:
发布项目:
这些命令也可以通过scripts/publish.sh脚本获得。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
MCP 服务器可通过 SportsData.io API 与 MLB(美国职业棒球大联盟)v3 预测进行交互,从而允许通过自然语言访问棒球统计数据和预测。
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP Server implementation that integrates the Balldontlie API, to provide information about players, teams and games for the NBA, NFL and MLB.Last updated -42,72610JavaScriptMIT License
- -securityFlicense-qualityAn MCP Server that provides access to League of Legends statistics via the SportData.io API, allowing agents to query and analyze LoL competitive gaming data.Last updated -Python
- -securityFlicense-qualityAn MCP Server that enables interaction with MLB scores and statistics via the SportsData.io MLB V3 Scores API, allowing users to access baseball data through natural language queries.Last updated -Python
- -securityAlicense-qualityPython MCP server that provides comprehensive access to MLB statistics and baseball data through a FastAPI-based interface. Acts as a bridge between AI applications and MLB data sources, enabling seamless integration of baseball statistics, game information, player data, and more.Last updated -13PythonMIT License