单店 MCP 服务器
用于与 SingleStore 数据库交互的模型上下文协议 (MCP) 服务器。该服务器提供用于查询表、描述模式和生成 ER 图的工具。
特征
列出数据库中的所有表
执行自定义 SQL 查询
获取详细的表信息,包括架构和示例数据
生成数据库模式的 Mermaid ER 图
SSL 支持,可自动获取 CA 包
正确的错误处理和 TypeScript 类型安全
先决条件
Node.js 16 或更高版本
npm 或 yarn
访问 SingleStore 数据库
SingleStore CA 包(自动从门户获取)
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 SingleStore MCP 服务器:
克隆存储库:
安装依赖项:
构建服务器:
环境变量
必需的环境变量
服务器需要以下环境变量来进行数据库连接:
所有这些环境变量都是服务器与 SingleStore 数据库建立连接所必需的。该连接使用 SSL 和 SingleStore CA 捆绑包,该捆绑包会自动从 SingleStore 门户获取。
可选环境变量
对于 SSE(服务器发送事件)协议支持:
设置环境变量
在您的 Shell 中:在运行服务器之前在终端中设置变量:
在客户端配置文件中:将变量添加到您的 MCP 客户端配置文件中,如下面的集成部分所示。
用法
协议支持
该服务器支持两种客户端集成协议:
MCP 协议:使用 stdio 通信的标准模型上下文协议,由 Claude Desktop、Windsurf 和 Cursor 使用。
SSE 协议:通过 HTTP 向需要实时数据流的基于 Web 的客户端和应用程序发送服务器发送事件。
两种协议都公开相同的工具和功能,允许您根据用例选择最佳的集成方法。
可用工具
列表表
列出数据库中的所有表
无需参数 GXP8
查询表
执行自定义 SQL 查询
参数:
查询:SQL 查询字符串 GXP9
描述表
获取表的详细信息
参数:
表:表名GXP10
生成图表
生成数据库模式的 Mermaid ER 图
无需参数 GXP11
运行读取查询
在数据库上执行只读(SELECT)查询
参数:
查询:执行 GXP12 的 SQL SELECT 查询
创建表
在数据库中创建具有指定列和约束的新表
参数:
table_name:要创建的表的名称
columns:列定义数组
table_options:可选表配置 GXP13
生成合成数据
生成合成数据并将其插入现有表中
参数:
table:要插入数据的表的名称
count:要生成的行数(默认值:100)
column_generators:针对特定列的自定义生成器
batch_size:每批插入的行数(默认值:1000)GXP14
优化SQL
使用 PROFILE 分析 SQL 查询并提供优化建议
参数:
查询:用于分析和优化 GXP15 的 SQL 查询
响应内容包括:
原始查询
性能概况摘要(总运行时间、编译时间、执行时间)
检测到的瓶颈列表
具有影响级别(高/中/低)的优化建议
有关索引、连接、内存使用和其他优化的建议
独立运行
构建服务器:
仅使用 MCP 协议运行服务器:
使用 MCP 和 SSE 协议运行服务器:
使用 SSE 协议
启用 SSE 后,服务器将公开以下 HTTP 端点:
根端点
返回服务器信息和可用端点。
健康检查
返回有关服务器的状态信息。
上交所连接
建立服务器发送事件连接以进行实时更新。
列表工具
返回所有可用工具的列表,与 MCP
list_tools
功能相同。还支持 MCP Inspector 兼容性的 POST 请求:
呼叫工具
使用提供的参数执行工具。
如果提供了
client_id
,则响应将流式传输到该 SSE 客户端。如果省略
client_id
,则直接在HTTP响应中返回响应。
还支持标准 MCP 格式以实现 MCP Inspector 兼容性:
SSE 事件类型
使用 SSE 连接时,服务器发送以下事件类型:
消息(未命名事件):当 SSE 连接成功建立时发送。
open :附加连接建立事件。
message :用于所有 MCP 协议消息,包括工具启动、结果和错误事件。
所有事件均遵循 MCP 协议使用的 JSON-RPC 2.0 格式。系统使用标准message
事件类型,以兼容 MCP Inspector 和大多数 SSE 客户端库。
JavaScript 客户端示例
与 MCP Inspector 一起使用
MCP Inspector 是一款基于浏览器的工具,用于测试和调试 MCP 服务器。要将其与此服务器配合使用,请执行以下操作:
使用一个命令启动服务器和 MCP 检查器:
或者仅启动服务器:
要单独安装并运行 MCP Inspector:
检查器将在您的默认浏览器中打开。
当 MCP 检查器打开时:
a. 在连接字段中输入 URL:
注意:实际端口可能因您的配置而异。请检查服务器启动日志,了解实际使用的端口。服务器将输出:
b. 确保选择“SSE”作为传输类型
c. 点击“连接”
如果您遇到连接问题,请尝试以下替代方法:
a.尝试连接到特定端点:
b.尝试使用您机器的实际 IP 地址:
c.如果在 Docker 中运行:
调试连接问题:
a. 通过在浏览器中访问http://localhost:8081来验证服务器是否正在运行
b. 检查服务器日志中的连接尝试
c. 尝试重启服务器和检查器
d. 确保没有其他服务正在使用端口 8081
e. 使用提供的脚本测试 SSE 连接:
或者手动使用 curl:
f. 验证您的防火墙设置是否允许连接到端口 8081
一旦连接,检查器将显示所有可用的工具并允许您以交互方式测试它们。
⚠️注意:使用 MCP 检查器时,必须使用完整的 URL,包括http://
前缀。
MCP 客户端集成
在 Claude Desktop 中安装
将服务器配置添加到位于以下位置的 Claude Desktop 配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
SSE_ENABLED 和 SSE_PORT 变量是可选的。如果您想启用支持 SSE 和标准 MCP 协议的 HTTP 服务器,请添加这两个变量。
重新启动Claude桌面应用程序
在与 Claude 的对话中,您现在可以使用 SingleStore MCP 服务器:
在 Windsurf 中安装
将服务器配置添加到位于以下位置的 Windsurf 配置文件:
macOS:
~/Library/Application Support/Windsurf/config.json
Windows:
%APPDATA%\Windsurf\config.json
SSE_ENABLED 和 SSE_PORT 变量是可选的,但通过 SSE HTTP 服务器启用附加功能。
重启风帆冲浪
在您与 Windsurf 中的 Claude 对话时,当 Claude 需要访问数据库信息时,SingleStore MCP 工具将自动可用。
在光标处安装
将服务器配置添加到您的 Cursor 设置中:
打开游标
前往“设置”(齿轮图标)> 扩展程序 > Claude AI > MCP 服务器
添加一个新的 MCP 服务器,配置如下:
SSE_ENABLED 和 SSE_PORT 变量允许 Web 应用程序通过 HTTP 连接到服务器并通过服务器发送事件接收实时更新。
重启光标
在 Cursor 中使用 Claude AI 时,SingleStore MCP 工具将可用于数据库操作。
安全注意事项
切勿将凭证提交给版本控制
使用环境变量或安全配置管理
考虑在生产环境中使用连接池机制
在 SingleStore 中实施适当的访问控制和用户权限
保持 SingleStore CA 包为最新版本
发展
项目结构
建筑
测试
故障排除
连接问题
验证环境变量中的凭据和主机信息
检查 SSL 配置
确保数据库可以通过网络访问
检查您的防火墙设置以允许到您的 SingleStore 数据库的出站连接
构建问题
清除 node_modules 并重新安装依赖项
验证 TypeScript 配置
检查 Node.js 版本兼容性(应为 16+)
MCP 集成问题
验证客户端配置中服务器的 build/index.js 文件的路径是否正确
检查客户端配置中所有环境变量是否均已正确设置
更改配置后重新启动客户端应用程序
检查客户端日志中是否有与 MCP 服务器相关的错误消息
首先尝试独立运行服务器,以验证其在客户端之外是否正常工作
贡献
分叉存储库
创建功能分支
提交你的更改
推送到分支
创建拉取请求
执照
MIT 许可证 - 详情请参阅许可证文件
Related MCP Servers
- AsecurityAlicenseAqualityA server that enables running SQL queries against IoTDB databases, providing data reading capabilities and schema information through a Model Context Protocol interface.Last updated -428Apache 2.0
- AsecurityAlicenseAqualityA server that connects to PostgreSQL databases and provides tools for safely exploring schemas, running read-only SQL queries, and performing data analysis with pre-built templates.Last updated -65951MIT License
- -securityAlicense-qualityA TypeScript-based server project with comprehensive development tooling including testing, linting, and build configurations.Last updated -MIT License
- -securityFlicense-qualityA server that exposes SQLite database operations as tools, allowing natural language interactions with a database through LlamaIndex and Ollama LLM integration.Last updated -1