Skip to content

MCP サーバー

Claude CodeCursorWindsurf などの AI コーディングアシスタントから IPFS Ninja を直接使用できます。ファイルのアップロード、CID のピン留め、フォルダの管理、使用状況の確認 — すべて AI との会話から行えます。

IPFS Ninja MCP server working in Claude Code — uploading a file, checking profile, and listing recent uploads

MCP とは?

Model Context Protocol (MCP) は、AI アシスタントを外部ツールやデータソースに接続するためのオープンスタンダードです。IPFS Ninja の MCP サーバーは、会話中に AI モデルが呼び出せる 11 のツールを公開し、IPFS Ninja アカウントとやり取りできるようにします。

インストール

npm パッケージ

@ipfs-ninja/mcp-server

npm で利用可能です。グローバルインストールは不要 — npx で実行できます。

前提条件

  • Node.js 18+ がインストールされていること
  • IPFS Ninja API キーDashboard > API Keys で取得)

Claude Code のセットアップ

ステップ 1: API キーを取得

  1. ipfs.ninja に登録(無料)
  2. Dashboard > API Keys にアクセス
  3. Create API key をクリックし、完全なキーをコピー(一度だけ表示されます)

ステップ 2: MCP サーバーを追加

ターミナルで以下のコマンドを実行:

bash
claude mcp add ipfs-ninja \
  --transport stdio \
  -e IPFS_NINJA_API_KEY=bws_your_full_api_key_here \
  -- npx -y @ipfs-ninja/mcp-server

または .claude/settings.json に手動で追加:

json
{
  "mcpServers": {
    "ipfs-ninja": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@ipfs-ninja/mcp-server"],
      "env": {
        "IPFS_NINJA_API_KEY": "bws_your_full_api_key_here"
      }
    }
  }
}

ステップ 3: Claude Code を再起動

Claude Code を終了して再度開きます。/mcp と入力して IPFS Ninja サーバーが接続されていることを確認してください。

ステップ 4: 使い始める

Claude に自然な言葉で話しかけるだけです:

You: Upload my README.md to IPFS
You: List my recent files
You: How much storage am I using?
You: Pin bafyabc123... from the IPFS network
You: Create a folder called "project-assets"

Cursor / Windsurf のセットアップ

MCP 設定に追加してください(Settings > MCP Servers):

設定
Nameipfs-ninja
Transportstdio
Commandnpx
Args-y @ipfs-ninja/mcp-server
EnvironmentIPFS_NINJA_API_KEY=bws_...

利用可能なツール

ファイル操作

ツール説明プロンプト例
ipfs_uploadファイルコンテンツのアップロード(base64 またはテキスト)「この HTML ファイルを IPFS にアップロードして」
ipfs_upload_jsonJSON オブジェクトのアップロード「この設定を IPFS に永続的な JSON として保存して」
ipfs_listアップロードしたファイルの一覧表示「最近のアップロードを表示して」
ipfs_getCID でファイルのメタデータを取得「QmXyz... はどんな種類のファイル?」
ipfs_deleteピンを解除してファイルを削除「QmXyz... をアカウントから削除して」

ピニング

ツール説明プロンプト例
ipfs_pinネットワーク上の既存の CID をピン留め「bafyabc... をアカウントにピン留めして」
ipfs_pin_statusピンの進捗を確認「bafyabc... のピン留めは完了した?」

整理

ツール説明プロンプト例
ipfs_folders_listフォルダの一覧表示「フォルダを表示して」
ipfs_folders_create新しいフォルダの作成「nft-metadata というフォルダを作成して」

アカウント

ツール説明プロンプト例
ipfs_profileプラン、ストレージ、帯域幅の情報を取得「ストレージの使用量は?」
ipfs_analytics日別の帯域幅とファイル統計を取得「今週の帯域幅使用量を表示して」

ワークフロー例

静的サイトのデプロイ

You: Upload the contents of my dist/ folder to IPFS
Claude: [uploads each file, returns CIDs]

You: What's the CID for index.html?
Claude: [calls ipfs_get]
     → QmXyz... — https://ipfs.ninja/ipfs/QmXyz...

NFT メタデータ

You: Create a folder called "my-collection" and upload this metadata JSON
Claude: [calls ipfs_folders_create, then ipfs_upload_json]
     → Folder: my-collection
     → CID: QmAbc... — permanent metadata URL ready for your smart contract

使用状況の監視

You: Am I close to my storage limit?
Claude: [calls ipfs_profile]
     → Plan: Bodhi, Storage: 45.2 MB / 100 GB (0.04%)
     → You have plenty of room.

You: Show my bandwidth this week
Claude: [calls ipfs_analytics with days=7]
     → 2.3 MB bandwidth, 45 requests across 3 days

ネットワークからコンテンツをピン留め

You: Pin the IPFS readme at QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG
Claude: [calls ipfs_pin]
     → Pin initiated! Status: pinning

You: Is it done?
Claude: [calls ipfs_pin_status]
     → Status: pinned, Size: 0.008 MB

トラブルシューティング

"IPFS_NINJA_API_KEY environment variable is required"

API キーが設定されていません。MCP 設定の env セクションに正しいキーが入っていることを確認してください。

"API error 402: not enough storage"

プランのストレージ上限に達しました。ipfs.ninja/pricing でアップグレードするか、不要なファイルを削除してください。

"API error 403: Forbidden"

API キーが無効または期限切れの可能性があります。Dashboard > API Keys で新しいキーを作成してください。

サーバーが /mcp に表示されない

MCP サーバーを追加した後、Claude Code を再起動したことを確認してください。Node.js 18+ がインストールされていることを確認してください(node --version)。