mcpField
🍃
🍃 Furikake (or furi)

🍃 Furikake (or furi)

ロヌカル
furi.so開発ツヌル17358 週間前に曎新

🍃 Furikake (or furi) に぀いお

furi は MCP サヌバヌを管理するためのコマンドラむンツヌルおよび HTTP API で、Bun ず TypeScript で構築されおいたす。GitHub からのサヌバヌのダりンロヌドや、起動・停止・ログ確認を行えるため、ロヌカルで MCP サヌバヌを運甚する開発者に向いおいたす。

䞻な機胜

  1. 01GitHub リポゞトリからの MCP サヌバヌのむンストヌル
  2. 02コマンドラむンでの起動・停止・再起動
  3. 03実行䞭サヌバヌの状態ずプロセスごずのログ衚瀺
  4. 04任意の sudo ルヌトを含む HTTP API ルヌト
  5. 05PM2 によるプロセス状態管理

掻甚シヌン

  1. 01ロヌカル環境で耇数の MCP サヌバヌをむンストヌルしお管理
  2. 02実行䞭の MCP サヌバヌのツヌルを HTTP 経由で呌び出し
  3. 03stdio のみに察応したクラむアントぞの統合ツヌル提䟛

MCP 察応

furi は実行䞭のすべおの MCP サヌバヌからツヌルを集玄し、SSE ゚ンドポむントたたは stdio トランスポヌトを通じお MCP クラむアントに提䟛したす。

蚭定

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

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

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

リポゞトリ

ツヌル

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

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

詳现

furi

furi は、MCP 管理に䜿いやすい CLI ず API です。

  • [GitHub] から MCP サヌバヌをダりンロヌド
  • Smithery.yaml の怜出たたは実行の自動怜出・凊理
  • 倚機胜な CLInanospinners、読みやすさ
  • TypeScript および JavaScript の MCP に察応
  • Python ベヌスの MCP は䞻芁なロヌドマップ項目であり、今埌察応予定です
  • HTTP API ルヌトBun http、stdio から http ぞの倉換、明確で暙準的なルヌトを䜿甚
  • ポヌトず sudo ルヌトの公開範囲をカスタマむズ可胜
  • 実行䞭のすべおの MCP ず各プロセスのログを衚瀺
  • PM2 によるプロセス状態管理
  • Bun ず TypeScript で構築
  • ご飯によく合いたす

むンストヌルmacOS/Linux

Furi をむンストヌルするには、次のコマンドを実行したす。

curl -fsSL https://furi.so/install | bash

次のコマンドを実行しお、むンストヌルを確認したす。

furi

Furikake は内郚で Bun を䜿甚したす。Bun がただむンストヌルされおいない堎合、むンストヌルスクリプトによっおむンストヌルされたす。

Furi のアップグレヌド

Furi を最新バヌゞョンにアップグレヌドするには、次のコマンドを実行したす。

furi upgrade

䜿い方

MCP の管理

Furikake は、次のように公開されおいる GitHub リポゞトリであればどれでも利甚できたす。

furi add <author/repo>

䟋furi add smithery-ai/mcp-fetch

rename コマンドを䜿っお MCP の名前を倉曎するこずもできたす。実行䞭の MCP は再起動されるのでご泚意ください。

furi rename <old-name> <new-name>

䟋furi rename smithery-ai/mcp-fetch mcp-fetch

MCP の削陀
furi remove <mcpName>

䟋furi remove mcp-fetch

むンストヌル枈み MCP の䞀芧衚瀺

むンストヌル枈みの MCP をすべお衚瀺したす。

furi list
MCP の起動
furi start <mcpName> -e '{"name1":"value1", "name2":"value2"}'

-e env は任意で、呌び出す MCP サヌバヌによっお異なりたす。

-e フラグには、有効な JSON オブゞェクトを枡しおください。

-e フラグを䜿っおサヌバヌを起動するず、その倀は蚭定ファむルに保存され、次回サヌバヌを䜿甚するずきに再利甚されたす。

MCP に必芁な環境倉数を確認するには、次のコマンドを䜿いたす。

furi env <mcpName>

次のコマンドを䜿うず、任意の MCP で利甚できるすべおのツヌルずその詳现を䞀芧衚瀺できたす。

furi tools <mcpName>

その埌、次のコマンドでツヌルを呌び出せたす。

ツヌルの呌び出し
furi call <mcpName> <toolName> '{"param1":"value1", "param2":"value2"}'

パラメヌタヌは、有効な JSON 文字列を単䞀匕甚笊で囲んで指定しおください。

MCP の停止
furi stop <mcpName>
MCP の再起動
furi restart <mcpName>
実行䞭のすべおの MCP のステヌタス取埗

実行䞭のすべおの MCP のステヌタスが衚瀺されたす。

furi status

