这是一个专为SingleStore数据库设计的单进程MCP(Multi-Protocol Communications Protocol)协议服务器。它支持通过标准MCP协议或基于HTTP的Server-Sent Events (SSE) 进行通信,能帮助用户更便捷地与SingleStore数据库交互。
你可以使用Node.js来安装并启动该服务器:
# 安装依赖
npm install mcp-server-singlestore
# 启动服务器(假设环境变量已配置)
node src/index.ts
使用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);
function useMCPTool(commands) {
return {
connectDatabase(options) {
// 实现数据库连接逻辑
},
executeQuery(query, params) {
// 执行查询并返回结果
}
};
}
export default useMCPTool;
const config = {
type: 'singlestore',
host: 'localhost',
port: 3307,
user: 'admin',
password: 'password'
};
// 初始化数据库连接
const db = new Database(config);
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文件。