Pact Tooling

Registre officiel Autres

Pact 5 tooling: REPL test runs, trap scanning, gas estimation, interface diff, format checks.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @pact-community/mcp-pact
Claude Code
claude mcp add pact-tooling -e 'PACT_COMMUNITY_WORKSPACE_ROOT=<PACT_COMMUNITY_WORKSPACE_ROOT>' -e 'PACT_COMMUNITY_PACT_BIN=<PACT_COMMUNITY_PACT_BIN>' -- npx -y @pact-community/mcp-pact@0.2.2
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "pact-tooling": {
            "command": "npx",
            "args": [
                "-y",
                "@pact-community/mcp-pact@0.2.2"
            ],
            "env": {
                "PACT_COMMUNITY_WORKSPACE_ROOT": "<PACT_COMMUNITY_WORKSPACE_ROOT>",
                "PACT_COMMUNITY_PACT_BIN": "<PACT_COMMUNITY_PACT_BIN>"
            }
        }
    }
}

Variables d'environnement

  • PACT_COMMUNITY_WORKSPACE_ROOT obligatoire Workspace root directory; all file access is confined inside it.
  • PACT_COMMUNITY_PACT_BIN Path to the pact binary (default: pact on PATH).

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  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

Questions fréquentes

Qu'est-ce que Pact Tooling ?

Pact 5 tooling: REPL test runs, trap scanning, gas estimation, interface diff, format checks.

Comment installer Pact Tooling ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add pact-tooling -e 'PACT_COMMUNITY_WORKSPACE_ROOT=<PACT_COMMUNITY_WORKSPACE_ROOT>' -e 'PACT_COMMUNITY_PACT_BIN=<PACT_COMMUNITY_PACT_BIN>' -- npx -y @pact-community/mcp-pact@0.2.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Pact Tooling ?

Oui. Il attend PACT_COMMUNITY_WORKSPACE_ROOT, à renseigner dans sa configuration.

Pact Tooling est-il open source ?

Oui. Son code est sur GitHub sous licence Apache-2.0.

Qui maintient Pact Tooling ?

Il est publié par Pact-Community-Organization. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.