Skip to main content
Glama
MCP Server Builder
by praveenc

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

Related MCP server: mcp-docs-server

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

Available Tools

2 tools
fetch_mcp_docA

Fetch full document content by URL from MCP protocol or FastMCP framework docs.

Retrieves complete documentation content from URLs found via search_mcp_docs or provided directly. Works with both documentation sources:

Supported domains:

  • modelcontextprotocol.io - Official MCP protocol specification

  • gofastmcp.com - FastMCP Python framework documentation

Use this to get full documentation pages when search snippets aren't sufficient, including:

  • Complete protocol specifications and API references

  • Full tutorial and example code

  • Configuration, authentication, and deployment instructions

Args: uri: Document URI (http/https URLs from supported domains)

Returns: Dictionary containing: - url: Canonical document URL - title: Document title - content: Full document text content - source: Documentation source ("mcp" or "fastmcp") - error: Error message (only present if fetch failed)

Inputs: uri (required). Returns: object

search_mcp_docsA

Search MCP protocol AND FastMCP framework documentation with ranked results.

This tool searches across both documentation sources simultaneously:

MCP Protocol (modelcontextprotocol.io):

  • Official protocol specification and architecture

  • Transports (stdio, streamable HTTP)

  • Tools, Resources, and Prompts primitives

  • Lifecycle, capabilities negotiation, and security

FastMCP Framework (gofastmcp.com):

  • Python framework for building MCP servers

  • Decorators, type hints, and Pydantic integration

  • Authentication, deployment, and production patterns

  • Client SDK and cloud deployment

Use this to find documentation for building MCP servers with either approach.

Args: query: Search query string (e.g., "tool input schema", "stdio transport") k: Maximum number of results to return (default: 5) source: Optional filter - "mcp" for protocol docs only, "fastmcp" for framework docs only. If None, searches both sources.

Returns: List of dictionaries containing: - url: Document URL - title: Display title - score: Relevance score (higher is better) - snippet: Contextual content preview - source: Documentation source ("mcp" or "fastmcp")

Inputs: query (required), k, source. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: search returns ranked snippets, fetch retrieves full document content. No overlap in functionality.

    Naming Consistency5/5

    Both tools follow a consistent verb_noun pattern ('search_mcp_docs', 'fetch_mcp_doc'), making them predictable and easy to understand.

    Tool Count4/5

    With only two tools, the server is lean but covers the core documentation retrieval workflow (search and fetch). The name 'MCP Server Builder' might imply broader functionality, but the tool set is appropriate for a focused documentation assistant.

    Completeness4/5

    The two tools cover the essential search and retrieve cycle for MCP documentation. A minor gap is the lack of a tool to list available documentation sections or browse structure, but the current set is functional with no dead ends.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables searching and retrieving documentation from crawled documentation sites as an MCP server, allowing coding agents to query real docs instead of relying on training data.
      4
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for searching and retrieving Akamai TechDocs documentation using local BM25 keyword search with no external API calls.
      -