关于 OpenLigaDbLlm
OpenLigaDbLlm 是一个 .NET 示例项目,包含连接 OpenLigaDb API 的 MCP 服务和聊天客户端,适合演示基于 MCP 的工具调用。项目还提供 Docker Compose 监控配置,整合 OpenTelemetry Collector、Loki 和 Grafana。
主要功能
- 01提供 .NET MCP 服务和聊天客户端
- 02通过工具查询 OpenLigaDb
- 03获取联赛及筛选后的联赛
- 04按联赛和赛季查询球队
- 05附带 OpenTelemetry 监控配置
适用场景
- 01演示聊天客户端连接 MCP 服务
- 02检索可用联赛和符合条件的联赛
- 03查询指定联赛赛季的球队
- 04使用 Loki 和 Grafana 查看监控数据
MCP 相关
MCP 服务向兼容客户端提供查询 OpenLigaDb 的工具,包括联赛和球队查询。附带的 ChatWithTools 客户端可连接服务、发现工具并调用它们。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OpenLigaDbLlm
本项目演示了如何将 .NET ChatClient 与 MCP(模型上下文协议)服务集成,以提供与 OpenLigaDb API 交互的工具。项目包含一个 ChatClient、一个 MCP 服务,并使用 Docker Compose 搭建监控栈(OpenTelemetry Collector、Loki 和 Grafana)。
项目结构
src/ChatWithTools:包含 .NET ChatClient 应用程序。src/McpServer:包含提供 OpenLigaDb 工具的 .NET MCP 服务应用程序。docker-compose.yml:定义使用 Docker 运行 OpenTelemetry Collector、Loki 和 Grafana 的服务。otel-collector-config.yaml:OpenTelemetry Collector 的配置文件。
前置条件
- 已安装 Docker 和 Docker Compose。
- .NET SDK(运行 C# 项目所需)。
开始使用
本项目需要通过 Docker Compose 运行 C# 应用程序和监控栈。
-
克隆仓库:
git clone https://github.com/FelixDamrau/OpenLigaDbLlm.git cd OpenLigaDbLlm -
使用 Docker Compose 启动监控栈:
docker-compose up -d此命令将在分离模式下启动 OpenTelemetry Collector、Loki 和 Grafana 容器。
-
运行 .NET 项目:
运行应用程序之前,请确保已设置以下环境变量:
HELICONE_API_KEY:你的 Helicone API 密钥,用于通过 Helicone 监控和记录 API 调用。OPENROUTER_API_KEY:你的 OpenRouter API 密钥,用于向 OpenRouter API 进行身份验证。
进入相应的项目目录,并使用 .NET CLI 运行应用程序:
cd src/McpServer dotnet run # In a new terminal: cd src/ChatWithTools dotnet run请确保先运行 McpServer,再启动 ChatClient。
MCP 服务
McpServer 项目实现了一个 MCP 服务,提供与 OpenLigaDb API 交互的工具。MCP 兼容客户端(例如项目中包含的 ChatClient)可以使用这些工具从 OpenLigaDb 获取数据。
MCP 服务工具
MCP 服务提供以下工具:
getAvailableLeagues:获取所有可用联赛getFilteredLeagues:获取符合给定筛选条件的所有可用联赛getAllTeams:获取指定赛季中指定联赛的所有球队echo:回显给定消息。此工具主要用于调试。
ChatClient
ChatWithTools 项目是一个 .NET 控制台应用程序,充当 MCP 服务的客户端。它演示了如何连接到 MCP 服务、发现可用工具并使用这些工具执行操作(在本例中,与 OpenLigaDb API 交互)。
运行 ChatClient 之前,请确保已设置 HELICONE_API_KEY 和 OPENROUTER_API_KEY 环境变量。
如需通过 ChatClient 使用 MCP 工具,请与正在运行的 ChatWithTools 控制台应用程序交互。具体命令或界面取决于 ChatWithTools 项目中的实现。有关如何与其交互并使用 MCP 工具的详细信息,请参阅 ChatClient 的输出或文档(如有)。
监控(OpenTelemetry)
本项目包含一个使用 OpenTelemetry 搭建监控栈的 Docker Compose 配置:
- **OpenTelemetry Collector:**收集应用程序的遥测数据。
- **Loki:**日志聚合系统。
- **Grafana:**数据可视化和仪表板工具。
启动 Docker 容器后,可通过 http://localhost:3000 访问 Grafana。
监控(Helicone)
本项目还支持通过 Helicone 监控和记录 API 调用。若要启用此功能,请确保已设置 HELICONE_API_KEY 环境变量。
链接
- OpenLigaDB 网站:https://www.openligadb.de/
- OpenLigaDB Samples GitHub:https://github.com/OpenLigaDB/OpenLigaDB-Samples
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。