npm @pact-community/mcp-chainwebstdioApache-2.0updated 1mo ago
Model Context Protocol servers that give your AI agent safe, auditable access to the Pact 5 development loop on Kadena Chainweb.
What can you do with Chainweb API?
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.
License
Install
Add Chainweb API to your client. Pick the one you use.
claude mcp add mcp-chainweb -- npx -y @pact-community/mcp-chainwebcodex mcp add mcp-chainweb -- npx -y @pact-community/mcp-chainwebamp mcp add mcp-chainweb -- npx -y @pact-community/mcp-chainweb{
"mcpServers": {
"mcp-chainweb": {
"command": "npx",
"args": [
"-y",
"@pact-community/mcp-chainweb"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-chainweb": {
"command": "npx",
"args": [
"-y",
"@pact-community/mcp-chainweb"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-chainweb","command":"npx","args":["-y","@pact-community/mcp-chainweb"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-chainweb": {
"command": "npx",
"args": [
"-y",
"@pact-community/mcp-chainweb"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-chainweb": {
"command": "npx",
"args": [
"-y",
"@pact-community/mcp-chainweb"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-chainweb": {
"command": "npx",
"args": [
"-y",
"@pact-community/mcp-chainweb"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-chainweb": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@pact-community/mcp-chainweb"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-chainweb": {
"command": {
"path": "npx",
"args": [
"-y",
"@pact-community/mcp-chainweb"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @pact-community/mcp-chainwebRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust16/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 29 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 0.2.3Latest | Jul 3, 2026 |
| 0.2.2 | Jul 3, 2026 |