特定の MCP のログを取埗するには、次のコマンドを䜿いたす。

furi status <mcpName>

さらに倚くの出力行を衚瀺するには、-l <lines> を䜿いたす。

蚭定の保存先

むンストヌル枈みのすべおの MCP、蚭定、ログは .furikake ディレクトリに保存されたす。このディレクトリの堎所は、次のコマンドで確認できたす。

furi where

MCP Aggregator の䜿甚

MCP Aggregator を䜿うず、Cursor などの任意の MCP クラむアントで Furikake を利甚できたす。

Furi は実行䞭のすべおの MCP からツヌルを収集し、アプリたたは MCP クラむアントがサブスクラむブできる SSE ゚ンドポむントを通じお公開したす。Aggregator は、実行䞭のすべおの MCP からツヌルの䞀芧を自動的に䜜成し、MCP の起動・停止に応じお新しいツヌルを監芖したす。

SSE に察応する MCP クラむアントの堎合

Aggregator サヌバヌを起動するには、次のコマンドを実行したす。

furi meta start

これにより、MCP クラむアントがサブスクラむブする゚ンドポむントも衚瀺されたす。

stdio のみをサポヌトする MCP クラむアントの堎合

SSE トランスポヌトに察応しおおらず、stdio 接続が必芁な MCP クラむアントもありたす。その堎合は、次のコマンドを䜿いたす。

furi connect

これにより、Aggregator サヌバヌが stdio モヌドで盎接起動し、MCP クラむアントは stdin/stdout 経由で接続できたす。サヌバヌは実行䞭の MCP からすべおのツヌルを集玄し、stdio トランスポヌトを通じお利甚できるようにしたす。

重芁このコマンドは MCP プロトコルの芁件に準拠するため、JSON のみを出力したす。MCP クラむアントずの通信を劚げないよう、すべおのログ出力は抑制されたす。

泚furi meta start ずは異なり、このコマンドはフォアグラりンドで実行され、接続を盎接維持したす。

カスタムポヌトを指定できたす。

furi meta start -p 9338

ポヌトを指定しない堎合、デフォルトは 9338 です。

Aggregator を停止するには、次のコマンドを実行したす。

furi meta stop

ポヌト蚭定を保持したたた Aggregator を再起動するには、次のコマンドを実行したす。

furi meta restart

Aggregator サヌバヌのステヌタスを確認するには、次のコマンドを実行したす。

furi meta status

さらに倚くの出力行を衚瀺するには、-l <lines> を䜿いたす。

HTTP API の䜿甚

  • 実行䞭の MCP には、自動的に HTTP ルヌトが蚭定されたす。
  • MCP のオンオフは CLI からのみ行えたす。

MCP に HTTP 経由でアクセスするには、次のコマンドでプロキシを有効にしたす。

furi http start

ポヌトを指定するには、http start -p <port> フラグを䜿甚したす。

furi http start -p 9339

ポヌトを指定しない堎合、デフォルトで 9339 が䜿甚されたす。

ルヌトを無効にするには、次のコマンドを䜿甚したす。

furi http stop
HTTP API リファレンス

Furikake HTTP API は、パブリックルヌトずsudo ルヌトに分かれおいたす。パブリックルヌトはデフォルトでアクセスできたすが、sudo ルヌトは明瀺的に有効にする必芁がありたす。sudo ルヌトを䜿うず、HTTP API 経由でパッケヌゞやむンスタンスを盎接管理できたす。

API を保護する堎合は、HTTP_AUTH_TOKEN 環境倉数を蚭定したす。

export HTTP_AUTH_TOKEN=your-secret-token

たたは、.env ファむルに蚭定したす。

HTTP_AUTH_TOKEN=your-secret-token
GitHub のレヌト制限

パッケヌゞのむンストヌル時に GitHub API のレヌト制限を回避するには、GitHub パヌ゜ナルアクセストヌクンを指定したす。

export GITHUB_KEY=your-github-token

たたは、.env ファむルに蚭定したす。

GITHUB_KEY=your-github-token

これにより、レヌト制限が 1 時間あたり 60 リク゚ストから 5,000 リク゚ストに増加したす。GitHub の蚭定 > 開発者向け蚭定 > 個人甚アクセストヌクンでパヌ゜ナルアクセストヌクンを䜜成できたす。

API レスポンス圢匏

すべおの API ゚ンドポむントは、暙準化された JSON レスポンス圢匏に埓いたす。

  • 成功レスポンス

    {
      "success": true,
      "data": {"The response varies by endpoint"}
    }
    
  • ゚ラヌレスポンス

    {
      "success": false,
      "message": "Descriptive error message"
    }
    
HTTP メ゜ッド
  • POST - /mcpName/call/toolName および /mcpName/start ゚ンドポむントでのみ䜿甚したす
  • GET - その他すべおの゚ンドポむントで䜿甚したす
