mcpField
M
mcp-contracts

mcp-contracts

ローカル
github.com/CryptoAPIs-io金融データ05 週間前に更新

mcp-contracts について

mcp-contracts は Crypto APIs Contracts 向けの MCP サーバーで、EVM または Solana のトークンコントラクト情報を必要とするアプリやワークフローを対象としています。コントラクトアドレスからトークン情報を取得し、対応範囲はブロックチェーンによって異なります。

主な機能

  1. 01アドレスによるトークン情報の取得
  2. 02EVM コントラクトの照会
  3. 03Solana コントラクトの照会
  4. 04名称や規格などの情報を返却

活用シーン

  1. 01Ethereum トークンコントラクトの確認
  2. 02BSC トークン情報の照会
  3. 03Solana トークンコントラクトデータの取得

MCP 対応

MCP クライアントに EVM と Solana のコントラクトデータツールを公開し、Crypto APIs 経由でコントラクトアドレスからトークン情報を取得します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cryptoapis-io-mcp-contracts": {
"command": "npx",
"args": [
"-y",
"@cryptoapis-io/mcp-contracts"
],
"env": {
"CRYPTOAPIS_API_KEY": "<CRYPTOAPIS_API_KEY>"
}
}
}
}
起動コマンドnpx -y @cryptoapis-io/mcp-contracts
設定が必要な環境変数
CRYPTOAPIS_API_KEYシークレットCrypto APIs API key

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

パッケージ
npm@cryptoapis-io/mcp-contracts0.4.0

ツール

3

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
actionenumはい実行する操作get-token-details-by-contract-address
contextstringいいえリクエストの任意のコンテキスト。レスポンスでそのまま返されます
networkenumはいネットワーク名mainnet | mordor | testnet | sepolia
blockchainenumはいブロックチェーンプロトコルethereum | ethereum-classic | binance-smart-chain
contractAddressstringはいコントラクトアドレス(トークンコントラクト)

詳細

@cryptoapis-io/mcp-contracts

Crypto APIs のContracts製品向けMCP サーバーです。EVMとSolanaのコントラクトアドレスからトークンの詳細を取得します。

APIバージョン: Crypto APIsのバージョン 2024-12-12 に対応しています。

機能

  • EVMコントラクト: コントラクトアドレスからトークンの詳細を取得します(ブロックチェーン、ネットワーク、contractAddress)
  • Solanaコントラクト: コントラクトアドレスからトークンの詳細を取得します(ネットワーク、contractAddress)

前提条件

  1. Crypto APIsに登録
  2. APIキーを生成

インストール

npm install @cryptoapis-io/mcp-contracts

または、すべてのCrypto APIs MCPサーバーをインストールします:npm install @cryptoapis-io/mcp

使用方法

# Run with API key
npx @cryptoapis-io/mcp-contracts --api-key YOUR_API_KEY

# Or use environment variable
export CRYPTOAPIS_API_KEY=YOUR_API_KEY
npx @cryptoapis-io/mcp-contracts

# HTTP transport (listens on 127.0.0.1; see "Exposing the server beyond localhost")
npx @cryptoapis-io/mcp-contracts --transport http --port 3000 --api-key YOUR_API_KEY
Claude Desktop

