README
🚀 单店数据库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文件。
扫码联系在线客服