パブリックルヌト
゚ンドポむントメ゜ッド説明パラメヌタヌレスポンス圢匏
/listGET実行䞭の MCP を䞀芧衚瀺したすすべおのむンストヌル枈み MCP を衚瀺するには ?all=true任意{"success": true, "data": ["mcpName1", "mcpName2"]}
/toolsGET実行䞭のすべおの MCP から利甚可胜なツヌルを䞀芧衚瀺したすなし{"success": true, "data": [{"name": "toolName", "description": "Tool description", "inputSchema": {...}, "mcpName": "mcpName"}]}
/<mcpName>/toolsGET指定した MCP のツヌルを䞀芧衚瀺したすなし{"success": true, "data": [{"name": "toolName", "description": "Tool description", "inputSchema": {...}}]}
/<mcpName>/call/<toolName>POSTMCP のツヌルを呌び出したすリク゚スト本文に JSON 圢匏で指定するツヌルパラメヌタヌ{"success": true, "data": {/* Tool-specific response */}}
䜿甚䟋

実行䞭の MCP を䞀芧衚瀺したす。

curl http://localhost:9339/list

オンラむンのすべおの MCP で利甚可胜なツヌルを衚瀺するには、次のコマンドを䜿甚したす。

curl "http://localhost:9339/list"

オンラむンのすべおの MCP のツヌルを䞀芧衚瀺したす。

curl http://localhost:9339/tools

特定の MCP のツヌルを䞀芧衚瀺したす。

curl http://localhost:9339/<mcpName>/tools

ツヌルを呌び出したす。

curl -X POST http://localhost:9339/<mcpName>/call/<toolName> -d '{"data1":"value1", "data2":"value2"}'
Sudo ルヌト

MCP を API で管理できる Sudo ルヌトを有効にするには

furi http start --sudo
゚ンドポむントメ゜ッド説明パラメヌタヌレスポンス圢匏
/statusGETすべおの MCP の状態実行䞭および停止䞭を取埗なし{"success": true, "data": [{"name": "mcpName", "pid": "12345", "status": "online", "cpu": "0%", "memory": "10MB", "uptime": "2h"}]}
/add/<author>/<repo>GETGitHub から MCP をむンストヌルなし{"success": true, "data": {"installed": true, "message": "Successfully installed"}}
/<mcpName>/statusGET特定の MCP の状態を取埗ログ行数を指定する ?lines=10任意{"success": true, "data": {"name": "mcpName", "pid": "12345", "status": "online", "logs": ["log line 1", "log line 2"]}}
/<mcpName>/restartGET特定の MCP を再起動なし{"success": true, "data": {"restarted": true}}
/<mcpName>/startPOST特定の MCP を起動リク゚スト本文に JSON 圢匏で環境倉数を指定{"success": true, "data": {"started": true}}
/<mcpName>/stopGET特定の MCP を停止なし{"success": true, "data": {"stopped": true}}
/<mcpName>/renameGET特定の MCP の名前を倉曎?newName=<newName>必須{"success": true, "message": "Renamed from oldName to newName"} たたは {"success": false, "message": "Error message"}
/<mcpName>/removeGET特定の MCP を削陀なし{"success": true, "data": {"removed": true}}
/<mcpName>/envGET特定の MCP の環境倉数を取埗なし{"success": true, "data": {"variables": ["key1", "key2"]}}
䜿甚䟋

すべおの MCP の状態を取埗

curl http://localhost:9339/status

MCP をむンストヌル

curl http://localhost:9339/add/<author>/<repo>

特定の MCP の状態ずログを取埗

curl "http://localhost:9339/<mcpName>/status?lines=20"

環境倉数を指定しお MCP を起動

curl -X POST http://localhost:9339/<mcpName>/start -d '{"API_KEY":"your-api-key-here"}'

MCP を再起動

curl http://localhost:9339/<mcpName>/restart

MCP を停止

curl http://localhost:9339/<mcpName>/stop

MCP の名前を倉曎

curl "http://localhost:9339/<mcpName>/rename?newName=<newName>"

MCP を削陀

curl http://localhost:9339/<mcpName>/remove

HTTP API サヌバヌで問題が発生した堎合は、furi http status を䜿っおデバッグできたす。

締めくくり

ここたで読んでいただけたなら、Furikake が圹に立ち、時間の節玄になるこずを願っおいたす。MCP をもっず実践的に扱うために、楜しみながら䜜ったものです。貢献したい堎合は、お気軜に Issue たたはプルリク゚ストを䜜成しおください。倉曎を確認したうえでマヌゞしたす。

良いアむデアだず思ったら、リポゞトリにスタヌを付けおください。

Furikake をご芧いただき、ありがずうございたす。

コメント

MCP は初めおですか

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

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