mcpField
P
Pact Tooling

Pact Tooling

ローカル
github.com開発ツール04 週間前に更新

Pact Tooling について

Pact Tooling は、Kadena Chainweb のコントラクト開発者向け Pact 5 MCP サーバーです。REPL テストや言語上の罠の検出、ガス見積もり、インターフェース差分、フォーマット確認を行い、秘密鍵は扱いません。

主な機能

  1. 01Pact REPL テストの実行
  2. 02重大な言語上の罠の検出
  3. 03ガス使用量の見積もり
  4. 04公開インターフェースの比較
  5. 05コードフォーマットの確認

活用シーン

  1. 01コントラクトテストと失敗内容の確認
  2. 02リスクのある Pact 5 の記述パターンの検出
  3. 03開発時のガス使用量の評価
  4. 04インターフェース変更の互換性確認

MCP 対応

Claude、Cursor、VS Code などの MCP クライアントに Pact 開発ツールを提供します。Pact Tooling は Pact CLI を使い、Chainweb ノードを必要としません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"pact-community-organization-pact": {
"command": "npx",
"args": [
"-y",
"@pact-community/mcp-pact"
],
"env": {
"PACT_COMMUNITY_WORKSPACE_ROOT": "<PACT_COMMUNITY_WORKSPACE_ROOT>",
"PACT_COMMUNITY_PACT_BIN": "<PACT_COMMUNITY_PACT_BIN>"
}
}
}
}
起動コマンドnpx -y @pact-community/mcp-pact
設定が必要な環境変数
PACT_COMMUNITY_WORKSPACE_ROOTWorkspace root directory; all file access is confined inside it.
PACT_COMMUNITY_PACT_BINPath to the pact binary (default: pact on PATH).

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@pact-community/mcp-pact0.2.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

pact-mcp — Pact と Chainweb 用の MCP サーバー

CI npm License: Apache-2.0 Node >= 20.11

AI エージェントに、Kadena Chainweb 上の Pact 5 開発サイクルへの安全で監査可能なアクセスを提供する Model Context Protocol サーバーです。

REPL テストの実行、モジュールに潜む重大な言語上の落とし穴のスキャン、ガスの見積もり、 Chainweb ノードへの問い合わせや送信を、Claude、Cursor、VS Code、または MCP 互換のクライアントから行えます。すべてのツールは、厳格で検証済みのセキュリティ 基準のもとで動作し、秘密鍵に触れるツールはありません。

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

サーバー

サーバーインストールツール機能
Pact Tooling — @pact-community/mcp-pactnpm6REPL テストの実行、重大な落とし穴のスキャン、ガスの見積もり、インターフェースの差分確認、フォーマットチェック
Chainweb API — @pact-community/mcp-chainwebnpm11/local によるシミュレーション、署名済み /send、ポーリング、テーブルの読み取り、SPV 証明、モジュールのデプロイ

どちらも公式の MCP レジストリに、 io.github.Pact-Community-Organization/pact と io.github.Pact-Community-Organization/chainweb として登録されています。

インストール

VS Code(ワンクリック)

GitHub Copilot と一緒に VS Code をお使いですか?ワンクリックでインストールできます。

Install Pact Tooling in VS Code Install Chainweb API in VS Code

ボタンをクリックすると VS Code が開き、設定があらかじめ入力されます。MCP Servers ビューで検索するか、コマンドラインから追加することもできます。

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

VS Code Insiders では、リンクに vscode-insiders: を、コマンドラインに code-insiders を使用してください。

Claude Code
claude mcp add pact -e PACT_COMMUNITY_WORKSPACE_ROOT=/path/to/your/project \
  -- npx -y @pact-community/mcp-pact
あらゆる MCP クライアント

クライアントの設定に両方のサーバーを追加してください。

{
  "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"
      }
    }
  }
}

各サーバーの README には、ツールの一覧と環境変数がすべて記載されています。 Pact Tooling · Chainweb API。

最初の 10 分

  1. Pact CLI をインストールする — Pact Tooling は REPL の実行とガスの見積もりに使用します。kadena-io/pact-5 からリリースをダウンロードし、pact を PATH に追加して、pact --version で確認します。
  2. サーバーを追加する — 上記の設定を使ってクライアントに追加し、PACT_COMMUNITY_WORKSPACE_ROOT がコントラクトプロジェクトを指すようにします。
  3. エージェントに尋ねる:
    • "contracts/token.pact で Pact 5 の重大な落とし穴をスキャンして" — 2 進数以外の +、enforce 内での DB 読み取り、組み込み機能のシャドーイングなどを検出します。
    • "tests/token.repl を実行して、失敗を要約して" — 実際の Pact インタープリターでファイルを実行し、結果を解析します。
    • "token.pact の公開インターフェイスを token-v2.pact と比較して" — 追加、削除、変更された関数と、変更が互換性を損なうかどうかを報告します。
    • "チェーン 0 の現在のブロック高は?" — Chainweb ノードに問い合わせます。

Pact Tooling のすべての機能は CLI だけで動作し、ノードは不要です。Chainweb API は Chainweb 互換の任意のノードで動作します。PACT_COMMUNITY_CHAINWEB_BASE_URL を開発ネットワークに設定するか、読み取り専用の testnet06/mainnet プロファイルを使ってパブリックネットワークに問い合わせます。

セキュリティ

両サーバーは、同じテスト済みの基本方針を適用します(詳細は SECURITY.md を参照してください)。

  • 秘密鍵は一切扱いません。 chainweb_send、chainweb_deploy_module、chainweb_continue_pact では、トランザクションを外部(Ledger、@kadena/client など)で署名し、署名済みの状態で渡す必要があります。
  • パブリックネットワークは読み取り専用です。 testnet06 と mainnet のプロファイルでは、すべての書き込みツールが PROFILE_WRITE_BLOCKED によってブロックされます。
  • すべてのツール呼び出しを監査ログに記録し、入力の SHA-256 ハッシュを保存します(入力そのものは保存しません)。
  • プロンプトインジェクションを除去してから、すべてのツール出力をモデルに渡します。
  • ツールスキーマをロックし、ツールスキーマにずれがある場合はサーバーの起動を拒否します。
  • ネットワークとファイルシステムの許可リストを使用し、シェル実行を禁止し、root での実行を拒否します。

互換性

サーバーローカル開発ネットワークテストネットメインネット
Pact Tooling✅——
Chainweb API✅✅ 読み取り専用✅ 読み取り専用

コントリビューション

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

Node.js >= 20.11 と pnpm >= 9 が必要です。ワークフロー、コーディング規約、ツールの追加や変更方法については CONTRIBUTING.md を参照してください。

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。