Skip to main content

MCP server for searching MCP protocol and FastMCP documentation

Project description

MCP Server Builder

PyPI version CI Python 3.13+ License: MIT

Model Context Protocol (MCP) server for searching MCP protocol and FastMCP documentation.

This MCP server helps you build correct MCP servers by providing searchable access to the official MCP specification and FastMCP framework documentation, always reflecting the current state of the protocol.

Features

  • BM25 Search — Advanced full-text search with Porter stemming and n-gram indexing
  • Stop Word Removal — 179 common English stop words filtered for better relevance
  • Domain Term Preservation — MCP-specific terms (mcp, json, rpc, stdio) kept intact
  • Lazy Loading — Fast startup with on-demand content fetching
  • Always Current — Indexes live documentation from llms.txt sources on startup

Data Sources

The server indexes documentation from these curated llms.txt sources:

Source Description
modelcontextprotocol.io/llms.txt Official MCP protocol specification
gofastmcp.com/llms.txt FastMCP Python framework documentation

Prerequisites

  1. Install uv from Astral
  2. Install Python 3.13 or newer using uv python install 3.13

Installation

Configure in your MCP client:

{
  "mcpServers": {
    "mcp-server-builder": {
      "command": "uvx",
      "args": ["mcp-server-builder@latest"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Config file locations:

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude Desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json
  • Windsurf: ~/.codeium/windsurf/mcp_config.json
  • Kiro: .kiro/settings/mcp.json in your project

Install from PyPI

# Using uv
uv add mcp-server-builder

# Using pip
pip install mcp-server-builder

Basic Usage

Example prompts to try:

  • "How do I define tools in FastMCP?"
  • "What is the MCP lifecycle?"
  • "Show me stdio transport configuration"
  • "How to handle tool errors in MCP?"
  • "What are MCP resources and how do I use them?"

Available Tools

search_mcp_docs

Search MCP protocol AND FastMCP framework documentation with ranked results and snippets.

search_mcp_docs(query: str, k: int = 5, source: str | None = None) -> list[dict]
Parameter Type Default Description
query str required Search query (e.g., "tool input schema", "stdio transport")
k int 5 Maximum number of results to return
source str | None None Optional filter: "mcp" for protocol docs, "fastmcp" for framework docs

Returns: List of results with url, title, score, snippet, and source.

Examples:

# Search both sources
search_mcp_docs("how to define tools", k=3)

# Search only MCP protocol docs
search_mcp_docs("lifecycle", source="mcp")

# Search only FastMCP framework docs
search_mcp_docs("authentication", source="fastmcp")

fetch_mcp_doc

Retrieve full documentation page content by URL from MCP protocol or FastMCP framework docs.

fetch_mcp_doc(uri: str) -> dict
Parameter Type Default Description
uri str required Document URL (http/https from supported domains)

Supported domains: modelcontextprotocol.io, gofastmcp.com

Returns: Dictionary with url, title, content, source (or error on failure).

Example:

# Fetch MCP protocol doc
fetch_mcp_doc("https://modelcontextprotocol.io/docs/concepts/tools")

# Fetch FastMCP framework doc
fetch_mcp_doc("https://gofastmcp.com/tutorials/tools")

Workflow Example

Step 1: Search for relevant documentation

search_mcp_docs("FastMCP tool decorator", k=5)

Step 2: Fetch full content of the most relevant result

fetch_mcp_doc("https://gofastmcp.com/tutorials/tools")

Architecture

llms.txt URLs (MCP + FastMCP)
    ↓ startup
BM25 index with stemmed tokens + n-grams (titles only, fast)
    ↓ search request
Stem query → match unigrams/bigrams/trigrams → BM25 rank
    ↓ top-k
Lazy content hydration → snippet extraction
    ↓ response
{ url, title, score, snippet }

Development

# Clone and install
git clone https://github.com/praveenc/mcp-server-builder.git
cd mcp-server-builder
uv sync --dev
source .venv/bin/activate

# Run tests
uv run pytest

# Run with MCP Inspector
npx @anthropic-ai/mcp-inspector uv run mcp-server-builder

# Linting and type checking
uv run ruff check src tests
uv run pyright

License

MIT - see LICENSE for details.

Contributing

Contributions welcome! Please open an issue or submit a pull request.

Support

For issues and questions, use the GitHub issue tracker

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_builder-0.2.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_builder-0.2.0-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_builder-0.2.0.tar.gz.

File metadata

  • Download URL: mcp_server_builder-0.2.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_server_builder-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c7b2d6486070043b8eca99151468439146140c348f9fed34a73a06130eebe8c1
MD5 988cb6b6a62b065462abcb5da9ad11be
BLAKE2b-256 d7f564a19b40711be35f5b85796b78b4759ea2db69d70202af1aa2efc2af5c08

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_builder-0.2.0.tar.gz:

Publisher: publish.yml on praveenc/mcp-server-builder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_server_builder-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_builder-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0cc54bf55773dd459efe97679e6930b3b39783404c1c8f23d4f4dd9686fff113
MD5 9b51bca516e46f3d020b237f9a4e3ce7
BLAKE2b-256 bedc09e40eb5d77875230683e44925d7e2a97114222123a914d77a226a9eb1d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_builder-0.2.0-py3-none-any.whl:

Publisher: publish.yml on praveenc/mcp-server-builder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page