Claude Desktopの設定(macOSでは~/Library/Application Support/Claude/claude_desktop_config.json、Windowsでは%APPDATA%\Claude\claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "cryptoapis-contracts": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-contracts"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}
Cursor

.cursor/mcp.json(プロジェクト)または~/.cursor/mcp.json(グローバル)に追加します:

{
  "mcpServers": {
    "cryptoapis-contracts": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-contracts"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}
MCP Inspector
npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-contracts --api-key YOUR_API_KEY
n8n
  1. HTTPモードでサーバーを起動します:
    npx @cryptoapis-io/mcp-contracts --transport http --port 3000 --api-key YOUR_API_KEY
    
  2. n8nのワークフローにAI Agentノードを追加します
  3. ToolsでMCP Client Toolを追加し、URLをhttp://localhost:3000/mcpに設定します

Dockerでのn8n: コンテナー内のlocalhostはホストマシンを指しません。--host 0.0.0.0とMCP_AUTH_TOKENを設定してサーバーを起動し(サーバーをlocalhostの外部に公開するを参照)、URLにhttp://host.docker.internal:3000/mcpを使用して、MCP Client Toolの認証情報にAuthorization: Bearer <token>ヘッダーを追加します。

すべてのサーバーの既定ポートは3000です。複数のサーバーを実行する場合は、--portを使って異なるポートを割り当ててください。

利用可能なツール

evm_contract_data

コントラクトアドレスからトークンの詳細を取得します。

アクション説明
get-token-details-by-contract-addressコントラクトアドレスからトークンの詳細(name、symbol、standard、decimals、totalSupply)を取得します

対応ブロックチェーン: ethereum、ethereum-classic、binance-smart-chain(mainnet、mordor、testnet、sepolia)

現在、コントラクトトークンの詳細を取得できるのはEthereum、Ethereum Classic、BSCのみです。

solana_contract_data

コントラクトアドレスからSolanaトークンの詳細を取得します。

アクション説明
get-token-details-by-contract-addressコントラクトアドレスからトークンの詳細を取得します

対応ネットワーク: mainnet、devnet

CLI引数

引数説明既定値
--api-keyCrypto APIsのAPIキーCRYPTOAPIS_API_KEY環境変数
--transportトランスポートの種類:stdioまたはhttpstdio
--hostHTTPホスト(リモート接続を受け付けるには0.0.0.0を使用します。--api-keyによる認証トークンが必要です)127.0.0.1
--auth-token呼び出し元が送信する必要のあるBearerトークン(Authorization: Bearer <token>)。MCP_AUTH_TOKEN環境変数の使用を推奨しますMCP_AUTH_TOKEN環境変数
--allowed-hostsループバック以外のバインドで許可するHostヘッダーをカンマ区切りで指定します—
--portHTTPポート3000
--pathHTTPパス/mcp
--statelessステートレスHTTPモードを有効にしますfalse
HTTP APIキーのモード

HTTPトランスポートを使用する場合、サーバーでは2つのAPIキーモードがサポートされています。

  • --api-keyを指定する場合: すべてのリクエストにこのキーが使用されます。リクエストヘッダーのx-api-keyは無視されます。
  • --api-keyを指定しない場合: 各リクエストに、有効なCrypto APIsキーを含むx-api-keyヘッダーが必要です。これにより、各ユーザーが独自のキーを提供する公開サーバーをホストできます。
# Per-request key mode (multi-tenant)
npx @cryptoapis-io/mcp-contracts --transport http --port 3000
# Clients send x-api-key header with each request
ローカルホスト以外にサーバーを公開する

HTTP モードはデフォルトで 127.0.0.1 をリッスンするため、同じマシン上のプロセスからのみアクセスできます。 ほかのマシンやコンテナからの接続を受け付けるには、明示的にバインドし、ポートを保護してください。

# Startup-key mode: callers must present the token (the server refuses to start without one)
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
npx @cryptoapis-io/mcp-contracts --transport http --host 0.0.0.0 --port 3000 --api-key YOUR_API_KEY \
  --allowed-hosts mcp.internal.example
# Clients send: Authorization: Bearer $MCP_AUTH_TOKEN

# Per-request key mode: no startup key, every request must carry the caller's own x-api-key
npx @cryptoapis-io/mcp-contracts --transport http --host 0.0.0.0 --port 3000

--allowed-hosts は、ループバック以外にバインドする場合に Host ヘッダーを制限します(DNS リバインディング対策)。--auth-token よりも MCP_AUTH_TOKEN を優先してください。コマンドライン引数はプロセス一覧から確認できるためです。

Stdio トランスポートでは、起動時に必ず API キーが必要です。

重要:API キーが必要です

警告: 有効な API キーなしでリクエストを行うか、誤った API キーを使用すると、Crypto APIs エコシステムで IP が禁止される可能性があります。サーバーを起動する前に、有効な API キーが設定されていることを必ず確認してください。

リモート MCP サーバー

Crypto APIs は、https://ai.cryptoapis.io/mcp で HTTP Streamable トランスポート経由ですべてのツールを利用できる、公式のリモート MCP サーバーを提供しています。x-api-key ヘッダーで API キーを渡してください。インストールは不要です。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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