Token导航 LogoToken导航TokenDH.com
KONECT MCP SERVER logo
数据服务未说明官方级别未说明来源级核验

KONECT MCP SERVER

MCP Server

一款为Drivio应用提供数据库查询功能的MCP服务器,支持MongoDB集合查询、模型验证及错误处理。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
数据分析TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

LogicSquare-1996

提供方

LogicSquare-1996

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Konect数据库MCP服务器

为Drivio应用程序提供数据库查询功能的MCP(模型上下文协议)服务器。此服务器允许您使用主应用程序中使用的相同模型和模式查询MongoDB集合。

✅ 当前状态

完全工作:

  • ✅ 所有19款车型均已自动加载并注册
  • ✅ MongoDB连接(本地和Atlas)
  • ✅ 数据库查询工作正常
  • ✅ 模型验证和错误处理
  • ✅ 通过真实数据库查询进行测试和验证

测试型号: 所有19个模型均已成功加载:插件、ApiKey、BlockedDate、预订、日历、对话、文档、收藏夹、密钥库、消息、通知、支付方式、支付方法、审核、角色、支持请求、交易、用户、车辆

特性

  • 自动模型加载:自动从driveio web服务加载所有19款Mongoose车型
  • 真实数据库查询:具有完全查询支持的直接MongoDB连接
  • MongoDB查询运算符:支持$gt、$gte、$lt、$lte、$in、$ne、$regex等。
  • 现场投影:在结果中包含/排除特定字段
  • 排序和分页:完全支持排序和分页(跳过/限制)
  • 人口:填充引用的文档(例如,预订中的客人、主人、车辆)
  • 类型安全:已验证的模型名称和查询参数
  • 错误处理:全面的错误处理,信息清晰

可用模型

服务器支持查询以下模型:

  • 用户 -用户帐户和配置文件
  • 车辆 -车辆列表
  • 预订 -租赁预订
  • 交易 -付款交易
  • 审查 -用户和车辆评论
  • 附加组件 -附加服务/功能
  • 对话 -用户对话
  • 消息 -聊天信息
  • 文档 -上传文件
  • 支付方式 -付款方式
  • 付款方式 -支付方式
  • 通知 -用户通知
  • 最爱 -用户收藏夹
  • 支持请求 -支持票
  • 日历 -可用性日历
  • 封锁日期 -阻止日期
  • 角色 -用户角色
  • 密钥库 -身份验证密钥
  • ApiKey -API密钥

安装

  1. 安装依赖项:
npm install
  1. 配置环境变量:
cp env.example .env
# Edit .env and set your MONGODB_CONNECTION_STRING
  1. 构建TypeScript代码:
npm run build

用法

运行服务器

npm start

或者直接运行:

node build/index.js

服务器在stdio上运行,并通过模型上下文协议进行通信。

测试MCP服务器

快速测试

构建后,用一个简单的查询测试服务器:

cd /home/mrinal/Desktop/Drivio-Application/KONECT_MCP_Server
MONGODB_CONNECTION_STRING="your-connection-string" NODE_ENV=development SALT_ROUNDS=10 \
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"query_database","arguments":{"model":"User","query":{},"limit":1}}}' | \
node build/index.js

您应该看到:

  • Connected to MongoDB
  • Models loaded successfully
  • Registered models: [ 'AddOn', 'ApiKey', 'BlockedDate', 'Booking', ... ]
  • 带有查询结果的JSON响应

步骤1:验证构建成功

运行后 npm run build,检查是否已创建构建目录:

ls -la build/

您应该看到:

  • build/index.js (可执行)
  • build/loadModels.js

步骤2:测试服务器启动

运行服务器并检查启动消息:

MONGODB_CONNECTION_STRING="your-connection-string" NODE_ENV=development SALT_ROUNDS=10 \
node build/index.js

预期产量:

Connected to MongoDB
Models loaded successfully
Registered models: [
  'AddOn',        'ApiKey',
  'BlockedDate',  'Booking',
  'Calendar',     'Conversation',
  'Document',     'Favorite',
  'Keystore',     'Message',
  'Notification', 'PaymentMethod',
  'PayoutMethod', 'Review',
  'Role',         'SupportRequest',
  'Transaction',  'User',
  'Vehicle'
]
Konect Database MCP Server running on stdio

注: 服务器将等待stdin上的输入。按Ctrl+C退出。

步骤3:测试模型加载

验证所有19个模型是否已加载:

MONGODB_CONNECTION_STRING="your-connection-string" NODE_ENV=development SALT_ROUNDS=10 \
node build/index.js 2>&1 | grep "Registered models"

您应该看到列出的所有19个型号。

步骤4:测试数据库查询

使用JSON-RPC测试一个简单的查询:

MONGODB_CONNECTION_STRING="your-connection-string" NODE_ENV=development SALT_ROUNDS=10 \
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"query_database","arguments":{"model":"User","query":{},"limit":1}}}' | \
node build/index.js 2>&1 | grep -A 20 '"success"'

预期: JSON响应 "success": true 以及查询结果。

步骤5:测试不同的模型

测试各种模型以确保它们都能正常工作:

# Test User model
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"query_database","arguments":{"model":"User","query":{"status":"active"},"limit":2}}}' | \
MONGODB_CONNECTION_STRING="your-connection-string" NODE_ENV=development SALT_ROUNDS=10 \
node build/index.js 2>&1 | tail -5

# Test Vehicle model
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"query_database","arguments":{"model":"Vehicle","query":{"isActive":true},"limit":2}}}' | \
MONGODB_CONNECTION_STRING="your-connection-string" NODE_ENV=development SALT_ROUNDS=10 \
node build/index.js 2>&1 | tail -5

步骤6:使用过滤器和排序进行测试

