Teckel Ipfs Mcp Toolkit について
Teckel Ipfs Mcp Toolkitは、IPFSのファイル操作をMCPツールとして提供し、分散ストレージを必要とするエージェントや自動化ワークフロー向けです。アップロード、取得、管理に加え、暗号化にも対応します。
主な機能
- 01ファイルまたはBase64データのアップロード
- 02CIDによるファイル取得
- 03アカウント内ファイルの一覧と絞り込み
- 04ファイルのピン留め、解除、削除
- 05アップロード時のマルウェア検査
- 06暗号化ストレージへの対応
活用シーン
- 01エージェントによる生成コンテンツのIPFS保存
- 02CIDを使った保存済みファイルの取得
- 03アカウント内ファイルの絞り込みや整理
MCP 対応
Bearer APIキーで認証するリモートMCPサーバーがIPFSツールを提供し、REST APIも利用できます。MCPクライアントにはサーバーのエンドポイントと認証情報を設定します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp-servers.bh.tkllabs.io:9780/ipfs-mcpclaude mcp add --transport http ipfs-toolkit https://mcp-servers.bh.tkllabs.io:9780/ipfs-mcp{"mcpServers":{"ipfs-toolkit":{"type":"http","url":"https://mcp-servers.bh.tkllabs.io:9780/ipfs-mcp"}}}Cursor で開く{"servers":{"ipfs-toolkit":{"type":"http","url":"https://mcp-servers.bh.tkllabs.io:9780/ipfs-mcp"}}}VS Code で開く{"mcpServers":{"ipfs-toolkit":{"type":"http","url":"https://mcp-servers.bh.tkllabs.io:9780/ipfs-mcp"}}}{"mcpServers":{"ipfs-toolkit":{"serverUrl":"https://mcp-servers.bh.tkllabs.io:9780/ipfs-mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp-servers.bh.tkllabs.io:9780/ipfs-mcp認証が必要https://mcp-servers.bh.tkllabs.io:9780/ipfs-sse認証が必要ツール
10| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| search_string | string | いいえ | ニックネーム内でこの文字列を検索します。空欄の場合は無視します。 |
| pinned_state | integer | いいえ | ピン留め状態で絞り込みます。0(デフォルト)の場合、ピン留め状態にかかわらずすべての項目を返します。1 の場合、ピン留めされた項目のみを返します。2 の場合、ピン留めされていない項目のみを返します。 |
| encrypted_state | integer | いいえ | 暗号化状態で絞り込みます。0(デフォルト)の場合、暗号化状態にかかわらずすべての項目を返します。1 の場合、暗号化された項目のみを返します。2 の場合、暗号化されていない項目のみを返します。 |
| content_type | string | いいえ | image、audio などのコンテンツタイプで絞り込みます。空欄の場合は無視します。 |
| apikey | string | いいえ |
詳細
ipfs-toolkit
Interplanetary File System(IPFS)MCP ツールキット
teckel ツールキットの使い方
まず、teckel アプリをダウンロードしてインストールします。
次に、teckel アプリを使って API キーを生成します。
以下の操作を行います。
-
アプリのホーム画面右上にあるウォレットアイコンをタップして、アカウントページに移動します。アカウントページで「Manage API Key」をタップし、作成またはインポートした Ethereum アカウントの API キー管理画面を開きます。
-
エンドポイントへの呼び出し時に API キーを使用します。利用可能なエンドポイントはすべて teckel アプリから利用でき、対象の Ethereum アカウントの実際の API キーが組み込まれています。
-
説明のため、以下の例では次のダミーキーを使用します:d1e12345-c234-45a6-9b76-1234567891ff。このダミーキーの代わりに実際の API キーを使用してください。
次に、ツールへのアクセスに MCP サーバーと RESTful(API)のどちらを使用するか決めます。
MCP サーバーの使用
任意の MCP クライアントを設定する
クライアントを問わず、設定方法は基本的に同じです。つまり、MCP サーバーのエンドポイントとアクセス認証情報をクライアントに指定します。通常は設定用の JSON スニペットを使い、API キーを「Authorization」タグ内の「Bearer」トークンとして指定します。例として、Cursor デスクトップアプリで使用するための正確な設定を以下に示します(Cursor アプリで Cursor Settings -> Tools & MCP -> + New MCP server に移動し、実際の teckel API キーを使ってこのダミーキーを置き換え、詳細を入力してください)。
MCP JSON 設定(Cursor での使用例)
{
"mcpServers": {
"teckel-ipfs-toolkit": {
"url": "https://mcp-servers.bh.tkllabs.io:9780/ipfs-mcp",
"headers": {
"Authorization": "Bearer d1e12345-c234-45a6-9b76-1234567891ff"
}
}
}
}
注:この設定では HTTP(streamable)プロトコルを使用します。クライアントで旧式(現在はレガシー)の SSE プロトコルが必要な場合は、「ipfs-mcp」を「ipfs-sse」に置き換えてください。
RESTful API サーバーの使用
MCP サーバーを使用する利点は、接続された LLM がユーザーのプロンプト内の自然言語を解析し、ツールボックス API 関数の呼び出しに必要なパラメーターを設定してから、返された JSON 構造を自然言語に変換してユーザーに提示できることです。ただし、より低いレベルで teckel ツールキットを使用したい場合(例:独自のアプリで使用する場合)は、RESTful(POST)API プロトコルを使って関数を直接呼び出すことができます。その場合、入力パラメーターの設定と、返された JSON 出力の処理はご自身で行う必要があります。RESTful ウェブサービス経由で呼び出すすべてのメソッドは「await」する必要があります。つまり、呼び出し後に処理完了をポーリングするなどの、結果を待たずに処理を続ける方法はありません。
料金
teckel IPFS サービスの利用料金(teckel アプリ内で購入する teckel クレジット 経由)については、https://teckel.io/pricing/ をご覧ください。
レート制限
すべての MCP/API 呼び出しには、API キーごとのレート制限が適用されます。しきい値は公開されていませんが、特定の API キーがレート制限を超えた場合、その呼び出しに対して 429 エラーコードが返されます。
エラー
ユーザーエラーにより MCP/API 呼び出しが失敗し、4xx エラーコードが返された場合、ユーザーには 1 回分の基本呼び出し料金が請求されます(https://teckel.io/ai-mcp-services/ を参照)。サーバーエラーにより API 呼び出しが失敗し、5xx エラーコードが返された場合、ユーザーには請求されません。指定された呼び出しが入れ子になった複数の呼び出しの連鎖の一部である場合、上記のルールは「外側」の呼び出しに適用されます。つまり、外側の呼び出しが 4xx エラーコードで失敗した場合、ユーザーには基本呼び出し料金が 1 回分(失敗した外側の呼び出しに対して)請求され、連鎖内の呼び出しについては、成功したかどうかにかかわらず請求されません。同様に、外側の呼び出しが 5xx エラーコードで失敗した場合、連鎖内の呼び出しが成功していても、ユーザーには一切請求されません。
暗号化
IPFS はパブリックサービスであり、原則としてすべてのコンテンツが誰でも利用できます。そのため、コンテンツを非公開にしたい場合は、IPFS にアップロードする前に必ず暗号化してください。Teckel では、teckel API キーを使用して暗号化キーを生成することで、この暗号化をサポートしています。ただし、API キーは teckel サーバーに知られているため、コンテンツのエンドツーエンド暗号化にはなりません。teckel サーバーなどがコンテンツを取得できず、自分だけが取得できるエンドツーエンド暗号化が必要な場合は、teckel 経由で IPFS にアップロードする前に、任意の方法でファイルをオフラインで暗号化する必要があります。
コンテンツモデレーション
インターネットを健全に保つため、teckel はアップロードされたすべてのコンテンツを、マルウェアおよび不適切なコンテンツについて事前にスキャンします(teckel の利用規約に従います)。事前スキャンに合格しなかったコンテンツは拒否されます。アップロードを試みる際に使用された API キーに関連付けられた ethereum ウォレットアドレスは、teckel の独自の裁量によりブラックリストに登録される場合があります。
API キーのセキュリティ
API キーが漏えいした可能性があり(第三者がキーを使って teckel クレジットを消費している可能性がある)、懸念がある場合は、teckel App の「API Key Manager → Replace API key」からキーを置き換えてください。古いキーはすぐに無効になります。重要:API キーを変更すると、teckel 経由で以前に暗号化された IPFS コンテンツは、API キーが暗号化に使われているため、取得できなくなります。API キーを変更する前に、以前の IPFS データを取得して復号し、復号済みのバージョンをオフラインに保存してください。
teckel App
IPFS ツールキットの機能は、teckel app の IPFS 機能と完全に互換性があります。つまり、teckel App 経由でアップロードした IPFS コンテンツは IPFS ツールキットからアクセスでき、その逆も可能です。
teckel MCP サーバー — IPFS API リファレンス
ベース URL: https://mcp-servers.bh.tkllabs.io:9780
認証
すべてのエンドポイントで、Authorization ヘッダーに Bearer トークンが必要です。
Authorization: Bearer YOUR_API_KEY
エンドポイント一覧
| メソッド | パス | MCP ツール名 | 説明 |
|---|---|---|---|
| POST | /get_ipfs_content_for_apikey | list_ipfs_files | アカウントの IPFS ファイルを一覧表示 |
| POST | /remove_ipfs_files_from_account | remove_ipfs_files | ニックネーム検索で複数の IPFS ファイルを削除 |
| POST | /pin_ipfs_files_for_apikey | pin_ipfs_files | ニックネーム検索で複数の IPFS ファイルをピン留め |
| POST | /unpin_ipfs_files_for_apikey | unpin_ipfs_files | ニックネーム検索で複数の IPFS ファイルのピン留めを解除 |
| POST | /pin_ipfs_cid_for_apikey | pin_ipfs_cid | CID を指定して単一の IPFS ファイルをピン留め |
| POST | /remove_ipfs_cid_from_account | remove_ipfs_cid_from_account | CID を指定して単一の IPFS ファイルを削除 |
| POST | /publish_ipfs_file_to_webserver | publish_ipfs_file_to_webserver | IPFS ファイルを teckel ウェブサーバーに公開 |
| POST | /upload_sender_file_to_ipfs_for_apikey | upload_file_to_ipfs | ファイルを IPFS にアップロード |
| POST | /upload_sender_base64_to_ipfs_for_apikey | upload_base64_file_to_ipfs | Base64 エンコードされたファイルを IPFS にアップロード |
| POST | /retrieve_ipfs_file_for_apikey | retrieve_ipfs_file | CID を指定して IPFS ファイルを取得 |
エンドポイント
POST /get_ipfs_content_for_apikey
API キーに関連付けられたアカウントの IPFS ファイルを一覧表示します。ニックネーム、ピン留め状態、暗号化状態、コンテンツタイプで絞り込むこともできます。
MCP ツール: list_ipfs_files — 呼び出しで使用された teckel API キーに対応するアカウントの IPFS ファイルを一覧表示します(ニックネームを search_string であいまい検索して選択します)。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
search_string | string | いいえ | "" | ファイルのニックネームからこの文字列を検索します。空欄の場合、すべてのファイルが返されます。 |
pinned_state | integer | いいえ | 0 | 0 = すべてのエントリー、1 = ピン留め済みのみ、2 = ピン留めされていないもののみ |
encrypted_state | integer | いいえ | 0 | 0 = すべてのエントリー、1 = 暗号化済みのみ、2 = 暗号化されていないもののみ |
content_type | string | いいえ | "" | コンテンツタイプで絞り込みます。例:image、audio、video。無視する場合は空欄にします。 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/get_ipfs_content_for_apikey?search_string=my_video&pinned_state=0&encrypted_state=0&content_type=video" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /remove_ipfs_files_from_account
ニックネームのあいまい検索で選択した IPFS ファイルのピン留めを解除し、teckel IPFS ノードとアカウントのインベントリから削除します。
注: これは teckel ノードとインベントリからコンテンツを削除するだけです。コンテンツは分散型 IPFS ネットワーク上に引き続き存在する場合があります。
MCP ツール: remove_ipfs_files — 呼び出しで使用された teckel API キーに対応するアカウントの IPFS ファイルのピン留めを解除し、teckel IPFS ノードとウォレットアカウントから削除します(ニックネームを search_string であいまい検索して選択します)。注:これは teckel ノードとインベントリからコンテンツを削除するだけです。コンテンツは分散型 IPFS ネットワーク上に引き続き存在する場合があります。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
search_string | string | いいえ | "" | ファイルのニックネームからこの文字列を検索します。すべてに一致させる場合は空欄にします。 |
pinned_state | integer | いいえ | 0 | 0 = すべてのエントリー、1 = ピン留め済みのみ、2 = ピン留めされていないもののみ |
encrypted_state | integer | いいえ | 0 | 0 = すべてのエントリー、1 = 暗号化済みのみ、2 = 暗号化されていないもののみ |
content_type | string | いいえ | "" | コンテンツタイプで絞り込みます。例:image、audio、video。無視する場合は空欄にします。 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/remove_ipfs_files_from_account?search_string=old_test_files&pinned_state=0&encrypted_state=0" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /pin_ipfs_files_for_apikey
ニックネームのあいまい検索で選択した IPFS ファイルを teckel IPFS ノードにピン留めします。ピン留めすると、コンテンツが自動的にガベージコレクションされるのを防げます。
MCP ツール: pin_ipfs_files — 呼び出しで使用された teckel API キーに対応するアカウントの IPFS ファイルを teckel IPFS ノードにピン留めします(ニックネームを search_string であいまい検索して選択します)。ピン留めすると、IPFS ノードからコンテンツが自動的に削除されるのを防げます。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
search_string | string | いいえ | "" | ファイルのニックネームからこの文字列を検索します。すべてに一致させる場合は空欄にします。 |
pinned_state | integer | いいえ | 0 | 0 = すべてのエントリー、1 = ピン留め済みのみ、2 = ピン留めされていないもののみ |
encrypted_state | integer | いいえ | 0 | 0 = すべてのエントリー、1 = 暗号化済みのみ、2 = 暗号化されていないもののみ |
content_type | string | いいえ | "" | コンテンツタイプで絞り込みます。例:image、audio、video。無視する場合は空欄にします。 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/pin_ipfs_files_for_apikey?search_string=important_files&pinned_state=2" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /unpin_ipfs_files_for_apikey
teckel IPFS ノードから、あいまいなニックネーム検索で選択した IPFS ファイルのピン留めを解除します。ピン留めを解除したファイルは、自動ガベージコレクションの対象になります。
MCP ツール: unpin_ipfs_files — 呼び出しに使用された teckel API キーに対応するアカウントについて、teckel IPFS ノードから、あいまい検索文字列でニックネームを指定して選択した IPFS ファイルのピン留めを解除します。ピン留めを解除すると、IPFS ノードからコンテンツが自動的に削除されるようになります。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
search_string | string | いいえ | "" | ファイルのニックネームからこの文字列を検索します。すべてに一致させるには空欄のままにします。 |
pinned_state | integer | いいえ | 0 | 0 = すべてのエントリー、1 = ピン留め済みのみ、2 = ピン留め解除済みのみ |
encrypted_state | integer | いいえ | 0 | 0 = すべてのエントリー、1 = 暗号化済みのみ、2 = 暗号化されていないもののみ |
content_type | string | いいえ | "" | コンテンツタイプで絞り込みます(例:image、audio、video)。絞り込まない場合は空欄のままにします。 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/unpin_ipfs_files_for_apikey?search_string=old_drafts&pinned_state=1" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /pin_ipfs_cid_for_apikey
CID で識別される個別の IPFS エンティティを teckel IPFS ノードにピン留めします。ピン留めすると、自動削除を防止できます。
MCP ツール: pin_ipfs_cid — 呼び出しに使用された teckel API キーに対応するアカウントについて、IPFS CID で識別される個別のエンティティを teckel IPFS ノードにピン留めします。ピン留めすると、IPFS ノードからコンテンツが自動的に削除されるのを防止できます。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
cid | string | いいえ | "" | ピン留めするファイルの IPFS コンテンツ識別子 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/pin_ipfs_cid_for_apikey?cid=QmExampleCID123" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /remove_ipfs_cid_from_account
CID で識別される個別の IPFS エンティティのピン留めを解除し、teckel IPFS ノードおよびアカウントのインベントリから削除します。
注: これは teckel ノードとインベントリからコンテンツを削除するだけです。コンテンツは分散型 IPFS ネットワーク上に引き続き存在する場合があります。
MCP ツール: remove_ipfs_cid_from_account — 呼び出しに使用された teckel API キーに対応するアカウントについて、IPFS CID で識別される個別のエンティティのピン留めを解除し、teckel IPFS ノードおよびウォレットアカウントから削除します。注:これは teckel ノードとインベントリからコンテンツを削除するだけです。コンテンツは分散型 IPFS ネットワーク上に引き続き存在する場合があります。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
cid | string | いいえ | "" | 削除するファイルの IPFS コンテンツ識別子 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/remove_ipfs_cid_from_account?cid=QmExampleCID123" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /publish_ipfs_file_to_webserver
teckel ノードから CID で IPFS ファイルを取得し、必要に応じて復号して teckel ウェブサーバーで公開します。閲覧可能な公開 URL を返します。
MCP ツール: publish_ipfs_file_to_webserver — 呼び出しに使用された teckel API キーに対応するアカウントについて、IPFS CID で識別される IPFS ファイルを teckel IPFS ノードから取得し、必要に応じて復号して teckel ウェブサーバーで公開し、閲覧可能な URL を返します。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
cid | string | いいえ | "" | 公開するファイルの IPFS コンテンツ識別子 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/publish_ipfs_file_to_webserver?cid=QmExampleCID123" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /upload_sender_file_to_ipfs_for_apikey
API キーに関連付けられたアカウントの teckel IPFS ノードにファイルをアップロードします。コンテンツは受け入れ前にスキャンされ、teckel の利用規約への準拠が確認されます。
MCP ツール: upload_file_to_ipfs — 呼び出しで使用された teckel API キーに対応するアカウントの teckel IPFS ノードに、ファイルの内容をアップロードします。コンテンツは teckel の利用規約との適合性を事前にスキャンされ、準拠していない場合は拒否されます。
パラメーター
| 名前 | 場所 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
file | multipart form body | file | はい | — | アップロードするファイル |
nicknameOnIPFS | query | string | いいえ | "" | IPFS の一覧に表示するニックネームです。空欄の場合は自動生成されます。 |
doEncryptOnIPFS | query | string | いいえ | "false" | アップロード前に暗号化を適用します。true または false。 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/upload_sender_file_to_ipfs_for_apikey?nicknameOnIPFS=my_document&doEncryptOnIPFS=false" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@/path/to/your/file.pdf"
POST /upload_sender_base64_to_ipfs_for_apikey
API キーに関連付けられたアカウントの teckel IPFS ノードに、Base64 エンコードされたファイルデータをアップロードします。コンテンツは受け入れ前にスキャンされ、teckel の利用規約への準拠が確認されます。
MCP ツール: upload_base64_file_to_ipfs — 呼び出しで使用された teckel API キーに対応するアカウントの teckel IPFS ノードに、Base64 エンコードされたファイルの内容をアップロードします。コンテンツは teckel の利用規約との適合性を事前にスキャンされ、準拠していない場合は拒否されます。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
base64_data | string | いいえ | "" | Base64 エンコードされたファイルデータ |
nicknameOnIPFS | string | いいえ | "" | IPFS の一覧に表示するニックネームです。空欄の場合は自動生成されます。 |
doEncryptOnIPFS | string | いいえ | "false" | アップロード前に暗号化を適用します。true または false。 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/upload_sender_base64_to_ipfs_for_apikey?base64_data=SGVsbG8gV29ybGQ%3D&nicknameOnIPFS=my_file&doEncryptOnIPFS=false" \
-H "Authorization: Bearer YOUR_API_KEY"
POST /retrieve_ipfs_file_for_apikey
アカウントのインベントリから CID を指定して、IPFS ファイルの内容を取得します。ファイルが暗号化されている場合は自動的に復号されます。teckel 経由で最初に IPFS に投稿されたファイルのみがサポートされます。
MCP ツール: retrieve_ipfs_file — 呼び出しで使用された teckel API キーに対応するアカウントのインベントリから、指定された CID の IPFS ファイルの内容を取得します。暗号化されている場合は自動的に復号されます。teckel 経由で最初に IPFS に投稿されたファイルのみがサポートされます。つまり、一般的な(teckel 以外を起点とする)IPFS コンテンツは対象外です。
パラメーター
| 名前 | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
cid | string | いいえ | "" | 取得するファイルの IPFS コンテンツ識別子 |
curl -X POST "https://mcp-servers.bh.tkllabs.io:9780/retrieve_ipfs_file_for_apikey?cid=QmExampleCID123" \
-H "Authorization: Bearer YOUR_API_KEY"
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。