A Model Context Protocol (MCP) server that exposes documentation from GitHub as resources and provides search tools.
- Resources: Exposes documentation files as MCP resources that can be read by LLMs
- Tools: Provides
search_docsandlist_docstools for finding information - GitHub Integration: Fetches documentation directly from GitHub repositories
- Caching: In-memory caching (5 min TTL) to reduce API calls
- Node.js Based: Works with standard Node.js runtime
Clone the repository and install dependencies:
git clone https://github.com/homebase-id/mcp-docs.git
cd mcp-docs
npm installTo install from GitHub Packages, first configure npm to use GitHub registry for @homebase-id scope:
echo "@homebase-id:registry=https://npm.pkg.github.com" >> ~/.npmrcThen authenticate (requires a GitHub personal access token with read:packages scope):
npm login --scope=@homebase-id --registry=https://npm.pkg.github.comInstall the package:
npm install -g @homebase-id/mcp-docs-serverAdd to your claude_desktop_config.json (location varies by OS):
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"docs": {
"command": "node",
"args": ["/absolute/path/to/mcp-docs/src/index.js"],
"env": {
"GITHUB_OWNER": "homebase-id",
"GITHUB_REPO": "odin-js",
"GITHUB_BRANCH": "main"
}
}
}
}After adding, restart Claude Desktop. You'll see the docs server in the 🔌 icon.
Add to your VS Code settings (settings.json):
- Open Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) - Search for "Preferences: Open User Settings (JSON)"
- Add the MCP server configuration:
{
"github.copilot.chat.mcp.servers": {
"docs": {
"command": "node",
"args": ["/absolute/path/to/mcp-docs/src/index.js"],
"env": {
"GITHUB_OWNER": "homebase-id",
"GITHUB_REPO": "odin-js",
"GITHUB_BRANCH": "main"
}
}
}
}Note: Replace /absolute/path/to/mcp-docs with the actual path to your installation.
Reload VS Code after adding. The MCP server will be available in Copilot Chat.
Add to Cline's MCP settings:
- Open Cline settings in VS Code
- Navigate to MCP Servers section
- Add server configuration:
{
"mcpServers": {
"docs": {
"command": "bun",
"args": ["run", "/absolute/path/to/mcp-docs/src/index.js"],
"env": {
"GITHUB_OWNER": "homebase-id",
"GITHUB_REPO": "odin-js",
"GITHUB_BRANCH": "main"
}
}
}
}npm startThe server uses stdio transport and communicates via JSON-RPC.
Set environment variables to customize:
GITHUB_OWNER- Repository owner (default:homebase-id)GITHUB_REPO- Repository name (default:odin-js)GITHUB_BRANCH- Branch name (default:main)
The server exposes documentation files as MCP resources with URIs like:
github://homebase-id/odin-js/main/docs/llm/WORKSPACE_INSTRUCTIONS.md
github://homebase-id/odin-js/main/docs/llm/ARCHITECTURE.md
github://homebase-id/odin-js/main/docs/llm/modules/CORE_MODULE.md
LLMs can directly read these resources without needing to call tools. This provides instant access to documentation context.
Lists all available documentation files with their URIs.
Search through all documentation for a specific term or topic.
Parameters:
query(string): The search term to look for
Example:
{
"name": "search_docs",
"arguments": {
"query": "authentication"
}
}- Resources: LLMs can list and read documentation files as MCP resources for instant context
- Tools: LLMs can use
search_docsto find specific information orlist_docsto see all available documentation - Caching: Content is cached in-memory for 5 minutes to minimize GitHub API calls and improve performance
- GitHub Integration: Fetches content on-demand from GitHub raw URLs (works with public repositories)
- Claude Desktop: Check the 🔌 icon in the bottom right. If not visible, check the config file path is correct.
- VS Code Copilot: Reload VS Code window (
Cmd+Shift+P→ "Developer: Reload Window") - Verify Node.js: Run
node --versionto ensure Node.js is installed and in PATH
- Ensure the files exist in the GitHub repository at the specified branch
- Check that
GITHUB_OWNER,GITHUB_REPO, andGITHUB_BRANCHare correctly set - Verify the repository is public (or you have access)
- Files must be in the
docs/llm/directory of the repository
- Make sure the script is executable:
chmod +x /path/to/mcp-docs/src/index.js - Use absolute paths in configuration files
- Check Node.js is installed and accessible from the terminal
Run in development mode:
node src/index.jsThe server logs to stderr (console.error) so it doesn't interfere with stdio transport.
This package is published to GitHub Packages. The workflow automatically:
- Bumps version on changes to
src/orpackage.json - Publishes to
@homebase-id/mcp-docs-server - Creates a PR with the version bump
MIT