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

Js Ptc MCP

MCP Server

js-ptc-mcp

一个运行JavaScript的编程工具调用(PTC)MCP服务器实现,为大型语言模型(LLM)提供复杂多步工具编排能力,支持在QuickJS WASM沙箱中安全执行。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
TypeScriptClaudeAI代理Claude DesktopClaudeCursor

安装说明

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

作者 / 组织

keyboqrd

提供方

keyboqrd

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx -y js-ptc-mcp remote --port 3000

详细介绍

调用MCP服务器的JavaScript编程工具

中文文档 (README-CN.md)

MCP服务器实现 程序化工具调用(PTC) 它运行JavaScript。

编程工具使用的概念是由Anthropic Claude API开创的,它允许模型编写代码,在一个回合内协调多个工具。该项目提供了一个 开源、模型无关的替代方案 对于本地PTC不可用的环境,通过标准MCP协议为任何LLM(OpenAI、Gemini、本地模型)带来相同的强大编排功能。

此服务器允许大型语言模型(LLM)在安全、隔离的环境中执行复杂的多步骤工具编排 QuickJS WASM沙盒,将执行逻辑从LLM推理循环转移到确定性本地执行。

为什么选择PTC?

传统的LLM工具使用依赖于连续的往返(*原因->调用工具A->等待->原因->调用方法B*).PTC将这些多步骤依赖关系压缩到单个程序执行脚本中,提供:

  • 减少延迟:通过在本地执行编排来消除网络和推理开销。
  • 并发:使用以下命令实现多个MCP工具的真正并行执行 Promise.all.
  • 控制流程:直接在沙箱中处理循环、条件和数据聚合,而不依赖于LLM上下文。
  • 上下文效率:仅将最终的蒸馏数据结构返回LLM上下文窗口。

______________________________________________________________________

快速开始

技能.md 关于使用的简明指南 run_js_code 用于工具编排、并行执行和数据聚合。

______________________________________________________________________

用法

PTC MCP支持两种不同的架构,具体取决于您的部署拓扑。

模式A:网关模式(适用于Cursor、Claude Desktop、Gemini CLI等)

使用STDIO作为透明代理运行。它根据配置动态生成本地子MCP服务器,并在内部执行JS微循环。

  1. 配置子服务器:创建一个 sub-mcp-servers.json 在项目根目录中定义底层工具:
   {
     "chrome": {
       "command": "npx",
       "args": ["-y", "chrome-devtools-mcp@latest"]
     },
     "fs": {
       "command": "npx",
       "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
     }
   }
  1. 添加到您的客户:

- Gemini CLI:

     gemini mcp add ptc npx -y js-ptc-mcp gateway

- 克劳德代码:

     claude mcp add ptc npx -y js-ptc-mcp gateway

- 手册(光标/克劳德桌面): 将以下内容添加到您的 mcpServers 配置:

     {
       "mcpServers": {
         "js-ptc-mcp": {
           "command": "npx",
           "args": ["-y", "js-ptc-mcp", "gateway"]
         }
       }
     }
💡 最佳实践:直接工具曝光 为防止端口冲突和资源耗尽,请执行以下操作 注册工具,如 chrome-devtools-mcp 如果它们由PTC网关管理,则直接在您的客户端配置中。网关自动公开所有子工具(例如。, chrome.navigate_page)到LLM。

模式B:远程模式(适用于自定义云代理)

使用SSE(服务器发送事件)作为编排器运行。它本身不执行任何工具,而是依赖于 控制反转(IoC) 暂停执行并请求您的安全后端执行操作。

  1. 设置:复制 .env.example.env 并配置您的 PTC_API_KEY.
  2. 运行服务器:
   npx -y js-ptc-mcp remote --port 3000

工作原理:IoC循环

在远程模式下,您的后端必须实现一个简单的循环来处理来自沙盒的工具请求。当沙盒需要工具时,它会返回 need_client_tool 状态。

工作流程:

  1. 呼叫 run_js_code.
  2. 如果状态为 need_client_tool:

- 在您的安全环境中执行请求的工具。 - 呼叫 resume_js_code 结果。

  1. 重复,直到状态为 success.
示例:参见 client-sample/remote/backend-service.js 使用MCP SDK完整实现执行循环。

______________________________________________________________________

沙盒环境

QuickJS WASM环境是严格沙盒化的,专注于状态机编排、数据操作和 通用逻辑它既可用于复杂的工具链,也可用于简单的纯JavaScript计算或数据转换。

  • 可用: call_client_tool("alias.tool_name", args), print(data), async/await, Promise.all,以及标准ES2022原语(数学、日期、数组、字符串等)。
  • 约束: fetch, 定时器(setTimeout),以及 Node.js/浏览器API。所有外部交互都必须通过 call_client_tool.

LLM脚本示例

场景A:纯JavaScript计算

const fib = (n) => n 
Understanding the Two Modes

在集成PTC时,开发人员面临着一个关键的分歧: **底层工具位于何处,由谁执行?**

1. **网关模式(STDIO)**:标准客户端(如Cursor)是无状态调度器,无法处理挂起/恢复循环。网关模式通过将微环路保持在内部来解决这个问题。它充当本地子进程的黑匣子路由器,使其成为本地开发环境的理想选择。
1. **远程模式(SSE)**:定制云代理(例如SaaS平台)利用专有后端API。从远程沙箱执行这些操作会带来安全风险。远程模式利用SSE将“挂起/中断”信号流式传输到后端,使您的安全环境能够执行工具并将结果注入回。非常适合分布式web架构。

两种模式共享 **100%的底层QuickJS确定性状态机**,无论部署策略如何,都能确保内存安全和并发性。

______________________________________________________________________

## 发展结构

- `src/core/`:引擎的核心(沙盒、逻辑、状态机)。
- `src/modes/`:网关(STDIO)和远程(SSE)服务器的实现。
- `client-sample/`:示例Node.js客户端演示每种模式。

## 许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaudeAI代理工具编排本地部署LLM集成安全沙箱多步执行模型无关

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

js-ptc-mcp

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP