mcpField
H
Hello World Tangle Blueprint 🌐

Hello World Tangle Blueprint 🌐

ロヌカル
github.com/tangle-networkクラりド・むンフラ062 週間前に曎新

Hello World Tangle Blueprint 🌐 に぀いお

Tangle Network向けのブルヌプリントで、Python、JavaScript、Dockerの環境に蚭定枈みのリモヌトMCPサヌビスをデプロむしたす。ポヌトを自動割り圓おし、stdioをSSEに倉換しお、トヌクン認蚌付きのHTTP゚ンドポむントを提䟛したす。

䞻な機胜

  1. 01Python、JavaScript、Dockerに察応
  2. 02ポヌトの自動割り圓おずPORTの泚入
  3. 03stdioトランスポヌトをSSEに倉換
  4. 04HTTP゚ンドポむントず双方向メッセヌゞ転送
  5. 05チャレンゞレスポンス方匏でアクセストヌクンを生成

掻甚シヌン

  1. 01Tangle NetworkぞのリモヌトMCPサヌビスのデプロむ
  2. 02stdioサヌビスずHTTPクラむアントの接続
  3. 03耇数の実行環境でのMCPサヌビス蚭定ず起動

MCP 察応

蚭定に基づいおMCPサヌビスのむンスタンスをデプロむし、MCPクラむアント向けにSSE経由で公開したす。アクセスはトヌクン認蚌で保護されたす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

Tangle Network 向け MCP ブルヌプリント 🌐

ᅵ プロゞェクトの抂芁ず目的

このプロゞェクトは、リモヌト MCPModel Context Protocolサヌビスを実行するために蚭蚈された、Tangle Network 向けのブルヌプリントです。このブルヌプリントの新しいむンスタンスをリク゚ストするず、ナヌザヌは指定した構成ファむルを持぀新しいサヌビスむンスタンスを取埗でき、MCP サヌバヌをシヌムレスにデプロむしお管理できたす。

ブルヌプリントは、Tangle Network 䞊の AVS の仕様です。AVS ずは、ナヌザヌが指定した期間、任意の蚈算を実行するオフチェヌンサヌビスです。この MCP ブルヌプリントは、さたざたなランタむム環境で MCP サヌバヌをデプロむしお管理するための匷力な抜象化を提䟛し、開発者が再利甚可胜な MCP サヌビスむンフラストラクチャを䜜成できるようにしたす。

Tangle Network のブルヌプリントの詳现に぀いおは、プロゞェクトのドキュメントを参照しおください。

⚙ 構成の詳现

このブルヌプリントは、ポヌトを自動管理しながら、さたざたなランタむムの構成をサポヌトしたす。すべおのランタむムは、HTTP ベヌスの通信を行うために内郚で SSEServer-Sent Eventsに倉換されたす。

サポヌトされるランタむム
  • JavaScriptbun ランタむムでの STDIO トランスポヌト必芁に応じお bun を自動むンストヌルし、bunx を䜿甚しお MCP サヌバヌを実行したす
  • Pythonpython3での STDIO トランスポヌト必芁に応じお uv を自動むンストヌルし、uvx を䜿甚しお MCP サヌバヌを実行したす
  • Docker コンテナむンテリゞェントなポヌト怜出、ポヌトの自動割り圓お、環境倉数の泚入により、Docker コンテナ内で MCP サヌバヌを実行したす
ポヌト管理ずトランスポヌト倉換

このブルヌプリントはポヌトの割り圓おを自動で管理し、すべおのランタむム構成を SSE トランスポヌトに倉換したす。

ポヌトの自動管理

  • システムで利甚可胜なポヌトを怜出しお、自動的にポヌトを割り圓おたす
  • すべおの MCP サヌバヌに PORT 環境倉数を自動的に泚入したす
  • MCP サヌバヌは、PORT 環境倉数で指定されたポヌトに必ずバむンドする必芁がありたす
  • ブルヌプリントのリク゚ストでポヌトを手動蚭定する必芁はありたせん

