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
| Server | Install | Tools | What it does |
|---|---|---|---|
Pact Tooling — @pact-community/mcp-pact | 6 | REPL test runs, critical-trap scanning, gas estimation, interface diff, format checks | |
Chainweb API — @pact-community/mcp-chainweb | 11 | /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 orcode-insiderson 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
- Install the Pact CLI — Pact Tooling uses it for REPL runs and gas
estimation. Download a release from
kadena-io/pact-5, put
pacton yourPATH, and verify withpact --version. - Add the servers to your client with the config above, pointing
PACT_COMMUNITY_WORKSPACE_ROOTat your contract project. - Ask your agent:
- "Scan
contracts/token.pactfor critical Pact 5 traps" — flags non-binary+, DB reads insideenforce, built-in shadowing, and more. - "Run
tests/token.repland summarize the failures" — executes the file with the real Pact interpreter and parses the results. - "Diff the public interface of
token.pactagainsttoken-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.
- "Scan
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, andchainweb.continue_pactrequire transactions to be signed externally (Ledger,@kadena/client, …) and passed in pre-signed. - Read-only public networks. The
testnet06andmainnetprofiles block every write tool withPROFILE_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
| Server | Local devnet | Testnet | Mainnet |
|---|---|---|---|
| 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.