Token导航 LogoToken导航TokenDH.com
MCP demonstration logo
AI代理未说明官方级别未说明来源级核验

MCP demonstration

MCP Server

一个基于JSON-RPC 2.0协议的标准化模型上下文协议(MCP)实现,支持MongoDB操作和自然语言查询处理。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
自然语言处理JavaScript本地部署JSON-RPC

安装说明

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

作者 / 组织

Pvbhat123

提供方

Pvbhat123

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

JSON-RPC的标准MCP实现

这是一个使用JSON-RPC 2.0协议的符合标准的模型上下文协议(MCP)实现。

建筑

1.MCP服务器(端口4001)

  • 将MongoDB操作实现为MCP工具
  • 使用JSON-RPC 2.0协议
  • 支持标准MCP方法: initialize, tools/list, tools/call
  • 使用标准错误代码进行正确的错误处理

2.MCP客户端(端口4002)

  • 充当主机和服务器之间的协调器
  • 从多个服务器维护工具注册表
  • 使用JSON-RPC协议路由工具调用
  • 支持服务器初始化握手

3.MCP主机(交互式CLI)

  • 与Gemini AI集成的用户界面
  • 通过JSON-RPC与客户端通信
  • 处理自然语言查询
  • 格式化结果以供用户使用

与REST实现的主要区别

  1. 协议:使用JSON-RPC 2.0而不是REST
  2. 消息格式:所有请求/响应都遵循JSON-RPC信封:
   {
     "jsonrpc": "2.0",
     "method": "method_name",
     "params": {},
     "id": "unique_id"
   }
  1. 错误处理:标准JSON-RPC错误代码
  2. 单端点:所有通信均通过 /rpc 端点
  3. 请求关联:使用请求ID进行跟踪
  4. 初始化:组件之间正确的协议握手

安装说明

先决条件

  • 已安装Node.js
  • 运行在本地主机上的MongoDB:27017
  • Gemini API密钥

安装

  1. 为每个组件安装依赖关系:
   cd mcp_standard/mcp_server
   npm install

   cd ../mcp_client
   npm install

   cd ../mcp_host
   npm install
  1. 设置环境变量:

创建一个 .env 文件在 mcp_standard/mcp_host/:

   GEMINI_API_KEY=your-gemini-api-key

运行系统

在单独的终端中启动每个组件:

  1. 启动MCP服务器:
   cd mcp_standard/mcp_server
   npm start
  1. 启动MCP客户端:
   cd mcp_standard/mcp_client
   npm start
  1. 启动MCP主机(交互式CLI):
   cd mcp_standard/mcp_host
   npm start

测试实施

所有组件运行后,您可以通过Host CLI与系统交互:

👤 Your question: list all databases
🤖 Processing...

📋 Response:
============================================================
I found 3 databases in your MongoDB instance:

1. **admin** - System database (320 KB)
2. **config** - Configuration database (192 KB)  
3. **local** - Local database (256 KB)

All databases are currently active and not empty.
============================================================

验证MCP合规性

此实现遵循MCP标准:

  1. 使用JSON-RPC 2.0协议 用于所有通信
  2. 实施所需方法: initialize, tools/list, tools/call
  3. 遵循标准错误代码 (-32700至-32603)
  4. 支持协议版本协商
  5. 使用适当的请求/响应相关性 带ID
  6. 实施工具发现 参数使用JSON模式

API示例

初始化请求

{
  "jsonrpc": "2.0",
  "method": "initialize",
  "params": {
    "protocolVersion": "1.0",
    "clientInfo": {
      "name": "mcp-client",
      "version": "1.0.0"
    }
  },
  "id": "init_1"
}

工具调用请求

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "list_collections",
    "arguments": {
      "database_name": "mydb"
    }
  },
  "id": "call_1"
}

监控和日志记录

JSON-RPC消息日志

该实现包括全面的JSON-RPC消息日志记录。每个组件以格式化的方式记录所有请求和响应:

日志文件:

  • logs/mcp-server-jsonrpc.log -服务器传入/传出消息
  • logs/mcp-client-jsonrpc.log -来自主机的客户端传入消息
  • logs/mcp-client-outgoing-jsonrpc.log -客户端向服务器发送消息
  • logs/mcp-host-jsonrpc.log -向客户端发送邮件

日志格式示例:

============================================================
Timestamp: 2024-01-20T10:30:45.123Z
Component: mcp-server
Direction: INCOMING
Type: REQUEST
============================================================
{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "params": {},
  "id": "req_1234567890_1"
}
============================================================

============================================================
Timestamp: 2024-01-20T10:30:45.125Z
Component: mcp-server
Direction: OUTGOING
Type: RESPONSE
============================================================
{
  "jsonrpc": "2.0",
  "result": {
    "tools": [
      {
        "name": "list_databases",
        "description": "List all databases in MongoDB instance",
        "inputSchema": {
          "type": "object",
          "properties": {},
          "required": []
        }
      }
    ]
  },
  "id": "req_1234567890_1"
}
============================================================

查看日志

使用附带的日志查看器进行实时监控:

cd mcp_standard
node view-logs.js

这提供了:

  • 实时日志跟踪
  • 颜色编码输出
  • 所有组件的组合视图
  • 日志清除功能

标准日志文件

每个组件还维护标准操作日志:

  • mcp-server-standard.log
  • mcp-client-standard.log
  • mcp-host-standard.log

目录标签

目录标签

自然语言处理JavaScript本地部署JSON-RPCMCP协议MongoDB工具AI集成

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP