trackmcp
Back to directory
stefanbschneider

github-knowledge-base-mcp

View on GitHub

MCP server to connect to and use any public GitHub repo as knowledge base (markdown/notebook docs)

0 stars PythonOthers Updated Apr 12, 2026
fastmcpgithubknowledge-basemarkdownmcpmcp-servernotebookpython

Documentation

GitHub Knowledge Base MCP

A simple MCP server built with FastMCP that lets you connect to any public GitHub repo as knowledge base.

It has a few simple tools to find and read markdown and Jupyter notebook documents.

Blog post: https://stefanbschneider.github.io/blog/posts/fastmcp/

Avialble toolset:

  • `knowledge_base_info`
  • `list_documents`
  • `read_document`
  • `list_documents_with_metadata`
  • `list_latest_documents`
  • `search_documents`

`knowledge_base_info` includes:

  • `document_file_count`: total supported files
  • `document_type_counts`: counts per extension (for example `.md`, `.markdown`, `.ipynb`)

`list_documents_with_metadata` is useful to retrieve latest blog posts by setting `sort_by="last_modified_utc"` and `descending=true`.

Example: retrieve latest blog posts

Request:

json
{
	"tool": "list_latest_documents",
	"arguments": {
		"limit": 5,
		"extension_filter": ".md"
	}
}

Response shape:

json
[
	{
		"path": "blog/2026-04-10-launch-post.md",
		"size_bytes": 3210,
		"last_modified_utc": "2026-04-10T14:11:52Z"
	}
]

Supported file types:

  • `.md`
  • `.markdown`
  • `.ipynb`

Setup

Installation

code
uv sync frozen

Configuration

Set `KB_GITHUB_REPO` to use a public GitHub repository as the knowledge base.

  • supported formats:
    • optional ref/branch/tag: `KB_GITHUB_BRANCH`
    • if no ref is set, the repository default branch is used

    Example:

    bash
    export KB_GITHUB_REPO="microsoft/vscode"
    export KB_GITHUB_BRANCH="main" # optional
    python gh_kb_mcp_server.py

    Notebook handling details:

    • only markdown cells are indexed/read for `.ipynb`
    • notebook outputs are ignored
    • invalid notebooks return clear validation errors for direct reads

    All tools run only against the configured GitHub repository.

    Running the server

    code
    fastmcp run server.py

    Configuring the MCP in VSCode

    Via command palette, call "MCP: Add server..." or add/create `mcp.json` adding the following block to your `"servers"`:

    json
    "GitHub Knowledge Base": {
    	"type": "stdio",
    	"command": "${workspaceFolder}/.venv/bin/fastmcp",
    	"args": [
    		"run",
    		"server.py",
    	],
    	"env": {
    		"KB_GITHUB_REPO":  // eg: "stefanbschneider/blog" or "microsoft/vscode"
    	}
    }

    Frequently asked questions

    What is github-knowledge-base-mcp?

    github-knowledge-base-mcp is MCP server to connect to and use any public GitHub repo as knowledge base (markdown/notebook docs)

    How do I install github-knowledge-base-mcp?

    Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

    Is github-knowledge-base-mcp open source?

    Yes — it is hosted on GitHub at https://github.com/stefanbschneider/github-knowledge-base-mcp.

    Related MCP tools

    Run your own MCP server? See who uses it and what to fix.

    Measure it with TrackMCP