Skip to main content
Glama

Repo Docs MCP (Bun)

Generic MCP stdio server that exposes a local repository checkout (docs + code) to any MCP host.

Designed for the “one codebase, many instances” workflow:

  • you run the same server binary multiple times,

  • each instance points at a different repo via env,

  • each instance gets its own tool prefix + URI scheme.

What it provides

Tools (names are prefixed)

Given MCP_TOOL_PREFIX=telegraph, tools are:

  • telegraph_read_repo_file — read any text file from the repo checkout

  • telegraph_list_docs — list doc pages as slug -> docs/... (slug is inferred from the docs file path)

  • telegraph_get_doc — read a doc page by slug

  • telegraph_search_docs — search inside the docs directory

  • telegraph_search_code — search inside common code directories

  • telegraph_refresh_index — rebuild the docs index

  • telegraph_git_fetchgit fetch --prune --tags for the repo (optional helper)

  • telegraph_info — print server settings (paths, prefixes, etc.)

Resources (names are prefixed by URI scheme)

Given MCP_URI_SCHEME=telegraph, resources are:

  • telegraph://readme

  • telegraph://contributing

  • telegraph://doc/{slug}

Prompts

  • {prefix}_doc_writer — starter workflow for “write a guide / answer about this repo”.

Related MCP server: Repo Interrogator

Install

bun install
bun run build

Run (stdio)

MCP_REPO_ROOT=/ABS/PATH/to/repo \
MCP_TOOL_PREFIX=myrepo \
MCP_URI_SCHEME=myrepo \
bun run start

In stdio mode, logs go to stderr on purpose (stdout is reserved for MCP JSON-RPC).

Environment variables

Required:

  • MCP_REPO_ROOT — absolute path to the local repo checkout

Optional:

  • MCP_TOOL_PREFIX — tool name prefix (default: repo)

  • MCP_URI_SCHEME — resource URI scheme (default: derived from tool prefix)

  • MCP_REPO_LABEL — text label used in the prompt (default: basename of repo root)

  • MCP_DOCS_DIR — docs directory relative to repo root (default: docs)

  • MCP_DOCS_DISCOVERY_DEPTH — if > 0 and MCP_DOCS_DIR is a plain folder name, auto-discovers matching docs dirs up to this depth (default: 3)

  • MCP_DOCS_EXTS — comma-separated docs extensions (default: .md,.mdx)

  • MCP_CODE_DIRS — comma-separated dirs to search for code (default: src,config,routes,database,resources,tests)

  • MCP_CODE_EXTS — comma-separated extensions for code search (default: .php,.md,.json,.yml,.yaml,.xml,.ts,.js)

Limits:

  • MCP_MAX_FILE_BYTES (default: 512KB)

  • MCP_DEFAULT_MAX_CHARS (default: 50k chars)

Git helper:

  • MCP_GIT_AUTO_FETCH=1 — run git fetch --prune --tags once at server start (default: off)

  • MCP_GIT_FETCH_TIMEOUT_MS — timeout for the fetch command (default: 30000)

Compatibility:

  • If MCP_REPO_ROOT is not set, the server will fall back to MCP_TELEGRAPH_ROOT (legacy name).

Codex config (two instances; one codebase)

Add this to ~/.codex/config.toml:

[mcp_servers.telegraph_docs]
command = "/ABS/PATH/TO/bun"
cwd = "/ABS/PATH/TO/mcp"
args = ["run", "build/index.js"]

[mcp_servers.telegraph_docs.env]
MCP_REPO_ROOT = "/ABS/PATH/TO/telegraph"
MCP_TOOL_PREFIX = "telegraph"
MCP_URI_SCHEME = "telegraph"
MCP_REPO_LABEL = "defstudio/telegraph"


[mcp_servers.laravel_data_docs]
command = "/ABS/PATH/TO/bun"
cwd = "/ABS/PATH/TO/mcp"
args = ["run", "build/index.js"]

[mcp_servers.laravel_data_docs.env]
MCP_REPO_ROOT = "/ABS/PATH/TO/laravel-data"
MCP_TOOL_PREFIX = "laravel_data"
MCP_URI_SCHEME = "laravel-data"
MCP_REPO_LABEL = "spatie/laravel-data"

Claude Desktop config (two instances)

See claude_desktop_config.example.json.

Notes

  • Docs slugs are inferred from file paths (ordering prefixes like 01., 01-, 01_ are stripped).

  • If a doc file is index.md inside a folder, the slug is the folder name (e.g. guide/index.mdguide).

  • With MCP_DOCS_DISCOVERY_DEPTH > 0, nested docs like packages/*/docs are indexed too, and their slugs get a prefix (e.g. packages/actions/...).

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    A semantic code search MCP server that enables natural language queries against your codebase, supporting features like related file discovery and context expansion, all running locally.
    Last updated
    2
  • A
    license
    A
    quality
    A
    maintenance
    A local-first MCP server that enables AI tools to safely inspect and search code repositories, providing indexing, deterministic BM25 search, code outlining, and context bundles without code modification.
    Last updated
    9
    1
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Agent-safe code retrieval MCP server that indexes repositories and provides semantic search, file navigation, call graph analysis, and bounded file reading tools for coding agents.
    Last updated
    3,814,696
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • A MCP server built for developers enabling Git based project management with project and personal…

  • MCP server for accessing curated awesome list documentation

View all MCP Connectors

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/pepperfm/mcp'

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