首页/🏃体育/feyod-mcp

feyod-mcp

查看源码
2025-5-5
Words 1220Read Time 4 min
Score:85

基于FastAPI的MCP服务器,提供自然语言查询费耶诺德足球比赛数据的功能。

Feyod MCP Server

基于 FastAPI 的模型上下文协议(Model Context Protocol, MCP)服务器,用于通过自然语言查询 Feyenoord 足球比赛数据。

概述

该 MCP 服务器提供了一个自然语言接口,用于查询 Feyod: Feyenoord Open Data。底层数据库维护在 feyod GitHub 仓库 中。你需要从该仓库获取最新的 SQL 文件来设置所需的数据库。
该服务器使用 LangChain 实现以下功能:
  1. 将自然语言问题转换为 SQL 查询(可选地利用 few-shot 示例以提高准确性)。
  1. 验证生成的 SQL。
  1. 尝试使用 LLM(大语言模型)修复无效的 SQL。
  1. 在 SQLite 数据库中执行有效的 SQL。
  1. 返回原始查询结果。
LLM 和嵌入模型根据配置动态加载,通过提供者工厂(llm_factory.py)实现,允许轻松切换不同的提供者,如 OpenAI、Google 等。

安装步骤

  1. 克隆仓库:
    1. 创建并激活虚拟环境:
      1. 安装依赖:
        1. 设置数据库:

          配置

          mcp 目录下创建一个 .env 文件,包含以下变量:
          重要提示:
          • 将占位符 API 密钥替换为你的实际密钥。
          • 确保 LLM_PROVIDERllm_factory.py 中定义的提供者匹配。
          • 安装所选提供者所需的 LangChain 集成包(例如 pip install langchain-google-genai)。
          • 如果使用 EXAMPLE_SOURCE="mongodb",请按照之前的说明配置 MongoDB 设置。

          添加新的 LLM 提供者

          要添加对新提供者的支持:
          1. 安装包: 安装所需的 LangChain 集成包(例如 pip install langchain-anthropic)。
          1. 更新工厂: 编辑 llm_factory.py
              • 导入必要的 Chat......Embeddings 类。
              • PROVIDER_REGISTRY 字典中添加新条目,指定类、API 密钥的预期配置变量(api_key_config)以及任何默认参数(llm_args, embeddings_args)。
              • 如果新提供者需要特定的 API 密钥处理或构造函数逻辑,请更新 _get_api_keyget_llmget_embeddings 函数。
          1. 更新 .env / README: 将必要的 API 密钥添加到你的 .env 文件中。

          运行服务器

          完成设置和配置后,在 mcp 目录下运行以下命令:
          服务器将启动,通常在 http://localhost:8000(或在 .env 中指定的端口)上运行。

          API 端点

          • GET /: 基本健康检查。
          • GET /v1/tools: 返回概念工具定义(符合 MCP 要求)。
          • POST /v1/generate: 主要的 MCP 端点。
            • 请求体:
              • 成功响应(200 OK):
                • 错误响应(200 OK 但包含错误字段):

                依赖

                • Python 3.10+
                • 具体包依赖请参考 requirements.txt
                • 提供者特定的包(例如 langchain-openai, langchain-google-genai)。

                免责声明

                本项目与 Feyenoord Rotterdam N.V. 无关,因此不是官方的 Feyenoord 产品。通过此服务器提供的数据是非官方的,可能存在错误。
                上一篇
                web-development-toolbox
                下一篇
                r0idamcp