MCP 数据库是一个遵循 MongoDB 协议设计的 JSON - RPC 服务,它支持多种数据库后端,如 PostgreSQL 和 MySQL。用户能够通过 JSON 格式的请求来执行 SQL 查询或 MongoDB 操作,为数据库操作提供了便利。
MCP 数据库允许你通过 JSON 格式的请求执行 SQL 查询或 MongoDB 操作。下面将为你介绍如何进行安装和启动服务。
npm install mcp-dbs
node index.js
默认监听地址为 http://localhost:3000
,配置文件位于 config.json
。更多详细信息请参考 GitHub。
{
"connectionString": "postgresql://username:password@localhost:5432/mydb"
}
{
"connectionString": "mysql://username:password@localhost:3006/mydb"
}
更多配置选项请参考 config.json。
以下是 SQL 查询示例:
{
"connectionId": "my-postgres-db",
"query": "SELECT * FROM users WHERE age > $1",
"params": [21]
}
以下是不同格式的 MongoDB 查询示例:
{
"connectionId": "my-mongodb-db",
"query": "[{\"$match\": {\"age\": {\"$gt\": 21}}}, {\"$sort\": {\"name\": 1}}]",
"params": ["users"]
}
{
"connectionId": "my-mongodb-db",
"query": "{\"collection\": \"users\", \"pipeline\": [{\"$match\": {\"age\": {\"$gt\": 21}}}, {\"$sort\": {\"name\": 1}}]}"
}
{
"connectionId": "my-mongodb-db",
"query": "db.getCollection('users').find({\"age\": {\"$gt\": 21}})"
}
{
"connectionId": "my-mongodb-db",
"query": "db.users.find({\"age\": {\"$gt\": 21}})"
}
{
"connectionId": "my-mongodb-db",
"query": "{\"find\": \"users\", \"filter\": {\"age\": {\"$gt\": 21}}}"
}
以下是 SQL 更新示例:
{
"connectionId": "my-postgres-db",
"query": "UPDATE users SET age = $1 WHERE id = $2",
"params": [25, 1]
}
以下是 MongoDB 更新示例:
{
"connectionId": "my-mongodb-db",
"query": "db.users.update({\"_id\": \"1\"}, {\"$set\": {\"age\": 25}})"
}
executeQuery
: 执行查询并返回结果。executeUpdate
: 执行更新操作并返回执行结果。executeBatch
: 批量执行多个 SQL 查询。execute
方法参数:
{
"method": "execute",
"params": {
"connectionId": string,
"query": string,
"params": array (可选)
}
}
返回结果:
{ status: 'success', result: [...] }
{ status: 'error', error: {...} }
executeUpdate
方法参数:
{
"method": "executeUpdate",
"params": {
"connectionId": string,
"query": string,
"params": array (可选)
}
}
返回结果:
{ status: 'success', result: [...] }
{ status: 'error', error: {...} }
运行测试:
npm test
更多详细信息请参考 tests。
如果这个项目对您有帮助,请考虑通过以下方式支持我们:
本项目采用 MIT License,更多信息请参考 LICENSE。