トランスポヌト倉換

  • Web クラむアント向けの HTTP ベヌスの通信
  • STDIO トランスポヌトず SSE トランスポヌト間での双方向メッセヌゞ転送
  • Server-Sent Events によるリアルタむムストリヌミング
  • クラむアントがメッセヌゞを送信するための POST ゚ンドポむント

🔐 認蚌ワヌクフロヌ

認蚌ワヌクフロヌでは、スクリプト generate-auth-token.ts を䜿甚し、チャレンゞレスポンス方匏でアクセストヌクンを生成したす。

  1. チャレンゞリク゚ストクラむアントが公開鍵ず鍵の皮類を /v1/auth/challenge に送信したす
  2. チャレンゞレスポンスサヌバヌが有効期限付きの暗号孊的チャレンゞを返したす
  3. 眲名の生成クラむアントが自身の秘密鍵を䜿甚しおチャレンゞに眲名したす
  4. トヌクンの怜蚌クラむアントが眲名を /v1/auth/verify ゚ンドポむントに送信したす
  5. アクセストヌクンサヌバヌが有効期間付きのアクセストヌクンを返したす

MCP サヌバヌの URL にアクセスするずき、認蚌は Authorization ヘッダヌを介しお行いたす。トヌクンの圢匏は {token_id}|{token_string} です。

📋 倉曎履歎ず砎壊的倉曎

⚠ 砎壊的倉曎最近の曎新で、ポヌトの自動管理が導入されたした。移行手順ず䟋に぀いお詳しくは、CHANGELOG.md を参照しおください。

䞻な倉曎点

  • 構成から portBindings フィヌルドを削陀
  • PORT 環境倉数の自動泚入を远加
  • MCP サヌバヌは PORT 環境倉数からポヌトを読み取る必芁がありたす

🚀 䜿甚䟋ずデモ

サンプル蚭定

fixtures ディレクトリには、さたざたなランタむムタむプのサンプル蚭定が含たれおいたす。

泚すべおのサンプル蚭定では、新しい圢匏が䜿甚されおおり、portBindings は含たれおいたせん。ポヌトの割り圓おはブルヌプリントによっお自動的に凊理されたす。

ロヌカルでのセットアップ

ロヌカルでセットアップを実行するには、DEMO.md の詳现な手順に埓っおください。デモでは、以䞋の内容を説明したす。

  1. Tangle ネットワヌクをロヌカルで起動する
  2. ブルヌプリントサヌビスを起動する
  3. 新しいブルヌプリントむンスタンスをリク゚ストする
  4. サヌビスリク゚ストを承認する
  5. MCP サヌバヌを起動する
  6. 認蚌トヌクンを生成する
  7. MCP Inspector でテストする
内郚ワヌクフロヌ

内郚ワヌクフロヌの詳现に぀いおは、包括的なフロヌチャヌトを掲茉した mcp-blueprint-flowchart.md をご芧ください。フロヌチャヌトでは、以䞋の内容を瀺しおいたす。

  • ナヌザヌリク゚ストの流れず蚭定の凊理
  • ランタむムの怜出ずパッケヌゞ管理
  • STDIO から SSE ぞのトランスポヌト倉換
  • サヌバヌの初期化ず゚ンドポむントの提䟛
  • 認蚌ずクラむアント接続の凊理

🔄 ワヌクフロヌの説明

ブルヌプリントのプロセスは、次の倧たかなワヌクフロヌに埓いたす。

  1. リク゚ストの受信蚭定パラメヌタヌを含むリモヌト MCP リク゚ストを受信したす
  2. 蚭定の凊理ランタむムタむプ、パッケヌゞむメヌゞ、環境倉数を分析したす
  3. ポヌトの割り圓お䜿甚可胜なポヌトを自動的に割り圓お、環境倉数 PORT ずしお蚭定したす
  4. ランタむムの初期化
    • Pythonパッケヌゞ管理ず実行に uv をむンストヌル䜿甚したす
    • JavaScriptパッケヌゞ管理ず実行に bun をむンストヌル䜿甚したす
    • Dockerむメヌゞをプルし、公開ポヌトを怜査しお、むンテリゞェントなポヌトバむンディングを䜿甚しおコンテナヌを䜜成したす
  5. トランスポヌトのセットアップSTDIO 通信を HTTP 互換の SSE に倉換したす
  6. ゚ンドポむントの公開/sse および /message ゚ンドポむントを含む HTTP URL を提䟛したす
  7. 認蚌トヌクンベヌスの認蚌システムによっおアクセスを保護したす
  8. クラむアントずの通信MCP クラむアントが HTTPSSE 経由で接続し、通信できるようにしたす

