MCP Documentation Server
# MCP Documentation Server š
A Model Context Protocol (MCP) server that provides comprehensive access to MCP documentation, guides, and development workflows through a standardized interface.
## Features āØ
This MCP server provides comprehensive documentation access through:
### š§ Tools
- **mcp_docs_guide**: Structured guides for MCP development topics
- **search_docs**: Full-text search across all MCP documentation
- **get_docs_by_category**: Browse documentation by category
### š¬ Prompts
Interactive workflows for MCP development:
- **mcp_quick_start**: Get started quickly with MCP development
- **server_development_workflow**: Complete server development workflow
- **client_integration_guide**: Guide for integrating MCP into applications
- **troubleshooting_workflow**: Systematic troubleshooting guide
- **deployment_guide**: Production deployment best practices
### š Resources
Direct access to individual documentation files:
- **mcp-docs://filename.md**: Access any documentation file directly
- Organized by category with rich metadata
- Full markdown content with proper formatting
## Installation š¦
### NPM Installation
```bash
npm install -g mcp-docs-server
```
### Using with Claude Desktop
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"mcp-docs": {
"command": "npx",
"args": ["-y", "mcp-docs-server"]
}
}
}
```
### Local Development
```bash
# Clone and setup
git clone <repository-url>
cd mcp-docs-server
npm install
# Build
npm run build
# Run locally
npm run dev
# Test with MCP Inspector
npx @modelcontextprotocol/inspector npm run dev
```
## Usage š
### Getting Started
```bash
# Ask for getting started guide
mcp_docs_guide("getting_started")
# Quick start workflow
mcp_quick_start()
```
### Finding Documentation
```bash
# Search for specific topics
search_docs("tools development")
search_docs("JSON-RPC protocol", "specification")
# Browse by category
get_docs_by_category("concepts")
get_docs_by_category("development")
```
### Development Workflows
```bash
# Server development workflow
server_development_workflow("tool", "python")
# Client integration guide
client_integration_guide("desktop")
# Troubleshooting
troubleshooting_workflow("connection")
```
### Accessing Documentation Resources
```bash
# Access specific documentation files
Resource: mcp-docs://docs-getting-started-intro.md
Resource: mcp-docs://docs-learn-architecture.md
Resource: mcp-docs://docs-develop-build-server.md
```
## Documentation Categories š
The server organizes MCP documentation into these categories:
- **š getting_started**: Introduction and basic concepts
- **š§ concepts**: Architecture, primitives, and design principles
- **š ļø development**: Building servers and clients
- **š specification**: Technical protocol details
- **š§ tools**: Development tools and debugging
- **š„ community**: Governance and contribution guidelines
## Example Workflows š”
### New Developer Workflow
1. Start with `mcp_quick_start()` for overview
2. Use `mcp_docs_guide("getting_started")` for structured introduction
3. Follow `server_development_workflow()` to build first server
4. Use `search_docs()` to find specific implementation details
### Experienced Developer Workflow
1. Use `search_docs()` to find specific information
2. Access documentation resources directly via URIs
3. Reference `troubleshooting_workflow()` when issues arise
4. Use `deployment_guide()` for production deployment
### Integration Developer Workflow
1. Start with `client_integration_guide()` for your platform
2. Use `get_docs_by_category("development")` for implementation details
3. Reference protocol specification via `get_docs_by_category("specification")`
4. Use debugging tools and workflows as needed
## Architecture šļø
The server follows the same patterns as other MCP servers:
```
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā AI Application ā
ā āāāāāāāāāāāāāāāāāāā ā
ā ā MCP Client ā ā
ā āāāāāāāāāāāāāāāāāāā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP Docs Server ā
ā ā
ā š Documentation Database ā
ā š Search Engine ā
ā šÆ Guided Workflows ā
ā š Resource Access ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
```
### Key Components
- **Documentation Engine**: Processes and categorizes scraped MCP docs
- **Search System**: Full-text search with relevance ranking
- **Guide Generator**: Creates structured learning workflows
- **Resource Provider**: Serves individual documentation files
- **Prompt System**: Interactive development workflows
## Development šØāš»
### Project Structure
```
mcp-docs-server/
āāā src/
ā āāā index.ts # Main server entry point
ā āāā tools/ # MCP tools implementation
ā ā āāā mcpDocsGuide.ts # Main documentation guide
ā ā āāā searchDocs.ts # Documentation search
ā ā āāā getDocsByCategory.ts # Category browsing
ā āāā prompts/ # Interactive workflows
ā ā āāā index.ts # Prompt registry
ā ā āāā quickStartGuide.ts
ā ā āāā serverDevelopmentWorkflow.ts
ā ā āāā clientIntegrationGuide.ts
ā ā āāā troubleshootingWorkflow.ts
ā ā āāā deploymentGuide.ts
ā āāā resources/ # Resource access
ā āāā index.ts # Documentation file access
āāā scraped_docs/ # MCP documentation files
āāā package.json
āāā tsconfig.json
āāā README.md
```
### Adding New Documentation
1. Add markdown files to `scraped_docs/` directory
2. Files are automatically categorized and indexed
3. Search and resource access work immediately
4. No server restart required
### Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## Troubleshooting š§
### Server Not Starting
```bash
# Check TypeScript compilation
npm run build
# Test directly
node build/index.js
# Check with inspector
npx @modelcontextprotocol/inspector node build/index.js
```
### Claude Desktop Integration Issues
1. Check configuration syntax in `claude_desktop_config.json`
2. Use absolute paths if needed
3. Restart Claude Desktop completely
4. Check Claude logs: `~/Library/Logs/Claude/mcp.log`
### Documentation Not Found
1. Verify `scraped_docs/` directory exists
2. Check file permissions
3. Ensure markdown files are present
4. Check server logs for errors
## API Reference š
### Tools
#### mcp_docs_guide
Get structured guides for MCP development topics.
**Parameters:**
- `topic` (required): Topic to get guidance on
- `getting_started`: Introduction and basics
- `building_servers`: Server development guide
- `building_clients`: Client development guide
- `core_concepts`: Architecture and primitives
- `tools_and_resources`: Deep dive into tools and resources
- `protocol_specification`: Technical protocol details
- `troubleshooting`: Common issues and solutions
- `best_practices`: Development best practices
- `examples_and_tutorials`: Complete examples
#### search_docs
Search through MCP documentation using keywords.
**Parameters:**
- `query` (required): Search query string
- `category` (optional): Limit search to specific category
#### get_docs_by_category
Browse documentation organized by category.
**Parameters:**
- `category` (required): Documentation category to explore
### Resources
All documentation files are available as resources with URI format:
`mcp-docs://filename.md`
Example resources:
- `mcp-docs://docs-getting-started-intro.md`
- `mcp-docs://docs-learn-architecture.md`
- `mcp-docs://docs-develop-build-server.md`
## License š
MIT License - see LICENSE file for details.
## Support š¬
- **Issues**: Report bugs and feature requests on GitHub
- **Documentation**: Use the server itself to explore MCP documentation
- **Community**: Join MCP community discussions
- **Contributing**: See CONTRIBUTING.md for guidelines
---
Built with ā¤ļø for the MCP communityTDQS
Scored across 3 tools
The tools have some overlap in purpose, as both get_docs_by_category and mcp_docs_guide retrieve documentation content, which could cause confusion. However, search_docs is distinct with its keyword-based functionality, and descriptions help clarify that get_docs_by_category provides structured overviews while mcp_docs_guide offers comprehensive guides, mitigating ambiguity.
Naming is inconsistent with mixed conventions: get_docs_by_category uses snake_case with a verb_noun pattern, mcp_docs_guide uses snake_case but lacks a clear verb, and search_docs uses snake_case with a verb_noun pattern. The lack of a uniform verb style and the inclusion of 'mcp' in one tool name disrupt predictability.
With 3 tools, the count is borderline thin for a documentation server, as it might lack operations like updating or deleting documentation. However, it covers basic retrieval and search, which could be sufficient for a minimal scope, placing it in the middle range.
For a documentation server, the tools provide good coverage with retrieval by category, comprehensive guides, and search functionality, allowing agents to access and find documentation effectively. Minor gaps exist, such as no update or management tools, but core workflows are well-supported.