关于 Fuel Network & Sway Language MCP Server
Fuel Network & Sway Language MCP Server 为开发者和 IDE 提供 Fuel 与 Sway 文档搜索。它在本地索引文档,结合语义搜索与关键词回退,并支持 stdio 和 HTTP 传输。
主要功能
- 01本地语义搜索 Fuel 文档
- 02支持关键词回退的混合搜索
- 03使用 Vectra 文件索引
- 04提供 Sway 标准库路径与类型
- 05支持 stdio 和 HTTP 传输
适用场景
- 01在 IDE 中查询 Fuel 文档
- 02查找 FuelVM 或智能合约资料
- 03检索 Sway 标准库路径与类型
MCP 相关
作为 MCP 服务,它向客户端提供 `searchFuelDocs` 文档搜索工具和 `provideStdContext` 上下文工具,支持 stdio 与 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Fuel Network 和 Sway Language MCP 服务
本项目为 Fuel Network 和 Sway Language 生态系统提供 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(字符串):搜索查询nResults(数字,可选):结果数量(默认值:5)includeScore(布尔值,可选):包含相关性分数
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
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。