Fuel Network & Sway Language MCP Server について
Fuel Network & Sway Language MCP Serverは、開発者やIDE向けにFuelとSwayのドキュメント検索を提供します。文書をローカルで索引化し、セマンティック検索とキーワード検索へのフォールバックを組み合わせます。stdioとHTTPに対応します。
主な機能
- 01Fuelドキュメントのローカル意味検索
- 02キーワード検索に切り替えるハイブリッド検索
- 03Vectraによるファイルベースの索引
- 04Sway標準ライブラリのパスと型を提供
- 05stdioとHTTPのトランスポートに対応
活用シーン
- 01IDE内でFuelドキュメントを検索
- 02FuelVMやスマートコントラクトの情報を探す
- 03Sway標準ライブラリのパスと型を取得
MCP 対応
MCP サーバーとして、ドキュメント検索用の`searchFuelDocs`とSwayコンテキスト用の`provideStdContext`を公開します。stdioとHTTPのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Fuel Network と Sway Language の MCP サーバー
このプロジェクトは、Fuel Network と Sway Language のエコシステム向けに Model Context Protocol(MCP)サーバーを提供します。IDE(Cursor など)から、開発環境内で Fuel のドキュメントを直接検索し、操作できます。
このサーバーは、オープンソースの埋め込みモデル(Transformers.js 経由)を使用して、Fuel と Sway のドキュメントをローカルの Vectra ベクトルデータベースにインデックス化し、高度なセマンティック検索機能を実現します。
機能
- docs.fuel.network のコンテンツをローカルでセマンティック検索
- Docker 不要 — Bun だけで実行可能
- Vectra による高速なファイルベースのベクトルストレージ
- 検索結果のフィルタリングとフォーマットを強化
- キーワード検索へのフォールバックに対応したハイブリッド検索
クイックインストール
# Clone the repo
git clone https://github.com/FuelLabs/fuel-mcp-server
cd fuel-mcp-server
# Install dependencies
bun install
# Index documentation
bun run src/indexer.ts ./docs
# Test search
bun run src/query.ts --run "What is FuelVM?"
# Start MCP server
bun run src/cli.ts
使用方法
STDIO トランスポート(デフォルト)
bun run src/cli.ts
# or explicitly
bun run src/cli.ts --transport stdio
HTTP トランスポート
bun run src/cli.ts --transport http --port 3500
# Server runs at http://127.0.0.1:3500/mcp
# Health check: http://127.0.0.1:3500/health
CLI オプション
bun run src/cli.ts --help
bun run src/cli.ts --transport http --port 3500
bun run src/cli.ts --transport stdio
Claude/Cursor との連携
MCP 設定ファイルに追加してください:
{
"mcpServers": {
"fuel-server": {
"command": "bun",
"args": ["run", "/absolute/path/to/fuel-mcp-server/src/cli.ts", "--transport", "stdio"]
}
}
}
プロジェクト構成
.
├── docs/ # Markdown documentation files
├── src/
│ ├── cli.ts # Main CLI entry point
│ ├── server.ts # MCP server factory
│ ├── transports/
│ │ ├── stdio.ts # STDIO transport
│ │ └── http.ts # HTTP transport
│ ├── chunker.ts # Markdown chunking logic
│ ├── indexer.ts # Document indexing script
│ ├── query.ts # Search query script
│ └── *.test.ts # Test files
├── vectra_index/ # Local vector database (created after indexing)
├── package.json
└── README.md
前提条件
- Bun: bun.sh からインストールしてください
使用方法
1. ドキュメントをインデックス化する
Markdown ファイルを ./docs に配置するか、別のディレクトリを指定してください:
# Index docs in ./docs (default)
bun run src/indexer.ts
# Index custom directory
bun run src/indexer.ts /path/to/your/docs
# With custom settings
EMBEDDING_MODEL=Xenova/bge-small-en-v1.5 bun run src/indexer.ts ./docs
2. ドキュメントを検索する
# Basic search
bun run src/query.ts --run "What is the FuelVM?"
# Custom number of results
NUM_RESULTS=10 bun run src/query.ts --run "smart contracts"
3. MCP サーバーを実行する
# Start MCP server (stdio-mode)
bun run src/cli.ts
# With HTTP transport
bun run src/cli.ts --transport http --port 3500
4. テストを実行する
bun test
環境変数
| 変数 | デフォルト値 | 説明 |
|---|---|---|
VECTRA_INDEX_PATH | ./vectra_index | ベクトルデータベースの保存場所 |
EMBEDDING_MODEL | Xenova/all-MiniLM-L6-v2 | Hugging Face モデル |
CHUNK_SIZE | 2000 | チャンクあたりの目標トークン数 |
NUM_RESULTS | 5 | 検索結果の件数 |
LOG_LEVEL | 詳細な出力を表示するには debug に設定 |
実装の詳細
- チャンク分割: コードブロックを維持し、文脈を考慮しながら段落単位で分割します
- インデックス化: 検索精度向上のため、拡張メタデータとともに埋め込みを生成します
- クエリ処理: 品質フィルタリングとキーワード検索へのフォールバックを備えたセマンティック検索
- MCP サーバー: STDIO 通信を介して検索をツールとして公開します
- ストレージ: ファイルベースの Vectra インデックス(外部データベースは不要)
API
MCP ツール
searchFuelDocs
query(string):検索クエリnResults(number、任意):検索結果の件数(デフォルト:5)includeScore(boolean、任意):関連度スコアを含めるかどうか
provideStdContext
- Sway 標準ライブラリのパスと型を返します
開発
# Install dependencies
bun install
# Run tests
bun test
# Index sample docs
bun run src/indexer.ts ./docs
# Test search functionality
bun run src/query.ts --run "test query"
# Start MCP server for development (STDIO)
bun run src/cli.ts
# Start MCP server for development (HTTP)
bun run src/cli.ts --transport http --port 3500
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。