BSD Zero Clause License
1

Integrations

  • Provides a V8 JavaScript runtime environment for executing arbitrary JavaScript code, with persistent state management through heap snapshots

mcp-v8:V8 JavaScript MCP 服务器

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

特征

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

安装

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

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 bucket 名称。(与--directory-path冲突)
  • --directory-path <path> :使用本地目录存储堆快照。请指定目录路径。(与--s3-bucket冲突)

**注意:**您必须指定--s3-bucket--directory-path 。如果两者都未提供,则服务器默认使用 S3,存储桶名称test-mcp-js-bucket

快速入门

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

# Use S3 for heap storage (recommended for cloud/persistent use) mcp-v8 --s3-bucket my-bucket-name # Use local filesystem directory for heap storage (recommended for local development) mcp-v8 --directory-path /tmp/mcp-v8-heaps

一体化

克劳德桌面版

  1. 按上述方法安装服务器。
  2. 打开 Claude Desktop → 设置 → 开发者 → 编辑配置。
  3. 将您的服务器添加到claude_desktop_config.json
{ "mcpServers": { "js": { "command": "/usr/local/bin/mcp-v8 --s3-bucket my-bucket-name" } } }
  1. 重启 Claude Desktop。新工具将出现在锤子图标下方。

光标

  1. 按上述方法安装服务器。
  2. 在项目根目录中创建或编辑.cursor/mcp.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 凭证

构建服务器

cd server cargo build --release

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

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

mcp-v8

  1. 特征
    1. 安装
      1. 命令行参数
        1. 快速入门
          1. 一体化
            1. 克劳德桌面版
            2. 光标
          2. 示例用法
            1. 堆存储选项
              1. 限制
                1. 从源代码构建(高级)
                  1. 先决条件
                  2. 构建服务器

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  Using MCP to run code via e2b.
                  Last updated -
                  1
                  171
                  JavaScript
                  Apache 2.0
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  Allows LLMs to execute Python code in a specified Conda environment, enabling access to necessary libraries and dependencies for efficient code execution.
                  Last updated -
                  1
                  74
                  JavaScript
                  MIT License
                  • Linux
                  • Apple

                View all related MCP servers

                ID: 9jw1rudo7j