afterxleep/doc-bot
If you are the rightful owner of doc-bot and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Docbot is an open-source MCP server designed to provide intelligent documentation access for any project.
doc-bot
An intelligent MCP (Model Context Protocol) server that gives AI assistants like Claude and Cursor deep understanding of your project through smart documentation management.
What is doc-bot?
doc-bot is a documentation server that enhances AI coding assistants by providing:
- 🧠 Smart search through your project documentation
- 📖 Contextual docs that surface guidance based on what you're working on
- 🔄 Live updates as your documentation changes
- 📚 API references from official documentation (via Docsets)
- 🤖 MCP tools for AI agents to query and understand your project
- ✍️ Agent-driven updates so new knowledge is captured in docs
Why doc-bot?
Traditional AI assistants have limited context windows and no understanding of your specific project. doc-bot solves this by:
- Providing project-specific knowledge - Your conventions, patterns, and decisions
- Searching intelligently - AI finds exactly what it needs without cluttering context
- Scaling infinitely - Thousands of docs without token limits
- Staying current - Live reload ensures AI always has latest information
How It Works
doc-bot acts as a bridge between your documentation and AI assistants:
Your Project Documentation → doc-bot → MCP Protocol → AI Assistant (Claude, Cursor, etc.)
When you ask your AI assistant to write code, it can:
- Search for relevant documentation
- Read project docs for patterns and examples
- Find API references and examples
- Update documentation when new patterns are discovered
Quick Start
1. Install doc-bot
Add doc-bot to your AI assistant's configuration:
For Claude Desktop or Claude Code:
{
"mcpServers": {
"doc-bot": {
"command": "npx",
"args": ["@afterxleep/doc-bot@latest"]
}
}
}
Location of config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
For Cursor:
- Add an
mcp.jsonfile with the contents above to your.cursorfolder
2. Create Your Documentation
Create a doc-bot folder in your project root and add markdown files:
your-project/
├── doc-bot/
│ ├── coding-standards.md
│ ├── api-patterns.md
│ ├── testing-guide.md
│ └── architecture.md
├── src/
└── package.json
3. Test it!
Ask your AI assistant: "What are the coding standards for this project?"
Versioning and Compatibility
doc-bot 2.0 is a breaking change. Rule enforcement and alwaysApply behavior are removed in favor of documentation-first guidance.
- If you need the legacy rule enforcement flow, pin to
@afterxleep/doc-bot@1or build from the1.xbranch. - New installs should use the latest 2.x line (
@afterxleep/doc-bot@latest).
Project Documentation
doc-bot treats your project documentation as a searchable knowledge base for AI assistants.
Agent-Driven Updates
doc-bot is designed for agents to keep documentation current as they work. When an assistant discovers a new pattern or a change, it can add or update docs directly:
{
"fileName": "auth-flow.md",
"title": "Auth Flow",
"description": "OAuth flow and token handling",
"keywords": ["auth", "oauth", "tokens"],
"filePatterns": ["src/auth/**"],
"content": "# Auth Flow\n\nDocument the new flow here."
}
Agent Documentation Loop
Use this fast loop to extend project knowledge and keep docs current:
- Orient quickly: call
doc_bot(task)orget_document_index()when the project is unfamiliar. - Find specifics: use
search_documentationwith concrete terms (API names, class names, errors). - Read the full context: open matches with
read_specific_documentorget_file_docs. - Capture new knowledge: when behavior changes or new patterns emerge, write it with
create_or_update_rule. - Refresh when needed: if docs are edited manually, run
refresh_documentation().
Keep docs short, scoped, and searchable with clear titles, keywords, and filePatterns.
Documentation Format
Create markdown files with frontmatter metadata:
---
title: "React Component Guidelines"
description: "Standards for building React components"
keywords: ["react", "components", "frontend", "jsx"]
---
# React Component Guidelines
- Use functional components with hooks
- Follow PascalCase naming
- Keep components under 200 lines
- Write tests for all components
Frontmatter Options
| Field | Type | Description | Example |
|---|---|---|---|
title | string | Document title (required) | "API Guidelines" |
description | string | Brief description | "REST API design patterns" |
keywords | array | Search keywords | ["api", "rest", "http"] |
topics | array | Optional topical tags | ["architecture", "backend"] |
filePatterns | array | Apply to specific files | [".test.js", "**/.spec.ts"] |
How Search Works
- Intelligent Parsing - Queries are parsed, stop words removed
- Multi-field Matching - Searches title, description, keywords, and content
- Relevance Scoring - Results ranked by relevance (exact matches score highest)
- Context Extraction - Returns snippets showing matched content
doc-bot surfaces documentation for agents; it does not enforce rules. Agents should update docs when new patterns or changes appear.
Types of Documentation
General Documentation
---
title: "Coding Standards"
---
Project-wide guidance and conventions
Contextual Documentation
---
title: "Testing Guide"
filePatterns: ["*.test.js", "*.spec.ts"]
---
Documentation that only applies to test files
Searchable References
---
title: "Database Schema"
keywords: ["database", "postgres", "schema", "migrations"]
---
Documentation found through search queries
Docsets (API Documentation)
doc-bot can also search official API documentation from Docsets, giving your AI assistant access to comprehensive framework and library references.
What are Docsets?
Docsets are pre-built documentation databases containing official docs for:
- Programming languages (Python, JavaScript, Go, etc.)
- Frameworks (React, Vue, Django, Rails, etc.)
- Libraries (NumPy, Express, jQuery, etc.)
- Platforms (iOS, Android, AWS, etc.)
Setting Up Docsets
-
Option A: Ask your AI assistant to install directly:
From a URL:
Use the add_docset tool to install Swift documentation from https://kapeli.com/feeds/Swift.tgzFrom a local file:
Use the add_docset tool to install the docset at /Users/me/Downloads/React.docset -
Manage your docsets:
List all installed docsets Remove docset with ID abc123Docsets are automatically stored in
~/Developer/DocSetsby default.
Docset Sources
- User Contributed Docsets: https://github.com/Kapeli/Dash-User-Contributions
- Docset Generation Tools: https://github.com/Kapeli/docset-generator
Popular docsets available:
- Programming Languages: Python, JavaScript, Go, Rust, Swift
- Web Frameworks: React, Vue, Angular, Django, Rails
- Mobile: iOS, Android, React Native, Flutter
- Databases: PostgreSQL, MySQL, MongoDB, Redis
- Cloud: AWS, Google Cloud, Azure
- Configure custom path (optional):
{ "mcpServers": { "doc-bot": { "command": "npx", "args": ["@afterxleep/doc-bot@latest", "--docsets", "/path/to/docsets"] } } }
How Docset Search Works
- Unified Search: One query searches both your docs and API docs
- Smart Prioritization: Your project docs are boosted 5x in relevance
- API Exploration: Use
explore_apitool to discover related classes, methods - Performance: Parallel search across multiple docsets with caching
Available Tools
doc-bot provides these tools to AI assistants:
| Tool | Purpose | Example Use |
|---|---|---|
doc_bot | Get documentation guidance | "How should I approach auth?" |
search_documentation | Search all documentation | "How do I implement auth?" |
get_file_docs | Get file-specific docs | "Docs for Button.test.jsx" |
read_specific_document | Read full docs by file name | "Open coding-standards.md" |
get_document_index | List all docs | "Show documentation index" |
create_or_update_rule | Add/update documentation | "Capture auth flow update" |
refresh_documentation | Reload docs from disk | "Refresh the doc store" |
explore_api | Explore API documentation | "Show me URLSession methods" |
add_docset | Install new docset | "Add Swift docs from URL" |
remove_docset | Remove installed docset | "Remove docset abc123" |
list_docsets | List all docsets | "Show installed docsets" |
Configuration Options
CLI Options
doc-bot [options]
Options:
-d, --docs <path> Path to docs folder (default: ./doc-bot)
-s, --docsets <path> Path to docsets folder (default: ~/Developer/DocSets)
-v, --verbose Enable verbose logging
-w, --watch Watch for file changes
-h, --help Display help
Advanced Configuration
{
"mcpServers": {
"doc-bot": {
"command": "npx",
"args": [
"@afterxleep/doc-bot@latest",
"--docs", "./documentation",
"--docsets", "/Library/Application Support/Dash/DocSets",
"--verbose",
"--watch"
]
}
}
}
Documentation
- - Complete reference for all MCP tools
- - Technical architecture and components
- - All configuration options
- - Common issues and solutions
- - Real-world usage examples
- - How to contribute to doc-bot
Best Practices
Writing Effective Documentation
-
Use descriptive titles and keywords
--- title: "Authentication Flow" keywords: ["auth", "login", "jwt", "security", "authentication"] --- -
Use file patterns for contextual docs
--- filePatterns: ["**/auth/**", "*.auth.js"] --- -
Keep docs focused - One topic per file
-
Include examples - Show, don't just tell
Optimizing Search
- Include synonyms in keywords:
["test", "testing", "spec", "jest"] - Use clear section headers for better snippet extraction
- Add descriptions to improve search relevance
Why MCP over Static Instruction Files?
Unlike static .cursorrules or .github/copilot-instructions.md files:
- Dynamic: AI searches for what it needs instead of reading everything
- Scalable: Unlimited docs without token limits
- Intelligent: Context-aware documentation based on current file
- Unified: Works with any MCP-compatible AI tool
- Live: Hot reload on documentation changes
Contributing
See our for development setup and guidelines.
License
MIT - See for details.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with ❤️ in Spain