Go足球MCP服务器
概述
Go Soccer是一个Go应用程序,它通过RESTful API和MCP(模型上下文协议)服务器为球队提供与足球相关的数据。它提供最新和即将到来的比赛、球员名单、转会历史和奖杯等信息。API抓取公共足球数据源并公开端点,以方便与其他应用程序或服务集成,而MCP服务器通过MCP协议实现与MCP兼容平台(如VS Code Copilot)的集成。
特性
- 最新比赛:检索给定球队的最新比赛。
- 下一场比赛:获取球队即将到来的比赛。
- 玩家:列出团队中的所有球员,包括位置、年龄和国家。
- 转账:查看球队最近的球员转会情况。
- 奖杯:列出一支球队赢得的所有奖杯。
入门指南
先决条件
- Go 1.20+已安装
- (可选)
make便于构建/运行
MCP服务器
除了RESTful API,该项目还实现了一个MCP(模型上下文协议)服务器,用于与MCP兼容的平台(如VS Code Copilot)集成。
运行MCP服务器
您可以直接使用Go运行MCP服务器:
$ go run cmd/soccer/mcp/main.go注: MCP服务器使用stdio传输,不公开HTTP端点。它旨在用于程序化集成,例如支持该协议的MCP代理或插件。
可用的MCP工具有:
- get_latest_matches
- get_ext_matches
- get_players
- get_transfers
- 营养素
每个工具都接受一个 team 参数,并返回类似于REST端点的数据。
安装
克隆存储库:
$ git clone https://github.com/Sup3r-Us3r/go-soccer.git
$ cd go-soccer构建应用程序:
$ make build运行应用程序
您可以直接使用Go运行服务器:
$ make run或者运行编译后的二进制文件:
$ make start服务器将于启动 http://localhost:8080.
API终点
所有端点都需要 teamName 查询参数。
1.获取最新比赛
- 端点:
GET /api/soccer/matches/latest?teamName= - 答复:
{
"matches": [
{
"title": "Team A vs Team B",
"home": "Team A",
"homeLogo": "https://...",
"away": "Team B",
"awayLogo": "https://...",
"date": "2025-08-01",
"scoreBoard": "2-1"
}
]
}2.获取下一场比赛
- 端点:
GET /api/soccer/matches/next?teamName= - 答复:
{
"matches": [
{
"title": "Team A vs Team C",
"home": "Team A",
"homeLogo": "https://...",
"away": "Team C",
"awayLogo": "https://...",
"date": "2025-08-15"
}
]
}3.获取玩家
- 端点:
GET /api/soccer/players?teamName= - 答复:
{
"players": [
{
"position": "Forward",
"player": "John Doe",
"age": "28",
"country": "Brazil"
}
]
}4.获取转账
- 端点:
GET /api/soccer/transfers?teamName= - 答复:
{
"transfers": [
{
"date": "2025-07-10",
"type": "In",
"player": "Jane Smith",
"team": {
"name": "Team D",
"url": "https://..."
}
}
]
}5.获得奖杯
- 端点:
GET /api/soccer/trophies?teamName= - 答复:
{
"trophies": [
{
"year": "2024",
"championship": {
"name": "Champions League",
"url": "https://..."
}
}
]
}错误处理
如果 teamName 参数丢失或无效,API将返回一条错误消息,其中包含相应的HTTP状态代码。
许可证
该项目根据MIT许可证获得许可。
