Singlestore Mcp Server

Singlestore Mcp Server

🚀 单店数据库MCP协议服务器

这是一个专为SingleStore数据库设计的单进程MCP(Multi-Protocol Communications Protocol)协议服务器。它支持通过标准MCP协议或基于HTTP的Server-Sent Events (SSE) 进行通信,能帮助用户更便捷地与SingleStore数据库交互。

🚀 快速开始

你可以使用Node.js来安装并启动该服务器:

# 安装依赖
npm install mcp-server-singlestore

# 启动服务器(假设环境变量已配置)
node src/index.ts

✨ 主要特性

  • 数据库连接:支持通过MCP协议或HTTP与SingleStore数据库建立连接。
  • 查询执行:能够执行SQL查询并返回结果。
  • SSE支持:提供基于HTTP的流数据传输功能,适用于实时数据推送场景。

📦 安装指南

使用Node.js进行安装:

npm install mcp-server-singlestore

启动服务器:

node src/index.ts

💻 使用示例

基本用法

# 安装依赖
npm install mcp-server-singlestore

# 启动服务器(假设环境变量已配置)
node src/index.ts

配置文件示例

const config = {
singleStoreHost: 'localhost',
singleStorePort: 3307,
singleStoreUser: 'admin',
singleStorePassword: 'password',
// 可选配置
sslCaBundle: '/path/to/ca.pem',
mcpServerPort: 4000,
sseEnabled: true,
ssePort: 4001
};

require('mcp-server-singlestore').start(config);

在Claude中使用

function useMCPTool(commands) {
return {
connectDatabase(options) {
// 实现数据库连接逻辑
},
executeQuery(query, params) {
// 执行查询并返回结果
}
};
}

export default useMCPTool;

在Windsurf中配置

const config = {
type: 'singlestore',
host: 'localhost',
port: 3307,
user: 'admin',
password: 'password'
};

// 初始化数据库连接
const db = new Database(config);

在Cursor中使用

const { Cursor } = require('cursor');

const cursor = new Cursor({
databaseConfig: {
type: 'singlestore',
host: 'localhost',
port: 3307,
user: 'admin',
password: 'password'
}
});

// 查询示例
cursor.query('SELECT * FROM users LIMIT 10', (err, result) => {
if (err) throw err;
console.log(result);
});

📚 详细文档

配置

运行时所需的环境变量包括:

属性 详情
SINGLESTORE_HOST 单店数据库的主机名或IP地址
SINGLESTORE_PORT 单店数据库的端口号
SINGLESTORE_USER 连接单店数据库的用户名
SINGLESTORE_PASSWORD 用户的密码
SINGLESTORE_DATABASE 默认使用的数据库名称
SSL_CA_BUNDLE 用于验证SSL证书的CA证书路径
MCP_SERVER_PORT MCP协议服务器监听的端口号
SSE_ENABLED 是否启用SSE支持
SSE_PORT SSE服务器监听的端口号

集成

介绍了在Claude、Windsurf和Cursor中的使用和配置方法,具体代码示例见使用示例部分。

安全注意事项

⚠️ 重要提示

  • 凭证管理:绝不要将凭证提交到版本控制系统中。
  • 网络隔离:在生产环境中,建议将数据库和应用服务置于受控的网络内部。
  • 权限控制:严格限制数据库连接用户的权限。

项目结构

src/
├── index.ts                 # 入口文件
├── server.ts                # MCP服务器实现
└── sseServer.ts             # SSE服务器实现

开发

安装依赖

npm install express mysql2

启动开发环境

npm run dev

故障排除

连接问题

⚠️ 重要提示

  • 检查目标数据库是否运行。
  • 确认网络连接正常。
  • 验证提供的凭证是否正确。

查询问题

⚠️ 重要提示

  • 确保查询语法正确无误。
  • 检查是否有权限访问相关数据表和列。

贡献指南

如发现任何问题,请通过GitHub提交Issue或Pull Request。

📄 许可证

项目采用MIT许可证,具体条款参见LICENSE文件。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-24 13:24

相似服务问题