自然语言数据库查询工具

Yellowbrick MCP Server 是一款允许用户通过自然语言查询Yellowbrick数据库的工具,支持OpenAI嵌入的文档搜索功能。

  • by YellowbrickData
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 YellowbrickData/YellowbrickMCP

使用说明

黄砖MCP服务器

Yellowbrick MCP Server提供了一个无缝的界面,可以使用自然语言查询Yellowbrick数据库,并提供由OpenAI嵌入支持的可选文档搜索。


目录


入门指南

  1. 设置环境变量:
    • YELLOWBRICK_CONNECTION (Yellowbrick DB连接字符串;这将成为“默认”数据库)
    • YELLOWBRICK_CONNECTIONS (可选,一个附加命名连接的JSON对象——请参见 配置)
  • OPENAI_API_KEY (文档搜索需要)
  • EMBEDDING_TABLE (可选,用于矢量文档搜索)
  1. 构建Docker镜像:
    source build.src
    

与克劳德一起跑步

  1. 按照上述步骤构建Docker镜像。

  2. 将以下段添加到您的Claude配置中: /Users/[Your Username]/Library/Application Support/Claude/claude_desktop_config.json

    {
      "globalShortcut": "",
      "mcpServers": {
        "Yellowbrick": {
          "command": "docker",
          "args": [
            "run", "-i", "--rm",
            "-e", "YELLOWBRICK_CONNECTION",
            "-e", "OPENAI_API_KEY",
            "-e", "EMBEDDING_TABLE",
            "ybmcp"
          ],
          "env": {
            "YELLOWBRICK_CONNECTION": "postgresql://[user]:[pwd]@[host]:[port]/[dbname]",
            "OPENAI_API_KEY": "sk-XXXXXXXXX",
            "EMBEDDING_TABLE": "my_embeddings"
          }
        }
      }
    }
    
  3. 重启克劳德。

  4. 如果您已加载PremDB模式(来自示例),请尝试以下查询:

    • “有多少场比赛以平局告终?”
    • “每支球队的输赢记录是什么?”
    • “描述一下比赛桌?”
    • “团队表中有多少行?”

使用VS代码运行

  1. 按 CMD+SHIFT+P,类型 MCP: Add,并选择 stdio.

  2. 输入以下命令(用您的凭据替换占位符):

    docker run -i --rm \
      -e YELLOWBRICK_CONNECTION=postgresql://[user]:[pwd]@[host]:[port]/[dbname] \
      -e OPENAI_API_KEY=sk-XXXXXXXX \
      -e EMBEDDING_TABLE=mcpvdb2 \
      -e READ_ONLY=true \
      ybmcp
    

配置

  • 黄砖连接:您的Yellowbrick PostgreSQL连接字符串。用作 "default" 数据库。
  • 黄砖连接:可选JSON对象添加更多命名连接,例如。
    {"prod": "postgresql://user:pwd@prod-host:5432/db", "dev": "postgresql://user:pwd@dev-host:5432/db"}
    
    每个工具都有一个可选 database 参数(默认值: "default")选择其中的哪一个 为了对抗。拨打 list_databases 工具,查看配置了什么以及哪个是 默认情况下,它只报告此服务器启动时的连接,不查询 Yellowbrick表示数据库的存在。3个模式信息资源(yellowbrick://...)总是 目标 "default" 连接不管 YELLOWBRICK_CONNECTIONS.
  • OPENAI_API密钥:您的OpenAI API密钥(用于文档搜索)。
  • 嵌入表:向量嵌入表的名称(可选)。
  • 只读:设置为 true (默认)禁用写入操作(INSERT、UPDATE、DELETE等)以确保安全。设为 false 以允许写查询。

示例问题

如果您已加载PremDB模式(来自示例),请尝试以下查询:

  • “有多少场比赛以平局告终?”
  • “每支球队的输赢记录是什么?”
  • “描述一下比赛桌?”
  • “团队表中有多少行?”

有关更多详细信息,请参阅中的评论 mcp.json 以及Dockerfile。