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

MCP Client General

MCP Server

一个通用的、支持流式处理的MCP客户端,用于Node.js环境,支持JSON-RPC 2.0协议,提供CLI和TypeScript API。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
JavaScript本地部署JSON-RPCTypeScript

安装说明

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

作者 / 组织

daporun

提供方

daporun

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

mcp客户端概述

一个用于Node.js的通用、流友好的MCP(模型上下文协议)客户端。

](https://npmjs.com/package/mcp-client-general)

license

  • 生成一个与MCP兼容的服务器作为子进程
  • 通过标准输入/标准输出讲JSON-RPC 2.0
  • 忽视脆弱 Content-Length headers,并使用强大的JSON对象扫描程序
  • 支持每个进程的多个请求(逐行管道)
  • CLI+编程类型脚本API
该软件包旨在成为一个通用的开源MCP客户端。\ 它适用于任何符合MCP的服务器实现,包括\ mcp服务器概述 –生产就绪、插件驱动的MCP服务器:\ https://github.com/daporun/mcp-server-general

______________________________________________________________________

特性

  • 零配置文件 –运行内置MCP堆栈,无需手动接线
  • 子进程编排 –监视stderr、exit、error
  • 握手检测 –第一个有效的JSON对象=握手
  • 框架不可知解析 –安全忽略 Content-Length
  • JSON-RPC 2.0支持 –基于id的挂起映射,超时
  • CLI和库 –可从终端或TypeScript使用

______________________________________________________________________

安装

npm install -g mcp-client-general
# or
npm install mcp-client-general --save-dev

______________________________________________________________________

CLI使用情况

运行MCP服务器

mcp run "node dist/server.js"

发送单个JSON-RPC请求

echo '{"jsonrpc":"2.0","id":1,"method":"providers.list"}' \
  | mcp run "node ../mcp-server-general/dist/server.js"

输出示例

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "providers": [
      {
        "provider": "openai",
        "model": "gpt-4o-mini"
      }
    ]
  }
}

______________________________________________________________________

一次运行中有多个请求

printf '%s\n%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"providers.list"}' \
  '{"jsonrpc":"2.0","id":2,"method":"steps.list"}' \
  | mcp run "node ../mcp-server-general/dist/server.js"

输出示例

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": { "providers": [ /* ... */ ] }
}
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": { "steps": [ /* ... */ ] }
}

______________________________________________________________________

错误处理(JSON-RPC原生)

echo '{"jsonrpc":"2.0","id":3,"method":"scoring.schema"}' \
  | mcp run "node ../mcp-server-general/dist/server.js"
{
  "jsonrpc": "2.0",
  "id": 3,
  "error": {
    "code": -32601,
    "message": "Method not found: scoring.schema"
  }
}

______________________________________________________________________

程序化使用(TypeScript)

此示例显示了如何以编程方式启动MCP服务器并与之交互。

import { MCPProcess } from "mcp-client-general";
import type { JSONRPCRequest } from "mcp-client-general/jsonrpc";

async function main() {
  const proc = new MCPProcess({
    command: "node",
    args: ["../mcp-server-general/dist/server.js"],
    startupTimeoutMs: 4000,
    shutdownTimeoutMs: 3000
  });

  proc.on("stderr", (msg) => process.stderr.write(String(msg)));

  await proc.start();

  const req: JSONRPCRequest = {
    jsonrpc: "2.0",
    id: 1,
    method: "providers.list",
    params: {}
  };

  const response = await proc.send(req);
  console.log(JSON.stringify(response, null, 2));

  await proc.close();
}

main().catch((err) => {
  console.error(err);
  process.exit(1);
});

______________________________________________________________________

通用MCP服务器入门

要使用生产就绪的MCP服务器快速尝试此客户端,请参阅:

  • mcp服务器概述\

通用插件驱动的MCP服务器\ https://github.com/daporun/mcp-server-general

设计说明

握手检测

从stdout接收到的第一个有效JSON对象被视为握手。\ 如果服务器延迟或首先打印日志,客户端仍然可以安全地继续。

框架策略

许多服务器发出:

Content-Length: 2888\r\n\r\n{ ... JSON ... }

但是 Content-Length 经常出错或与原木混合。

此客户端改为:

  • 忽略内容长度
  • 使用a 流式JSON扫描器:

- 发现 { - 轨迹嵌套 { / } - 处理JSON字符串和转义 - 提取完整的JSON帧

即使在不完美/实验性的MCP服务器上也能工作。

待处理的RPC请求

  • 请求存储在 Map
  • 响应解决Promise
  • 超时自动拒绝

______________________________________________________________________

环境变量

启用详细调试:

MCP_DEBUG=1 mcp run "node dist/server.js"

显示:

  • 握手检测
  • 扫描事件
  • JSON解析错误
  • 子进程退出
  • 转发stderr

______________________________________________________________________

局限性

  • 服务器必须输出有效的JSON帧
  • 第一个JSON对象始终被视为握手
  • 握手前打印的类似JSON的日志可能会被误解

______________________________________________________________________

许可证

麻省理工学院——见许可证。

目录标签

目录标签

JavaScript本地部署JSON-RPCTypeScriptMCP协议Node.js流式处理

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP