Chainweb API

Official registry Productivity

Chainweb HTTP API: local sim, pre-signed send, poll, table reads, SPV proofs, module deploys.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @pact-community/mcp-chainweb
Claude Code
claude mcp add chainweb-api -e 'PACT_COMMUNITY_WORKSPACE_ROOT=<PACT_COMMUNITY_WORKSPACE_ROOT>' -e 'PACT_COMMUNITY_CHAINWEB_MODE=<PACT_COMMUNITY_CHAINWEB_MODE>' -e 'PACT_COMMUNITY_CHAINWEB_PROFILE=<PACT_COMMUNITY_CHAINWEB_PROFILE>' -e 'PACT_COMMUNITY_CHAINWEB_BASE_URL=<PACT_COMMUNITY_CHAINWEB_BASE_URL>' -e 'PACT_COMMUNITY_CHAINWEB_NETWORK_ID=<PACT_COMMUNITY_CHAINWEB_NETWORK_ID>' -- npx -y @pact-community/mcp-chainweb@0.2.3
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "chainweb-api": {
            "command": "npx",
            "args": [
                "-y",
                "@pact-community/mcp-chainweb@0.2.3"
            ],
            "env": {
                "PACT_COMMUNITY_WORKSPACE_ROOT": "<PACT_COMMUNITY_WORKSPACE_ROOT>",
                "PACT_COMMUNITY_CHAINWEB_MODE": "<PACT_COMMUNITY_CHAINWEB_MODE>",
                "PACT_COMMUNITY_CHAINWEB_PROFILE": "<PACT_COMMUNITY_CHAINWEB_PROFILE>",
                "PACT_COMMUNITY_CHAINWEB_BASE_URL": "<PACT_COMMUNITY_CHAINWEB_BASE_URL>",
                "PACT_COMMUNITY_CHAINWEB_NETWORK_ID": "<PACT_COMMUNITY_CHAINWEB_NETWORK_ID>"
            }
        }
    }
}

Environment variables

  • PACT_COMMUNITY_WORKSPACE_ROOT required Workspace root directory; all file access is confined inside it.
  • PACT_COMMUNITY_CHAINWEB_MODE required Network mode; must be set and match PACT_COMMUNITY_CHAINWEB_PROFILE (devnet, testnet06, or mainnet).
  • PACT_COMMUNITY_CHAINWEB_PROFILE Network profile: devnet (default, read/write), testnet06, or mainnet (both read-only).
  • PACT_COMMUNITY_CHAINWEB_BASE_URL Chainweb node base URL (default per profile).
  • PACT_COMMUNITY_CHAINWEB_NETWORK_ID Network id, e.g. development, testnet06, mainnet01 (default per profile).

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. pact-mcp — MCP servers for Pact & Chainweb
  2. Servers
  3. Install
  4. Your first 10 minutes
  5. Security
  6. Compatibility
  7. Contributing
  8. License

pact-mcp — MCP servers for Pact & Chainweb

Model Context Protocol servers that give your AI agent safe, auditable access to the Pact 5 development loop on Kadena Chainweb.

Run REPL tests, scan modules for critical language traps, estimate gas, and query or submit to Chainweb nodes — from Claude, Cursor, VS Code, or any MCP-compatible client. Every tool runs behind a strict, tested security baseline, and no tool ever touches a private key.

{
  "mcpServers": {
    "pact": {
      "command": "npx",
      "args": ["-y", "@pact-community/mcp-pact"],
      "env": { "PACT_COMMUNITY_WORKSPACE_ROOT": "/path/to/your/project" }
    }
  }
}

Servers

ServerInstallToolsWhat it does
Pact Tooling — @pact-community/mcp-pact6REPL test runs, critical-trap scanning, gas estimation, interface diff, format checks
Chainweb API — @pact-community/mcp-chainweb11/local simulation, pre-signed /send, poll, table reads, SPV proofs, module deploys

Both are listed in the official MCP registry as io.github.Pact-Community-Organization/pact and io.github.Pact-Community-Organization/chainweb.

Install

VS Code (one click)

Using VS Code with GitHub Copilot? Install with a single click:

The button opens VS Code and pre-fills the configuration. You can also search the MCP Servers view, or add from the command line:

code --add-mcp '{"name":"pact","command":"npx","args":["-y","@pact-community/mcp-pact"],"env":{"PACT_COMMUNITY_WORKSPACE_ROOT":"${workspaceFolder}","PACT_COMMUNITY_PACT_BIN":"pact"}}'

On VS Code Insiders, use vscode-insiders: in the links or code-insiders on the command line.

Claude Code
claude mcp add pact -e PACT_COMMUNITY_WORKSPACE_ROOT=/path/to/your/project \
  -- npx -y @pact-community/mcp-pact
