Pact Tooling

السجل الرسمي أخرى

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

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «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
إعداد 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>"
            }
        }
    }
}

متغيرات البيئة

  • PACT_COMMUNITY_WORKSPACE_ROOT إلزامي Workspace root directory; all file access is confined inside it.
  • PACT_COMMUNITY_PACT_BIN Path to the pact binary (default: pact on PATH).

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  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

الأسئلة الشائعة

ما هو Pact Tooling؟

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

كيف أثبّت Pact Tooling؟

يعمل على جهازك. في 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. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج Pact Tooling إلى مفتاح API؟

نعم. يتطلب PACT_COMMUNITY_WORKSPACE_ROOT، وتضبطها في إعداداته.

هل Pact Tooling مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص Apache-2.0.

من يصون Pact Tooling؟

ينشره Pact-Community-Organization. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.