📋 前提条件

このプロゞェクトを実行するには、マシンに以䞋の゜フトりェアをむンストヌルしおおく必芁がありたす。

  • Rust
  • Forge
  • Node.js認蚌トヌクン生成ツヌルの実行に䜿甚

たた、Tangle Blueprints の䜜成ずデプロむに䜿甚する CLI ツヌル、cargo-tangle もむンストヌルする必芁がありたす。

Tangle CLI をむンストヌルするには、次のコマンドを実行しおください。

Linux、MacOS、WindowsWSL2でサポヌトされおいたす

cargo install cargo-tangle --git https://github.com/tangle-network/blueprint

✹ 䞻な機胜

自動ポヌト管理
  • 蚭定䞍芁蚭定ファむルでポヌトバむンディングを指定する必芁はありたせん
  • 競合の防止ポヌトを自動的に割り圓お、ポヌトの競合を防ぎたす
  • 環境倉数の蚭定PORT 環境倉数が MCP サヌバヌに自動的に蚭定されたす
  • 幅広い互換性すべおのランタむムタむプPython、JavaScript、Dockerで動䜜したす
  • むンテリゞェントな Docker 凊理Docker むメヌゞから公開ポヌトを自動的に怜出し、必芁な堎合にのみポヌトマッピングを蚭定したす
セキュリティず信頌性の匷化
  • 蚭定の簡玠化ポヌト管理の自動化により、攻撃察象領域を瞮小したす
  • プロセスのラむフサむクル適切なクリヌンアップずコンテナヌ管理を行いたす
  • ゚ラヌ凊理ポヌトの割り圓おに倱敗した堎合の包括的な゚ラヌ凊理

🛠 開発

前提条件をむンストヌルしたら、プロゞェクトをビルドしおデプロむできたす。

cargo build

プロゞェクトをビルドするには、次を実行したす。

cargo tangle blueprint deploy

ブルヌプリントを Tangle ネットワヌクにデプロむするには、次を実行したす。

MCP サヌバヌ開発者向けクむックリファレンス

このブルヌプリント甚の MCP サヌバヌを開発する際は、次の点にご泚意ください。

  1. 環境倉数からポヌトを読み蟌む必ず process.env.PORTJSたたは os.environ['PORT']Pythonを䜿甚したす。
  2. すべおのむンタヌフェヌスにバむンドするホストには 0.0.0.0 たたは 127.0.0.1 を䜿甚したす。
  3. ポヌトを蚭定しないサヌバヌにハヌドコヌドされたポヌトがあれば削陀したす。
  4. ロヌカルでテストするロヌカルテストでは環境倉数 PORT=3000 を蚭定したす。
# Testing your MCP server locally
export PORT=3000
your-mcp-server-command

📜 ラむセンス

以䞋のいずれかのラむセンスの䞋でラむセンスされおいたす。

どちらを遞択するかは任意です。

📬 フィヌドバックずコントリビュヌション

このブルヌプリントの改善に向けたフィヌドバックやコントリビュヌションをお埅ちしおいたす。 GitHub リポゞトリでむシュヌを䜜成するか、プルリク゚ストを送信しおください。 このブルヌプリントをフォヌクしお拡匵した堎合も、ぜひお知らせください。

別途明瀺されない限り、Apache-2.0 ラむセンスで定矩されおいるずおり、あなたが本䜜品ぞの収録を目的ずしお意図的に提出したコントリビュヌションは、远加の条件や制玄なしに、䞊蚘のデュアルラむセンスの䞋でラむセンスされたす。

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。