Mcp Docs Server

io.github.praveencPublished by GitHub account praveencv0.1.0Updated Oct 24, 2026

MCP server for searching MCP protocol documentation

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Local MCP server that lets an assistant search and fetch MCP protocol documentation from modelcontextprotocol.io with ranked BM25 results.

What you can do
  • Search MCP protocol documentation with ranked results and a configurable result count
  • Fetch the full content of a documentation page by its URL
  • Return titles, scores and snippets for matches, weighting headers, code blocks and links
When to use it
Useful when you are building or debugging MCP servers and clients and want the assistant to look up the protocol specification, transports, tools and similar topics without leaving the chat.
Requirements
Runs as a local stdio process, typically launched with npx from the npm package @praveenc/mcp-docs-server (Node.js required) or installed globally. No authentication, environment variables or headers are declared. Network access to modelcontextprotocol.io is needed to fetch documents.
Before you install
The server fetches documentation pages over the network from modelcontextprotocol.io, so queries and requested URLs go to that site. It only reads documentation; no credentials or write actions are declared.

Installation

In SourceWeft

  1. Open Mcp Docs Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

MCP Docs Server

A Model Context Protocol (MCP) server for searching MCP protocol documentation. Built with TypeScript using the official MCP SDK.

[npm version] [MCP Registry]

Features

  • BM25 Search - High-quality ranked search using BM25 algorithm with Porter stemming
  • Fast Startup - Indexes document titles at startup, fetches content on-demand
  • Markdown Aware - Weights headers, code blocks, and links for better relevance
  • stdio Transport - Runs as a local process for easy integration

Installation

Quick Start (Recommended)

Add to your MCP client configuration (Claude Desktop, Kiro, etc.):

json
{  "mcpServers": {    "mcp-docs-server": {      "command": "npx",      "args": ["-y", "@praveenc/mcp-docs-server"]    }  }}

That's it! The server will be downloaded and run automatically.

Global Install

bash
npm install -g @praveenc/mcp-docs-server

Then configure your MCP client:

json
{  "mcpServers": {    "mcp-docs-server": {      "command": "mcp-docs-server"    }  }}

Tools

search_mcp_docs

Search MCP protocol documentation with ranked results.

Parameters:

  • query (string, required): Search query string
  • k (number, optional): Maximum results to return (default: 5). Returns fewer if fewer documents match.

Example:

json
{  "query": "transports",  "k": 5}

Returns:

json
[  {    "url": "https://modelcontextprotocol.io/specification/2025-11-25/basic/transports.md",    "title": "Transports",    "score": 15.725,    "snippet": "MCP uses JSON-RPC to encode messages..."  }]

fetch_mcp_doc

Fetch full document content by URL.

Parameters:

  • uri (string, required): Document URL from modelcontextprotocol.io

Example:

json
{  "uri": "https://modelcontextprotocol.io/specification/2025-11-25/server/tools.md"}

Returns:

json
{  "url": "https://modelcontextprotocol.io/specification/2025-11-25/server/tools.md",  "title": "Tools",  "content": "# Tools\n\nTools enable servers to expose executable functionality..."}

Testing with MCP Inspector

bash
npx @modelcontextprotocol/inspector npx -y @praveenc/mcp-docs-server

Development

Clone the repository for local development:

bash
git clone https://github.com/praveenc/mcp-docs-server.gitcd mcp-docs-servernpm install

Commands

bash
# Run in development modenpm run dev
# Run testsnpm test
# Type checknpm run typecheck
# Buildnpm run build
# Test with MCP Inspector (development)npm run inspect:dev

Local MCP Client Config (Development)

json
{  "mcpServers": {    "mcp-docs-server": {      "command": "npx",      "args": ["tsx", "/path/to/mcp-docs-server/src/index.ts"]    }  }}

Architecture

text
src/├── index.ts          # MCP server entry point├── config.ts         # Configuration├── tools/│   └── docs.ts       # search_mcp_docs, fetch_mcp_doc└── utils/    ├── cache.ts      # Document caching    ├── doc-fetcher.ts # HTTP fetching & HTML parsing    ├── indexer.ts    # BM25 search index    ├── logger.ts     # Logging utilities    ├── stopwords.ts  # Stop words list    ├── text-processor.ts # Text utilities    └── url-validator.ts  # URL validation

Search Algorithm

The search uses BM25 (Best Matching 25) with enhancements:

  • Porter Stemming - Matches word variants (e.g., "running" → "run")
  • Bigrams - Captures phrase matches (e.g., "tool input")
  • Weighted Scoring:
    • Title matches: 3-8x boost
    • Header matches: 4x weight
    • Code blocks: 2x weight
    • Link text: 2x weight
  • Domain Term Preservation - Technical terms like "mcp", "json", "stdio" are not stemmed

License

MIT

Source: README.md at commit e0bb31d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.