使用说明
项目简介
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',获取项目和用户信息。
- 内置丰富的工具集,涵盖 SingleStore 数据库的常用操作,例如:
- 基于 JSON-RPC 协议通信:
- 使用 JSON-RPC 协议与 MCP 客户端进行通信,接收客户端请求并返回 JSON-RPC 响应。
- 支持 Stdio 传输协议:
- 服务器通过标准输入/输出流 (stdio) 与客户端通信。
安装步骤
-
通过 Smithery 安装 (推荐 Claude Desktop 用户): 如果使用 Claude Desktop 等 MCP 客户端,推荐使用 Smithery 自动安装:
npx -y @smithery/cli install @singlestore-labs/mcp-server-singlestore --client claude -
克隆仓库本地安装: 如果需要本地开发或自定义配置,可以克隆仓库并手动安装:
git clone https://github.com/singlestore-labs/mcp-server-singlestore.git cd mcp-server-singlestore pip install -e . -
使用 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
基本使用方法
-
启动 MCP 服务器: 根据安装方式,在配置好环境变量后,运行 'singlestore-mcp-client' 命令启动服务器。
-
配置 MCP 客户端: 在 MCP 客户端(如 Claude Desktop)中,按照上述 “服务器配置” 部分的信息配置连接到 'SingleStore MCP Server'。
-
使用 LLM 客户端与 SingleStore 交互: 连接成功后,即可在 LLM 客户端中使用自然语言指令,通过 MCP 服务器提供的工具与 SingleStore 数据库进行交互,例如查询数据、创建 Notebook 等。 LLM 客户端会根据用户指令,自动调用 MCP 服务器提供的工具,并展示执行结果。
例如,在 Claude Desktop 中,您可以提问 "列出我的工作空间组" 或 "在我的虚拟工作空间上执行 SQL 查询 'SELECT * FROM my_table'",MCP 服务器会调用相应的工具并返回结果给 Claude Desktop。
信息
分类
数据库与文件