MCP.so
登录

mcp-v8: V8 JavaScript MCP Server

@r33drichards

基本信息

分类

文件与存储

许可证

AGPL-3.0

传输方式

stdio

作者

r33drichards

关于 mcp-v8: V8 JavaScript MCP Server

MCP server that exposes a V8 JavaScript runtime as a tool for AI agents like Claude and Cursor. Supports persistent heap snapshots via S3 or local filesystem, and is ready for integration with modern AI development environments.

mcp-v8: V8 JavaScript MCP Server 配置

暂无标准配置

该服务器的 README 中没有可解析的 MCP 配置块,请前往代码仓库查看安装说明。

代码仓库

mcp-v8: V8 JavaScript MCP Server 工具

工具列表暂未提供

当前收录暂时没有可展示的工具列表,不代表服务没有工具。请查阅项目文档了解支持的能力。

工具是从 README 中自动提取的。维护者可以在 ## Tools 标题下列出工具,即可填充这部分内容。

概览

What is mcp-v8?

mcp-v8 is a Model Context Protocol server, written in Rust, that lets an AI agent run JavaScript and TypeScript in a sandboxed V8 isolate. Instead of wiring up dozens of narrow tools, it gives the agent one tool—run_js—and the agent writes code that can loop, branch, transform data, and call other tools. It is designed for AI agents that need a flexible, stateful code execution environment.

How to use mcp-v8?

Install the server via the provided curl script (install.sh) or use nix run, Docker, or build from source. Connect an MCP client by adding mcp-v8 with flags like --stateless or --directory-path to the client's mcpServers configuration. The server can also run over HTTP using mcp-v8 --stateless --http-port 8080. Configuration can be done entirely through CLI flags or a single TOML/JSON config file.

Key features of mcp-v8

  • One run_js tool that executes JavaScript/TypeScript in an isolated V8 engine.
  • Async execution model with execution IDs, polling, and cancellation.
  • Content-addressed heap snapshots for persistent state across calls (local FS, S3, or cache).
  • Policy-gated capabilities: fetch, filesystem, subprocess, and external imports controlled via OPA/Rego.
  • Multiple transports: stdio, Streamable HTTP, legacy HTTP+SSE, plus a REST sidecar.
  • JWKS authentication and optional Raft clustering for horizontal scaling.
  • MCP tasks support for long-running executions (SEP-1319).

Use cases of mcp-v8

  • AI agents performing complex data transformations that require looping and branching.
  • Building stateful multi-turn workflows where variables and objects persist across calls.
  • Running custom JavaScript or TypeScript scripts fetched from the server filesystem.
  • Composing multiple MCP servers by calling upstream tools from within the sandboxed code.
  • Long-running background computations with async polling and cancellation via tasks.

常见问题

1

What is the difference between stateful and stateless mode?

In stateful mode, the V8 heap is saved as a content-addressed snapshot after each run, allowing an agent to build up state across many turns. In stateless mode no heap is persisted—the script runs and returns output immediately.

2

Which capabilities are gated by default?

Network requests (`fetch`), filesystem access (`fs.*`), subprocess execution (`child_process`), and external ES module imports are all off by default. They must be explicitly enabled via OPA/Rego policies.

3

What are the main limitations of mcp-v8?

`setInterval` is not available (use a loop with `setTimeout`). There is no DOM or browser APIs. TypeScript is type-stripped but not type-checked, and JSX/TSX is not supported.

4

How do I configure policies for fetch, filesystem, or subprocess?

Policies are set via CLI flags (e.g., `--policy-fetch`, `--policy-fs`, `--policy-subprocess`) that point to Rego policy files, or through the corresponding sections in a TOML/JSON config file.

5

Does mcp-v8 support long-running executions as MCP tasks?

Yes, the server natively implements the MCP tasks utility over Streamable HTTP and stdio. A client can run `run_js` as a task by adding a `task` object to the request, then poll with `tasks/get` and `tasks/result`.

评论

文件与存储 分类下的更多 MCP 服务器