mcpField
O
OpenLigaDbLlm

OpenLigaDbLlm

本地服务
github.com/FelixDamrau游戏娱乐078 周前更新

关于 OpenLigaDbLlm

OpenLigaDbLlm 是一个 .NET 示例项目,包含连接 OpenLigaDb API 的 MCP 服务和聊天客户端,适合演示基于 MCP 的工具调用。项目还提供 Docker Compose 监控配置,整合 OpenTelemetry Collector、Loki 和 Grafana。

主要功能

  1. 01提供 .NET MCP 服务和聊天客户端
  2. 02通过工具查询 OpenLigaDb
  3. 03获取联赛及筛选后的联赛
  4. 04按联赛和赛季查询球队
  5. 05附带 OpenTelemetry 监控配置

适用场景

  1. 01演示聊天客户端连接 MCP 服务
  2. 02检索可用联赛和符合条件的联赛
  3. 03查询指定联赛赛季的球队
  4. 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# 应用程序和监控栈。

  1. 克隆仓库:

    git clone https://github.com/FelixDamrau/OpenLigaDbLlm.git
    cd OpenLigaDbLlm
    
  2. 使用 Docker Compose 启动监控栈:

    docker-compose up -d
    

    此命令将在分离模式下启动 OpenTelemetry Collector、Loki 和 Grafana 容器。

  3. 运行 .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 环境变量。

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。