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
Related MCP server: GitHub MCP Server
Installation & Setup
Prerequisites
Node.js 18+
GitHub Personal Access Token (for search functionality)
1. Clone and Install
2. Environment Configuration
Get GitHub Token:
Click "Generate new token (classic)"
Select scope:
public_repo(for public repositories)Copy the generated token to your
.envfile
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/tensorflowRich 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_TOKENto environment variablesCheck: Verify token has
public_reposcope
"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 |
| Yes | GitHub Personal Access Token for search |
| No | Request timeout in milliseconds (default: 45000) |
| No | Logging level: error, warn, info, debug |
| No | Maximum search results per query (default: 50) |
| No | HTTP request timeout (default: 30000) |
Contributing
Fork the repository
Create a feature branch:
git checkout -b feature/your-featureMake your changes
Run tests:
npm testCommit changes:
git commit -am 'Add your feature'Push to branch:
git push origin feature/your-featureSubmit 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:unitfor quick validationLogs: Set
LOG_LEVEL=debugfor detailed debugging information