使用说明

项目简介

SingleStore MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端服务,它允许 LLM 客户端(如 Claude Desktop)通过标准化的 MCP 协议与 SingleStore 数据库进行交互。该服务器提供了一系列工具,使得用户可以使用自然语言轻松地执行复杂的数据库操作,例如查询数据、管理工作空间、创建和调度 Notebook 任务等。

主要功能点

  • 资源管理:
    • 支持管理和访问文本资源,例如示例代码中定义的 'note://' 和 'text://' 类型的资源,允许 LLM 客户端读取这些资源的内容。
  • 工具注册与执行:
    • 内置丰富的工具集,涵盖 SingleStore 数据库的常用操作,例如:
      • 工作空间信息查询: 'workspace_groups_info', 'workspaces_info', 'organization_info', 'list_of_regions'
      • SQL 执行: 'execute_sql', 'execute_sql_on_virtual_workspace',允许在指定的工作空间或虚拟工作空间上执行 SQL 查询。 请注意,工具描述中强调“仅限 SELECT 语句或查询,不修改数据”
      • 虚拟工作空间管理: 'list_virtual_workspaces', 'create_virtual_workspace',用于管理 SingleStore 的虚拟工作空间。
      • Notebook 管理: 'list_notebook_samples', 'create_notebook', 'list_shared_files', 'create_scheduled_job', 'get_job_details', 'list_job_executions', 'get_notebook_path',支持 Notebook 的创建、查询、调度等操作。
      • 项目和用户信息: 'get_project_id', 'get_user_id',获取项目和用户信息。
  • 基于 JSON-RPC 协议通信:
    • 使用 JSON-RPC 协议与 MCP 客户端进行通信,接收客户端请求并返回 JSON-RPC 响应。
  • 支持 Stdio 传输协议:
    • 服务器通过标准输入/输出流 (stdio) 与客户端通信。

安装步骤

  1. 通过 Smithery 安装 (推荐 Claude Desktop 用户): 如果使用 Claude Desktop 等 MCP 客户端,推荐使用 Smithery 自动安装:

    npx -y @smithery/cli install @singlestore-labs/mcp-server-singlestore --client claude
  2. 克隆仓库本地安装: 如果需要本地开发或自定义配置,可以克隆仓库并手动安装:

    git clone https://github.com/singlestore-labs/mcp-server-singlestore.git
    cd mcp-server-singlestore
    pip install -e .
  3. 使用 pip 安装: 也可以直接使用 pip 命令安装:

    pip install singlestore-mcp-server

服务器配置

MCP 客户端需要配置连接 MCP 服务器的命令和参数。对于 'mcp-server-singlestore',配置信息如下:

{
  "serverName": "SingleStore MCP Server",
  "command": "singlestore-mcp-client",
  "args": [],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,设置为 "SingleStore MCP Server"。
  • 'command': 启动 MCP 服务器的命令,这里设置为 'singlestore-mcp-client'。 如果使用 pip 安装,请确保 'singlestore-mcp-client' 命令在您的 PATH 环境变量中可用。 如果本地克隆安装,可能需要根据实际情况调整命令,例如使用 'python -m src.server.server' 或 'python src/server/server.py'。
  • 'args': 启动命令的参数,此服务器实现不需要额外的启动参数,因此设置为空数组 '[]'。
  • 'transport': MCP 服务器使用的传输协议,这里设置为 'stdio',表示使用标准输入输出流进行通信。

环境变量配置:

在运行 MCP 服务器之前,需要配置以下环境变量:

  • 'SINGLESTORE_API_KEY': 必需。 SingleStore Management API 的 API 密钥。您需要在 SingleStore 管理控制台中获取 API 密钥。
  • 'SINGLESTORE_DB_USERNAME' 和 'SINGLESTORE_DB_PASSWORD': 可选。 SingleStore 数据库的用户名和密码。如果在这里配置,则在调用 'execute_sql' 等工具时可以不必每次都提供数据库凭据。也可以在工具的参数中动态提供。

可以通过 '.env' 文件或者直接在 shell 环境中设置这些环境变量。例如,在 '.env' 文件中添加:

SINGLESTORE_API_KEY=your_api_key_here
# SINGLESTORE_DB_USERNAME=your_db_username_here
# SINGLESTORE_DB_PASSWORD=your_db_password_here

基本使用方法

  1. 启动 MCP 服务器: 根据安装方式,在配置好环境变量后,运行 'singlestore-mcp-client' 命令启动服务器。

  2. 配置 MCP 客户端: 在 MCP 客户端(如 Claude Desktop)中,按照上述 “服务器配置” 部分的信息配置连接到 'SingleStore MCP Server'。

  3. 使用 LLM 客户端与 SingleStore 交互: 连接成功后,即可在 LLM 客户端中使用自然语言指令,通过 MCP 服务器提供的工具与 SingleStore 数据库进行交互,例如查询数据、创建 Notebook 等。 LLM 客户端会根据用户指令,自动调用 MCP 服务器提供的工具,并展示执行结果。

例如,在 Claude Desktop 中,您可以提问 "列出我的工作空间组" 或 "在我的虚拟工作空间上执行 SQL 查询 'SELECT * FROM my_table'",MCP 服务器会调用相应的工具并返回结果给 Claude Desktop。

信息

分类

数据库与文件