r

r33drichards

@r33drichards/mcp-js
0 Stars 8 次浏览 r33drichards 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "js": {
      "command": "/usr/local/bin/mcp-v8 --directory-path /tmp/mcp-v8-heaps"
    }
  }
}

服务介绍

mcp-v8: V8 JavaScript MCP 服务器

一个基于 Rust 的模型上下文协议 (MCP) 服务器,它将 V8 JavaScript 运行时作为 Claude 和 Cursor 等 AI 代理的工具。支持通过 S3 或本地文件系统进行持久化堆快照,并准备好与现代 AI 开发环境集成。

特性

  • V8 JavaScript 执行:在安全、隔离的 V8 引擎中运行任意 JavaScript 代码。
  • 堆快照:在运行之间持久化和恢复 V8 堆状态,支持 S3 和本地文件存储。
  • MCP 协议:实现 Model Context Protocol,以便与 Claude、Cursor 和其他 MCP 客户端无缝集成。
  • 可配置存储:在运行时选择 S3 或本地目录进行堆存储。

安装

使用提供的安装脚本安装 mcp-v8

bash
curl -fsSL https://raw.githubusercontent.com/r33drichards/mcp-js/main/install.sh | sudo bash

这将自动下载并为您的平台安装最新版本到 /usr/local/bin/mcp-v8(您可能需要输入密码)。


高级用户:如果您更喜欢从源代码构建,请参阅本文档末尾的 从源代码构建 部分。

命令行参数

mcp-v8 支持以下命令行参数:

  • --s3-bucket <bucket>:使用 AWS S3 进行堆快照。指定 S3 存储桶名称。(与 --directory-path 冲突)
  • --directory-path <path>:使用本地目录进行堆快照。指定目录路径。(与 --s3-bucket 冲突)

注意:您必须指定 --s3-bucket--directory-path 中的一个。如果两者均未提供,服务器默认使用 S3 存储桶 test-mcp-js-bucket

快速开始

安装完成后,您可以直接运行服务器。请选择以下选项之一:

bash

使用 S3 进行堆存储(推荐用于云/持久化使用)

mcp-v8 --s3-bucket my-bucket-name

使用本地文件系统目录进行堆存储(推荐用于本地开发)

mcp-v8 --directory-path /tmp/mcp-v8-heaps

集成

Claude for Desktop

  1. 按上述方法安装服务器。
  2. 打开 Claude Desktop → 设置 → 开发者 → 编辑配置。
  3. claude_desktop_config.json 中添加您的服务器:

json
{
"mcpServers": {
"js": {
"command": "/usr/local/bin/mcp-v8 --s3-bucket my-bucket-name"
}
}
}

  1. 重启 Claude Desktop。新工具将出现在锤子图标下。

Cursor

  1. 按上述方法安装服务器。
  2. 在项目根目录中创建或编辑 .cursor/mcp.json

json
{
"mcpServers": {
"js": {
"command": "/usr/local/bin/mcp-v8 --directory-path /tmp/mcp-v8-heaps"
}
}
}

  1. 重启 Cursor。MCP 工具将在 UI 中可用。

示例用法

  • 向 Claude 或 Cursor 请求:“运行这段 JavaScript: 1 + 2
  • 使用堆快照在运行之间持久化状态。

堆存储选项

您可以使用以下命令行参数配置堆存储:

  • S3--s3-bucket <bucket>
    • 示例:mcp-v8 --s3-bucket my-bucket-name
    • 需要在环境中设置 AWS 凭证。
  • 文件系统--directory-path <path>
    • 示例:mcp-v8 --directory-path /tmp/mcp-v8-heaps

注意:一次只能使用一个存储后端。如果同时提供了两个,服务器将返回错误。

限制

虽然 mcp-v8 提供了一个强大且持久的 JavaScript 执行环境,但其运行时存在一些限制。

  • 不支持 async/await 或 Promises:不支持异步 JavaScript。所有代码必须是同步的。
  • 不支持 fetch 或网络访问:没有内置的方法来发起 HTTP 请求或访问网络。
  • 不支持 console.log 或标准输出:来自 console.log 或类似函数的输出不会显示。要返回结果,请确保您希望返回的值是代码的最后一行。
  • 不支持文件系统访问:运行时不提供对本地文件系统或环境变量的访问。- 无需 npm install 或外部包:您不能安装或导入 npm 包。只能使用标准的 JavaScript(ECMAScript)内置功能。
  • 无定时器:诸如 setTimeoutsetInterval 之类的函数不可用。
  • 无 DOM 或浏览器 API:这不是浏览器环境;无法访问 windowdocument 或其他特定于浏览器的对象。

从源代码构建(高级)

如果您希望从源代码构建而不是使用安装脚本:

前提条件

  • Rust(建议使用夜间版工具链)
  • (可选)用于 S3 存储的 AWS 凭证

构建服务器

bash
cd server
cargo build --release

构建的二进制文件将位于 server/target/release/server。如果需要,您可以在上述集成步骤中使用此路径代替 /usr/local/bin/mcp-v8

相关 MCP 服务