Any MCP client

Add both servers to your client configuration:

{
  "mcpServers": {
    "pact": {
      "command": "npx",
      "args": ["-y", "@pact-community/mcp-pact"],
      "env": {
        "PACT_COMMUNITY_WORKSPACE_ROOT": "/path/to/your/project",
        "PACT_COMMUNITY_PACT_BIN": "pact"
      }
    },
    "chainweb": {
      "command": "npx",
      "args": ["-y", "@pact-community/mcp-chainweb"],
      "env": {
        "PACT_COMMUNITY_WORKSPACE_ROOT": "/path/to/your/project",
        "PACT_COMMUNITY_CHAINWEB_MODE": "devnet",
        "PACT_COMMUNITY_CHAINWEB_PROFILE": "devnet",
        "PACT_COMMUNITY_CHAINWEB_BASE_URL": "http://localhost:8081",
        "PACT_COMMUNITY_CHAINWEB_NETWORK_ID": "development"
      }
    }
  }
}

Each server's README documents its full tool list and environment variables: Pact Tooling · Chainweb API.

Your first 10 minutes

  1. Install the Pact CLI — Pact Tooling uses it for REPL runs and gas estimation. Download a release from kadena-io/pact-5, put pact on your PATH, and verify with pact --version.
  2. Add the servers to your client with the config above, pointing PACT_COMMUNITY_WORKSPACE_ROOT at your contract project.
  3. Ask your agent:
    • "Scan contracts/token.pact for critical Pact 5 traps" — flags non-binary +, DB reads inside enforce, built-in shadowing, and more.
    • "Run tests/token.repl and summarize the failures" — executes the file with the real Pact interpreter and parses the results.
    • "Diff the public interface of token.pact against token-v2.pact" — reports added/removed/changed functions and whether the change is breaking.
    • "What's the current block height on chain 0?" — queries a Chainweb node.

Everything in Pact Tooling works with just the CLI — no node required. Chainweb API works against any Chainweb-compatible node: point PACT_COMMUNITY_CHAINWEB_BASE_URL at your devnet, or use the read-only testnet06 / mainnet profiles to query public networks.

Security

Both servers enforce the same tested baseline (details in SECURITY.md):

  • No private keys, ever. chainweb_send, chainweb_deploy_module, and chainweb_continue_pact require transactions to be signed externally (Ledger, @kadena/client, …) and passed in pre-signed.
  • Read-only public networks. The testnet06 and mainnet profiles block every write tool with PROFILE_WRITE_BLOCKED.
  • Audit logging of every tool call with SHA-256 input hashes (never raw inputs).
  • Prompt-injection stripping on all tool output before it reaches the model.
  • Tool-schema locking — a server refuses to start if its tool schemas drift.
  • Network and filesystem allowlists, no shell execution, and refusal to run as root.

Compatibility

ServerLocal devnetTestnetMainnet
Pact Tooling✅——
Chainweb API✅✅ read-only✅ read-only

Contributing

git clone https://github.com/Pact-Community-Organization/pact-mcp.git
cd pact-mcp
pnpm install
pnpm build
pnpm test

Requires Node.js >= 20.11 and pnpm >= 9. See CONTRIBUTING.md for workflow, coding standards, and how to add or change a tool.

License

Apache-2.0

Frequently asked questions

What is Chainweb API?

Chainweb HTTP API: local sim, pre-signed send, poll, table reads, SPV proofs, module deploys.

How do I install Chainweb API?

It runs on your machine. In Claude Code: claude mcp add chainweb-api -e 'PACT_COMMUNITY_WORKSPACE_ROOT=<PACT_COMMUNITY_WORKSPACE_ROOT>' -e 'PACT_COMMUNITY_CHAINWEB_MODE=<PACT_COMMUNITY_CHAINWEB_MODE>' -e 'PACT_COMMUNITY_CHAINWEB_PROFILE=<PACT_COMMUNITY_CHAINWEB_PROFILE>' -e 'PACT_COMMUNITY_CHAINWEB_BASE_URL=<PACT_COMMUNITY_CHAINWEB_BASE_URL>' -e 'PACT_COMMUNITY_CHAINWEB_NETWORK_ID=<PACT_COMMUNITY_CHAINWEB_NETWORK_ID>' -- npx -y @pact-community/mcp-chainweb@0.2.3. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Chainweb API need an API key?

Yes. It expects PACT_COMMUNITY_WORKSPACE_ROOT, PACT_COMMUNITY_CHAINWEB_MODE, which you set in its configuration.

Is Chainweb API open source?

Yes. Its code is on GitHub under the Apache-2.0 license.

Who maintains Chainweb API?

It is published by Pact-Community-Organization. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.