Provides real repository search capabilities using GitHub's search API with features for advanced filtering, rich metadata retrieval, and intelligent handling of API rate limits.
Allows retrieval and AI-powered summarization of NumPy documentation, as shown in the usage examples.
Enables fetching comprehensive documentation for React repositories, as demonstrated in the usage examples.
Supports fetching documentation for scikit-learn as part of its repository search capabilities, referenced in the example results.
Enables access to TensorFlow documentation through repository search, mentioned specifically in the example results.
MCP DeepWiki Server - Production Ready
A fully functional Model Context Protocol (MCP) server for DeepWiki integration with real GitHub search capabilities. This server provides comprehensive repository search and documentation fetching optimized for Claude Desktop.
🚀 Key Features
✅ Real Repository Search
- GitHub Integration: Uses GitHub's search API for real repository results
- Advanced Filtering: Search by language, topics, stars, and more
- Rich Metadata: Comprehensive repository information including stars, forks, license, topics
- Rate Limiting: Intelligent handling of GitHub API limits with token support
✅ DeepWiki Documentation Fetching
- Multi-mode Content: Aggregate, pages, and structured content retrieval
- Loading Detection: Automatically detects and retries when content is still generating
- Content Validation: Ensures substantial content before returning results
- Fallback Mechanisms: GitHub API fallback when DeepWiki is unavailable
✅ Claude Desktop Optimized
- 45-second timeout (configurable via
MCP_TIMEOUT
) - Content size limits (500KB max for Claude Desktop compatibility)
- Exponential backoff retry mechanism
- Progress reporting for long-running operations
Installation & Setup
Prerequisites
- Node.js 18+
- GitHub Personal Access Token (for search functionality)
1. Clone and Install
2. Environment Configuration
Get GitHub Token:
- Go to https://github.com/settings/tokens
- Click "Generate new token (classic)"
- Select scope:
public_repo
(for public repositories) - Copy the generated token to your
.env
file
3. Claude Desktop Configuration
Add to your Claude Desktop config file:
Usage Examples
Repository Search
Example Result:
- Real repositories like
scikit-learn/scikit-learn
,tensorflow/tensorflow
- Rich metadata: stars, forks, topics, license information
- DeepWiki URLs for documentation access
Documentation Fetching
AI-Powered Summaries
API Reference
deepwiki_search
Search for GitHub repositories with DeepWiki documentation.
Parameters:
query
(string, required): Search querylanguage
(string, optional): Filter by programming languagetopics
(array, optional): Filter by repository topicslimit
(number, optional): Maximum results (default: 10, max: 50)
Example:
deepwiki_fetch
Retrieve repository documentation from DeepWiki.
Parameters:
url
(string, required): DeepWiki URL or owner/repo formatmode
(enum, optional): 'aggregate', 'pages', or 'structured'maxDepth
(number, optional): Maximum crawling depthincludeMetadata
(boolean, optional): Include repository metadatacontentFilter
(enum, optional): 'all', 'documentation', 'code', 'examples'
deepwiki_summarize
Generate AI-powered summaries of repository documentation.
Parameters:
url
(string, required): Repository URLsummaryType
(enum, optional): 'overview', 'technical', 'quickstart', 'api'maxLength
(number, optional): Maximum summary length in words
Rate Limits & Performance
GitHub API Limits
- Without Token: 60 requests/hour
- With Token: 5,000 requests/hour
- Automatic Handling: Exponential backoff and meaningful error messages
Performance Optimization
- Content Caching: Reduces API calls for repeated requests
- Size Limits: 500KB max content for Claude Desktop compatibility
- Timeout Management: 45-second default timeout with configurable limits
Testing
Run All Tests
Unit Tests Only
Integration Tests (requires GitHub token)
Test Coverage
Troubleshooting
Common Issues
"Repository search failed" Error
- Cause: Missing or invalid GitHub token
- Solution: Add valid
GITHUB_TOKEN
to environment variables - Check: Verify token has
public_repo
scope
"GitHub API rate limit exceeded"
- Cause: Too many requests without token or token quota exhausted
- Solution: Add GitHub token or wait for rate limit reset
- Prevention: Use caching and avoid rapid successive requests
"No repositories found"
- Cause: Search query too specific or no matching repositories
- Solution: Try broader search terms or remove filters
"DeepWiki content not ready"
- Cause: Repository documentation still being generated
- Solution: Wait a few minutes and retry, or use GitHub fallback
Debug Mode
Health Check
Architecture
Development
Setup Development Environment
Build for Production
Environment Variables
Variable | Required | Description |
---|---|---|
GITHUB_TOKEN | Yes | GitHub Personal Access Token for search |
MCP_TIMEOUT | No | Request timeout in milliseconds (default: 45000) |
LOG_LEVEL | No | Logging level: error, warn, info, debug |
SEARCH_MAX_RESULTS | No | Maximum search results per query (default: 50) |
REQUEST_TIMEOUT | No | HTTP request timeout (default: 30000) |
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature
- Make your changes
- Run tests:
npm test
- Commit changes:
git commit -am 'Add your feature'
- Push to branch:
git push origin feature/your-feature
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Documentation: Check this README and inline code comments
- Issues: Open an issue on GitHub with detailed error messages
- Testing: Use
npm run test:unit
for quick validation - Logs: Set
LOG_LEVEL=debug
for detailed debugging information
This server cannot be installed
A Model Context Protocol server that enables AI assistants to fetch and understand GitHub repository documentation on-demand from DeepWiki during conversations.
Related MCP Servers
- -securityAlicense-qualityA server that allows AI assistants to browse and read files from specified GitHub repositories, providing access to repository contents via the Model Context Protocol.Last updated -5JavaScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with GitHub's API, allowing for repository creation and management with descriptions, topics, and website URLs through natural language commands.Last updated -1JavaScript
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to interact with GitHub repositories, issues, and pull requests.Last updated -11Python
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to perform GitHub operations including repository management, file operations, issue tracking, and pull request creation.Last updated -1TypeScript