使用说明

项目简介

SingleStore MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型 (LLM) 应用提供与 SingleStore 数据库交互的能力。通过此服务器,LLM 客户端可以安全、便捷地访问 SingleStore 数据库中的数据和功能,实现上下文感知和外部功能调用。

主要功能点

  • 数据库表管理: 列出数据库中的所有表。
  • SQL 查询执行: 执行自定义 SQL 查询,获取数据库数据。
  • 表结构描述: 获取表的详细信息,包括模式定义和示例数据。
  • ER 图生成: 生成数据库模式的 Mermaid 实体关系图,方便数据库结构可视化。
  • 数据操作: 支持创建新表和向现有表插入合成数据。
  • SQL 优化: 分析 SQL 查询性能并提供优化建议。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/madhukarkumar/singlestore-mcp-server
    cd singlestore-mcp-server
  2. 安装依赖:
    npm install
  3. 构建项目:
    npm run build

服务器配置

要将 SingleStore MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要在客户端的 MCP 设置文件中添加服务器配置。以下是一个示例 'claude_desktop_config.json' 配置,请根据您的实际情况修改路径和数据库连接信息:

{
  "mcpServers": {
    "singlestore": {
      "command": "node",
      "args": ["/path/to/singlestore-mcp-server/build/index.js"],
      "env": {
        "SINGLESTORE_HOST": "your-host.singlestore.com",  // 您的 SingleStore 主机地址
        "SINGLESTORE_PORT": "3306",                       // 您的 SingleStore 端口
        "SINGLESTORE_USER": "your-username",             // 您的 SingleStore 用户名
        "SINGLESTORE_PASSWORD": "your-password",         // 您的 SingleStore 密码
        "SINGLESTORE_DATABASE": "your-database"           // 您的 SingleStore 数据库名
      }
    }
  }
}

配置参数说明:

  • 'server name': 服务器名称,例如 "singlestore",客户端通过此名称引用服务器。
  • 'command': 启动服务器的命令,这里是 'node',表示使用 Node.js 运行 JavaScript 文件。
  • 'args': 传递给 'command' 的参数,指向服务器构建后的入口文件 '/path/to/singlestore-mcp-server/build/index.js'。请替换为您的实际路径。
  • 'env': 环境变量配置,用于配置数据库连接信息:
    • 'SINGLESTORE_HOST': SingleStore 数据库主机地址。
    • 'SINGLESTORE_PORT': SingleStore 数据库端口,默认为 3306。
    • 'SINGLESTORE_USER': 连接 SingleStore 数据库的用户名。
    • 'SINGLESTORE_PASSWORD': 连接 SingleStore 数据库的密码。
    • 'SINGLESTORE_DATABASE': 要连接的 SingleStore 数据库名称。

注意: 请将 '/path/to/singlestore-mcp-server' 替换为您实际的项目路径。 确保在运行 MCP 客户端之前,您已经正确设置了这些环境变量。

基本使用方法

配置完成后,您可以使用 MCP 客户端提供的 'use_mcp_tool' 函数来调用 SingleStore MCP Server 提供的工具。以下是一些使用示例:

1. 列出所有表:

use_mcp_tool({
  server_name: "singlestore",
  tool_name: "list_tables",
  arguments: {}
})

2. 执行 SQL 查询:

use_mcp_tool({
  server_name: "singlestore",
  tool_name: "query_table",
  arguments: {
    query: "SELECT * FROM your_table LIMIT 5"  // 替换为您的 SQL 查询
  }
})

3. 描述表结构:

use_mcp_tool({
  server_name: "singlestore",
  tool_name: "describe_table",
  arguments: {
    table: "your_table"  // 替换为您要描述的表名
  }
})

4. 生成 ER 图:

use_mcp_tool({
  server_name: "singlestore",
  tool_name: "generate_er_diagram",
  arguments: {}
})

更多工具的使用方法,请参考仓库 README.md 文档中的 "Usage" 部分。

信息

分类

数据库与文件