测试高级查询功能:

# Test with filter and sort
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"query_database","arguments":{"model":"User","query":{"status":"active"},"sort":{"createdAt":-1},"limit":3}}}' | \
MONGODB_CONNECTION_STRING="your-connection-string" NODE_ENV=development SALT_ROUNDS=10 \
node build/index.js 2>&1 | grep -A 10 '"success"'

步骤7:验证数据库连接

在测试查询之前,请确保:

  1. MongoDB是可访问的(本地或Atlas)
  2. 连接字符串正确
  3. 数据库包含数据

手动测试MongoDB连接:

# For MongoDB Atlas
mongosh "mongodb+srv://user:password@cluster.mongodb.net/database"

# For local MongoDB
mongosh "mongodb://localhost:27017/database"

步骤8:使用MCP客户端(Claude Desktop等)

要与Claude Desktop等MCP客户端一起使用:

  1. 将服务器添加到MCP客户端配置中(通常在 ~/.config/Claude/claude_desktop_config.json):
{
  "mcpServers": {
    "konect-database": {
      "command": "/home/mrinal/.nvm/versions/node/v18.20.8/bin/node",
      "args": [
        "/home/mrinal/Desktop/Drivio-Application/KONECT_MCP_Server/build/index.js"
      ],
      "env": {
        "MONGODB_CONNECTION_STRING": "mongodb+srv://user:password@cluster.mongodb.net/database",
        "NODE_ENV": "development",
        "SALT_ROUNDS": "10"
      }
    }
  }
}

重要提示:

  • 使用Node.js的完整路径(或确保 node 在PATH中)
  • 使用绝对路径 build/index.js
  • 包含 NODE_ENVSALT_ROUNDS 用于模型加载
  • 使用实际的MongoDB连接字符串
  1. 完全重新启动克劳德桌面
  2. 通过询问“列出所有可用的MCP工具”来验证工具是否可用
  3. query_database 工具现在应该可用

故障排除

构建错误:

  • npm install 确保所有依赖项都已安装
  • 检查是否安装了TypeScript: npm list typescript
  • 验证Node.js版本: node --version (应大于等于18.0.0)

运行时错误:

MongoDB连接错误:

  • 检查MongoDB是否正在运行: mongosh --versionmongo --version
  • 验证中的连接字符串 .env
  • 手动测试连接: mongosh "your-connection-string"

找不到模型错误:

  • 检查所有19个型号是否已注册:在stderr输出中查找“已注册型号:”
  • 确保 drivio-web-service/database/mongoose/models 目录存在
  • 验证 drivio-web-service/config.js 存在(模型需要它来进行saltRound)
  • 检查一下 NODE_ENVSALT_ROUNDS 设置环境变量

未加载的型号:

  • 模型使用CommonJS并要求 config.js 来自driveio web服务
  • 确保 drivio-web-service 目录位于正确的相对路径: ../../drivio-web-servicebuild/loadModels.js
  • 检查一下 keys/private.pemkeys/public.pem 存在于drivio web服务中(config.js读取它们)
  • 在模型加载之前验证MongoDB连接是否已建立

工具:查询_数据库

使用MongoDB查询语法查询数据库。

参数

  • 模型 (必填):要查询的车型名称(例如,“用户”、“车辆”、“预订”)
  • 怎么翻译 (必填):MongoDB查询对象
  • 投影 (可选):要包含/排除的字段
  • 排序 (可选):排序顺序
  • 限制 (可选):最大结果数(默认值:100,最大值:1000)
  • 跳过 (可选):要跳过的文档数(用于分页)
  • 填充 (可选):要填充的字段名数组

查询示例

查询活跃用户:

{
  "model": "User",
  "query": {
    "status": "active"
  },
  "limit": 10
}

按类别查询车辆:

{
  "model": "Vehicle",
  "query": {
    "category": "SUV",
    "isActive": true,
    "status": "active"
  },
  "sort": {
    "createdAt": -1
  },
  "limit": 20
}

查询具有日期范围的预订:

{
  "model": "Booking",
  "query": {
    "startDate": {
      "$gte": "2024-01-01T00:00:00.000Z"
    },
    "status": "confirmed"
  },
  "populate": ["guest", "host", "vehicle"],
  "sort": {
    "startDate": 1
  }
}

带字段投影的查询:

{
  "model": "User",
  "query": {
    "status": "active"
  },
  "projection": {
    "name": 1,
    "emails": 1,
    "status": 1
  },
  "limit": 50
}

使用MongoDB运算符进行查询:

{
  "model": "Review",
  "query": {
    "rating": {
      "$gte": 4
    }
  },
  "sort": {
    "rating": -1,
    "createdAt": -1
  }
}

使用正则表达式查询:

{
  "model": "Vehicle",
  "query": {
    "make": {
      "$regex": "Toyota",
      "$options": "i"
    }
  }
}

响应格式

服务器返回一个JSON对象:

  • 成功:表示查询成功的布尔值
  • 模型:查询的模型
  • 怎么翻译:执行的查询
  • 计数:返回的结果数
  • 总数:匹配文档的总数
  • 跳过:跳过的文档数
  • 限制:最大结果数
  • 还有更多:布尔值,指示是否有更多结果
  • 结果:匹配文档数组

错误处理

服务器处理各种错误情况:

  • 型号名称无效
  • MongoDB连接错误
  • 查询语法无效
  • 数据库操作错误

所有错误均以MCP错误格式返回,并带有相应的错误代码。

发展

此服务器遵循与天气MCP服务器相同的模式,使用 @modelcontextprotocol/sdk MCP协议实现包。

许可证

麻省理工学院

目录标签

目录标签

数据分析TypeScriptClaude数据库查询本地部署MongoDB模型验证MCP协议Drivio应用

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP