Skip to main content
Glama
FuelLabs

Fuel Network & Sway Language MCP Server

Official
by FuelLabs

Fuel Network & Sway Language MCP Server

This project provides a Model Context Protocol (MCP) server for the Fuel Network and Sway Language ecosystem. It allows IDEs (like Cursor) to search and interact with Fuel documentation directly within the development environment.

The server indexes Fuel and Sway documentation into a local Vectra vector database using open-source embeddings (via Transformers.js) for powerful semantic search capabilities.

Features

  • Local semantic search of docs.fuel.network content

  • No Docker dependency - runs with just Bun

  • Fast file-based vector storage with Vectra

  • Enhanced result filtering and formatting

  • Hybrid search with keyword fallback

Quick Install

# 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

Usage

STDIO Transport (Default)

bun run src/cli.ts # or explicitly bun run src/cli.ts --transport stdio

HTTP Transport

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 Options

bun run src/cli.ts --help bun run src/cli.ts --transport http --port 3500 bun run src/cli.ts --transport stdio

Claude/Cursor Integration

Add to your MCP config file:

{ "mcpServers": { "fuel-server": { "command": "bun", "args": ["run", "/absolute/path/to/fuel-mcp-server/src/cli.ts", "--transport", "stdio"] } } }

Project Structure

. ├── 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

Prerequisites

Usage

1. Index Documents

Place markdown files in ./docs or specify a different directory:

# 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. Search Documents

# 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. Run MCP Server

# Start MCP server (stdio-mode) bun run src/cli.ts # With HTTP transport bun run src/cli.ts --transport http --port 3500

4. Run Tests

bun test

Environment Variables

Variable

Default

Description

VECTRA_INDEX_PATH

./vectra_index

Vector database location

EMBEDDING_MODEL

Xenova/all-MiniLM-L6-v2

Hugging Face model

CHUNK_SIZE

2000

Target tokens per chunk

NUM_RESULTS

5

Search results count

LOG_LEVEL

Set to debug for verbose output

Implementation Details

  • Chunking: Preserves code blocks, splits by paragraphs with context awareness

  • Indexing: Generates embeddings with enhanced metadata for better search

  • Querying: Semantic search with quality filtering and keyword fallback

  • MCP Server: Exposes search as tool via stdio communication

  • Storage: File-based Vectra index (no external database required)

API

MCP Tools

searchFuelDocs

  • query (string): Search query

  • nResults (number, optional): Number of results (default: 5)

  • includeScore (boolean, optional): Include relevance scores

provideStdContext

  • Returns Sway standard library paths and types

Development

# 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
-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/FuelLabs/fuel-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server