GitHub Knowledge Base MCP

Servidor MCP para conectar e usar qualquer repositório público do GitHub como base de conhecimento (documentos markdown/notebook)

Documentação

GitHub Knowledge Base MCP

Um servidor MCP simples construído com FastMCP que permite conectar qualquer repositório público do GitHub como base de conhecimento. Ele possui algumas ferramentas simples para encontrar e ler documentos Markdown e Jupyter notebook.

Post do blog: https://stefanbschneider.github.io/blog/posts/fastmcp/

Conjunto de ferramentas disponível:

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

knowledge_base_info inclui:

  • document_file_count: total de arquivos suportados
  • document_type_counts: contagens por extensão (por exemplo, .md, .markdown, .ipynb)

list_documents_with_metadata é útil para recuperar posts de blog recentes definindo sort_by="last_modified_utc" e descending=true.

Exemplo: recuperar posts de blog recentes

Solicitação:

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

Formato da resposta:

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

Tipos de arquivo suportados:

  • .md
  • .markdown
  • .ipynb

Configuração

Instalação

uv sync frozen

Configuração

Defina KB_GITHUB_REPO para usar um repositório público do GitHub como base de conhecimento.

  • formatos suportados:
    • owner/repo
    • https://github.com/owner/repo
  • ref/branch/tag opcional: KB_GITHUB_BRANCH
  • se nenhum ref for definido, o branch padrão do repositório é usado

Exemplo:

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

Detalhes de manipulação de notebooks:

  • apenas células markdown são indexadas/lidas para .ipynb
  • saídas de notebooks são ignoradas
  • notebooks inválidos retornam erros de validação claros para leituras diretas

Todas as ferramentas são executadas apenas contra o repositório GitHub configurado.

Executando o servidor

fastmcp run server.py

Configurando o MCP no VSCode

Através da paleta de comandos, chame "MCP: Add server..." ou adicione/crie mcp.json adicionando o seguinte bloco ao seu "servers":

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