knowledge_base_infoLABSCO SUMMARY
One repository per connection — that is the constraint and the feature.
Because the repository is fixed at startup, there is no way for a call to wander into a different codebase, and the tools stay simple: no owner argument, no ambiguity about what was searched. The notebook handling is the thoughtful bit — only Markdown cells are indexed, so a heavily-outputted notebook does not flood retrieval with numbers.
What it is
A FastMCP server that treats one public GitHub repository as a document store. It indexes the Markdown and Jupyter files in that repository and lets a client list, search and read them. Which repository is a startup setting, not a tool argument — every call runs against the one you configured, which keeps the surface predictable.
What you get
knowledge_base_inforeportsdocument_file_countanddocument_type_countsper extensionlist_documentsandlist_documents_with_metadata, the latter sortable —sort_by="last_modified_utc"withdescending=truegives you the newest firstlist_latest_documentstakes alimitand anextension_filterfor the common casesearch_documentssearches across the indexed filesread_documentreturns one file's contents- Supported types are
.md,.markdownand.ipynb; for notebooks only Markdown cells are indexed and outputs are ignored - Each result carries
path,size_bytesandlast_modified_utc
Requirements
Set KB_GITHUB_REPO to a public repository, as either owner/repo or a full GitHub URL; KB_GITHUB_BRANCH optionally pins a ref, otherwise the default branch is used. Install with uv sync --frozen and run with fastmcp run server.py. Project github-knowledge-base-mcp, version 0.1.0. Public repositories only, so no token is involved.
Setup effort
Build from source
USE CASES
Answering from a project's own docs
Point it at that repository and let search pull the relevant page instead of relying on the model's memory of the library.
Catching up on a blog kept in git
List the newest Markdown files and read the ones you have not seen.
Sizing a knowledge base before you use it
Check how many files there are and how they break down by extension.
Reading tutorial notebooks as prose
Retrieve the Markdown cells of a notebook without the output noise around them.
6 tools
Listed in project docs. Your client may show a different list.
list_documentsread_documentlist_documents_with_metadatalist_latest_documentssearch_documentsBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/stefanbschneider/github-knowledge-base-mcp
cd github-knowledge-base-mcp
uv sync --frozen
export KB_GITHUB_REPO="microsoft/vscode"
fastmcp run server.pyMCP Clients
VS Code
{
"servers": {
"GitHub Knowledge Base": {
"type": "stdio",
"command": "${workspaceFolder}/.venv/bin/fastmcp",
"args": [
"run",
"server.py"
],
"env": {
"KB_GITHUB_REPO": "<YOUR_KB_GITHUB_REPO>"
}
}
}
}