OpenLigaDb API交互工具

一个集成.NET ChatClient和MCP Server的项目,用于与OpenLigaDb API交互,并提供监控功能。

  • by FelixDamrau
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 felixdamrau/openligadbllm

使用说明

OpenLigaDbLlm

该项目展示了a的集成。NET ChatClient,带有MCP(模型上下文协议)服务器,该服务器提供与OpenLiaDb API交互的工具。该项目包括一个ChatClient、一个MCP服务器,并使用Docker Compose来设置监控堆栈(OpenTetry Collector、Loki和Grafana)。

项目结构

  • src/ChatWithTools:包含。NET聊天客户端应用程序。
  • src/McpServer:包含。NET MCP服务器应用程序与OpenLigaDb工具。
  • docker-compose.yml:定义使用Docker运行OpenTetry收集器、Loki和Grafana的服务。
  • otel-collector-config.yaml:OpenTetry收集器的配置。

先决条件

  • 已安装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
    

    此命令将以分离模式启动OpenTetry收集器、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
    

    在启动ChatClient之前,请确保McpServer正在运行。

MCP服务器

这 McpServer 该项目实现了一个MCP服务器,它公开了和OpenLiaDb API交互的工具。MCP兼容客户端(如附带的ChatClient)可以使用这些工具从OpenLigaDb检索数据。

MCP服务器工具

MCP服务器公开了以下工具:

  • getAvailableLeagues:获取所有可用联赛
  • getFilteredLeagues:获取与给定筛选器匹配的所有可用联赛
  • getAllTeams:获取给定赛季中给定联赛的所有球队
  • echo:呼应给定的信息。此工具主要用于调试目的。

聊天客户端

这 ChatWithTools 项目是一个。NET控制台应用程序,充当MCP服务器的客户端。它演示了如何连接到MCP服务器,发现可用的工具,并使用它们执行操作(在本例中,与OpenLigaDb API交互)。

确保您已设置 HELICONE_API_KEY 和 OPENROUTER_API_KEY 运行ChatClient之前的环境变量。

要通过ChatClient使用MCP工具,您将与正在运行的 ChatWithTools 控制台应用程序。具体的命令或接口将取决于 ChatWithTools 项目。有关如何与ChatClient交互和使用MCP工具的详细信息,请参阅ChatClient的输出或文档(如果有的话)。

监测(开放遥测)

该项目包括使用OpenTetry为监控堆栈设置Docker Compose:

  • OpenTetry收集器: 从应用程序收集遥测数据。
  • 位置 : 日志聚合系统。
  • 格拉法娜: 数据可视化和仪表板工具。

您可以访问Grafana http://localhost:3000 启动Docker容器后。

监控(Helicone)

该项目还支持通过Helicone监控和记录API调用。要启用此功能,请确保您已设置 HELICONE_API_KEY 环境变量。

链接