MCP客户端

一个基于Node.js和TypeScript的客户端,用于通过HTTP与MCP服务器交互,支持自然语言或结构化命令的发送。

  • by Camiloruas
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Camiloruas/mcp-client

使用说明

MCP客户端

此存储库包含 MCP客户端,一个使用TypeScript的Node.js客户端,负责与 MCP服务器(模型上下文协议) 通过经过身份验证的HTTP调用。

MCP客户端不直接执行自动化。它作为一个 入口界面,允许将自然语言或结构化命令发送到MCP服务器,然后MCP服务器根据权限、范围和治理规则决定执行哪些工具。

该项目是MCP生态系统的一部分,旨在独立于IDE、操作系统或执行环境工作。

与MCP服务器的关系

此客户端是为使用MCP服务器而开发的,可在以下网址获得:

https://github.com/Camiloruas/mcp-server

MCP服务器是负责以下工作的组件:

  • 编排工具
  • 应用安全规则
  • 正在验证范围
  • 在外部服务中执行实际操作

MCP客户端仅发送命令并显示响应。

项目目标

  • 为MCP服务器提供一个简单的命令行界面
  • 允许以自然语言发送命令
  • 演示MCP服务器的实际使用情况
  • 促进IDE、终端和管道的集成
  • 作为MCP的便携式客户端示例

特性

  • 简单CLI客户端
  • 基于Node.js和TypeScript
  • 通过HTTP通信
  • 通过API密钥进行身份验证
  • 完全独立于IDE
  • 可用于本地或远程环境

在哪里可以使用MCP客户端

MCP客户端可以在任何具有Node.js的环境中运行,包括:

  • 光标
  • VS Code
  • 尼奥夫
  • 本地终端
  • SSH会话
  • 无头Linux环境
  • CI/CD管道

IDE不了解MCP。它只提供一个运行客户端的终端。

先决条件

  • Node.js版本18或更高
  • npm

安装

克隆存储库:

git clone https://github.com/Camiloruas/mcp-client
cd mcp-client

安装依赖项:

npm install

配置

创建环境变量文件:

cp .env.example .env

编辑 .env 文件:

MCP_BASE_URL=https://mcp.yourdomain.dev
MCP_API_KEY=YOUR_API_KEY_WITH_SCOPES

API密钥必须事先在MCP服务器中配置,并具有所请求操作的必要作用域。

用法

通过传递命令作为参数来运行客户端:

node mcp.ts "create a workflow in n8n with a POST /lead webhook"

响应示例:

{
  "tool": "workflow-generate",
  "status": "ok",
  "workflowId": "abc123",
  "webhookUrl": "https://webhook.yourdomain.dev/webhook/lead",
  "active": true
}

安全

  • 从不版本 .env 文件
  • 每个API键只能具有必要的作用域
  • MCP客户端不会在本地环境之外存储凭据

项目结构

mcp-client/
├── mcp.ts
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
└── README.md

可扩展性

MCP客户端可以很容易地适应:

  • 图形界面
  • IDE扩展
  • CI/CD集成
  • 自动化脚本
  • 内部工具

创建新客户端不需要修改MCP服务器。

作者

卡米洛·鲁阿斯

github:https://github.com/Camiloruas
领英:https://www.linkedin.com/in/camilo-ruas-3a2a6425/
文件夹:https://www.camiloruas.dev/


MCP Client(中文)

这个仓库包含一个 MCP客户端Node.js 的 TypeScript 客户端,负责与 MCP服务器(模型上下文协议) 通过认证的 HTTP 呼叫。

MCP Client 不会直接执行自动化。他作为一个 输入接口允许自然语言或结构化命令发送到MCP服务器,然后MCP服务器决定运行哪些工具,同时尊重权限,范围和治理规则。

该项目是 MCP 生态系统的一部分,旨在独立于 IDE、操作系统或运行环境运行。

与 MCP 服务器的关系

此客户端旨在消耗以下可用的 MCP 服务器:

https://github.com/Camiloruas/mcp-server

MCP Server 是负责:

  • 编排工具
  • 应用安全规则
  • 验证范围
  • 在外部服务上执行实际操作

MCP 客户端仅发送命令并显示响应。

项目目标

  • 为 MCP Server 提供简单的命令行界面
  • 允许发送自然语言命令
  • 显示 MCP 服务器的实际消耗
  • 促进 IDE、终端和管道的集成
  • 作为 MCP 的便携式客户端示例

特点

  • 简单 CLI 客户端
  • 基于Node.js和TypeScript
  • 通过HTTP通信
  • API 密钥认证
  • 完全独立于 IDE
  • 可用于本地或远程环境

在哪里可以使用MCP客户端

MCP 客户端可以在任何包含 Node.js 的环境中运行,包括:

  • 光标
  • VS Code
  • 尼奥夫
  • 终端本地
  • SSH 会话
  • Ambientes Linux无头
  • 管道CI/CD

IDE 不了解 MCP。它只提供一个终端来运行客户端。

先决条件

  • Node.js 版本 18 或更高版本
  • npm

安装

克隆仓库 :

git clone https://github.com/Camiloruas/mcp-client
cd mcp-client

安装依赖关系 :

npm install

配置

创建环境变量文件 :

cp .env.example .env

编辑文件 .env:

MCP_BASE_URL=https://mcp.seudominio.dev
MCP_API_KEY=SUA_API_KEY_COM_ESCOPOS

API密钥必须在MCP服务器上预先配置,并具有所请求的操作所需的范围。

使用

通过传递命令作为参数来运行客户端:

node mcp.ts "crie um workflow no n8n com webhook POST /lead"

答案示例 :

{
  "tool": "workflow-generate",
  "status": "ok",
  "workflowId": "abc123",
  "webhookUrl": "https://webhook.seudominio.dev/webhook/lead",
  "active": true
}

安全

  • 从不修改文件版本 .env
  • 每个API密钥必须只有必要的范围
  • MCP 客户端不会在本地环境之外存储凭据

项目结构

mcp-client/
├── mcp.ts
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
└── README.md

可扩展性

MCP 客户端可轻松适应:

  • 图形界面
  • IDE 扩展
  • CI/CD 集成
  • 自动化脚本
  • 内部工具

创建新客户端不需要修改 MCP Server。

作者

卡米洛·鲁阿斯

github:https://github.com/Camiloruas
领英:https://www.linkedin.com/in/camilo-ruas-3a2a6425/
投资组合 :https://www.camiloruas.dev/