
文档搜索
STDIO增强型文档搜索和项目开发工具
增强型文档搜索和项目开发工具
An enhanced MCP server for documentation search, security analysis, and developer productivity. Deploys instantly with
uvx
, just like official AWS MCP servers.
Key Features | Description | Example Query |
---|---|---|
📚 Multi-Lib Search | Search across 104+ docs simultaneously | "Compare state management in react vs vue" |
🛡️ Project Security | Scan all dependencies for vulnerabilities | "Are there any security issues in my project?" |
🏗️ Project Generation | Create boilerplate for new projects | "Create a new fastapi project called my-api" |
🐳 Docker Environments | Set up local services like Postgres/Redis | "Set up a postgres database for me" |
🎓 Learning Paths | Get a structured learning plan | "Give me a learning path for devops" |
⚖️ Security Comparison | Compare security scores of libraries | "Compare security of flask vs django" |
To understand the impact of this MCP server, let's compare a common, critical developer task with and without the tool.
Scenario: "Are there any vulnerabilities in my project's dependencies?"
Without MCP (The Manual Grind) | With MCP (The Instant Audit) |
---|---|
1. Open your pyproject.toml or requirements.txt . | 1. Ask your AI assistant: |
2. For each of your 25 dependencies: | Are there any vulnerabilities in my project? |
a. Google "[library-name] vulnerability" . | |
b. Open its PyPI page, look for warnings. | |
c. Open its GitHub page, find the "Security" tab. | |
d. Manually check if any listed CVEs apply to your specific version. | |
3. Try to mentally aggregate the risk level. | |
4. Miss one? Your project is still at risk. | |
--- | --- |
Time Required: 15-30 minutes | Time Required: ~5 seconds |
Output: A vague sense of security and 20 open browser tabs. | Output: A precise, actionable JSON report. |
json { "summary": { "dependency_file": "pyproject.toml", "total_dependencies": 25, "vulnerable_count": 2, "overall_project_risk": "High" }, "vulnerable_packages": [ { "library": "requests", "version": "2.25.0", "security_score": 35, "summary": "High severity CVE found..." } ] } |
This is the core value: automating tedious, complex, and critical developer workflows to deliver instant, accurate, and actionable insights.
Transforms your AI assistant into a documentation expert!
Instead of your AI assistant saying "I don't have access to current documentation", it now:
This MCP server follows the exact same deployment pattern as AWS MCP servers:
# Just like AWS MCP servers - zero setup required! uvx documentation-search-enhanced@latest
Same professional experience:
@latest
Create .cursor/mcp.json
in your project root:
{ "mcpServers": { "documentation-search-enhanced": { "command": "uvx", "args": ["documentation-search-enhanced@latest"], "env": { "SERPER_API_KEY": "your_key_here" } } } }
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json
(Windows):
{ "mcpServers": { "documentation-search-enhanced": { "command": "uvx", "args": ["documentation-search-enhanced@latest"], "env": { "SERPER_API_KEY": "your_key_here" } } } }
That's it! 🎉 Your AI assistant now has development superpowers.
A summary of the tools provided by this MCP server.
Tool | Description |
---|---|
get_docs | Fetches and summarizes documentation for one or more libraries. |
semantic_search | Performs AI-powered semantic search across multiple libraries, ranking results by relevance. |
get_learning_path | Generates a structured learning curriculum for a technology or skill level. |
get_code_examples | Finds curated code examples for a specific topic. |
scan_project_dependencies | (New!) Scans your project's dependencies for known security vulnerabilities. |
generate_project_starter | (New!) Creates boilerplate for new FastAPI or React projects. |
manage_dev_environment | (New!) Generates a docker-compose.yml for services like Postgres or Redis. |
get_security_summary | Provides a quick security score and summary for a single library. |
compare_library_security | Compares the security posture of multiple libraries side-by-side. |
suggest_libraries | Autocompletes library names. |
health_check | Checks the status of documentation sources. |
If you want to contribute or customize:
git clone https://github.com/antonmishel/documentation-search-mcp.git cd documentation-search-mcp uv sync echo "SERPER_API_KEY=your_key_here" > .env uv run python src/documentation_search_enhanced/main.py
documentation-search-mcp/
├── src/
│ └── documentation_search_enhanced/
│ ├── __init__.py # Package initialization
│ ├── main.py # Main MCP server implementation
│ ├── config.json # Documentation sources configuration
│ ├── config_manager.py # Environment-aware configuration
│ ├── vulnerability_scanner.py # Security vulnerability scanning
│ ├── project_scanner.py # Scans project dependency files
│ ├── project_generator.py # Generates project boilerplate
│ └── docker_manager.py # Manages Docker environments
├── pyproject.toml # Project dependencies and packaging
├── publish_to_pypi.sh # Publishing script
├── samples/ # Usage examples and configs
├── CHANGELOG.md # Version history
└── README.md # This file
Contributions are welcome! Please see CONTRIBUTING.md for details.
This project is open source under the MIT License. See LICENSE for details.
Command | What It Does | Example |
---|---|---|
uvx documentation-search-enhanced@latest | Install/run MCP server | One-time setup |
Get docs for library | Search documentation | "Find FastAPI authentication examples" |
Get library suggestions | Auto-complete libraries | "What libraries start with 'lang'?" |
Check system health | Monitor performance | "Check if documentation sources are working" |
Compare technologies | Side-by-side analysis | "Compare FastAPI vs Django for APIs" |
🔥 AI & ML: langchain, openai, anthropic, transformers, scikit-learn, spacy
🌐 Web Frameworks: fastapi, django, flask, express
⚛️ Frontend: react, svelte, javascript, typescript
☁️ Cloud: aws, google-cloud, azure, boto3
🐍 Python: pandas, numpy, matplotlib, requests, streamlit
🛠️ DevOps: docker, kubernetes
💾 Data: duckdb, jupyter, papermill
✅ Zero Local Setup - No cloning, no path management
✅ Automatic Updates - Always get the latest version with @latest
✅ Isolated Environment - uvx
handles dependencies automatically
✅ Universal Compatibility - Works with any MCP-compatible AI assistant
✅ No Maintenance - No local virtual environments to manage
# The @latest tag automatically gets the newest version # Just restart your AI assistant to get updates
Based on my analysis of the AWS MCP repository, here are priority enhancements that would make your documentation-search-enhanced MCP server enterprise-grade:
auto_approve
, priority
, features
FASTMCP_LOG_LEVEL
supportpyproject.toml
, etc. for vulnerabilities.docker-compose.yml
for services.# Add to main.py from asyncio import Semaphore from collections import defaultdict from datetime import datetime, timedelta class RateLimiter: def __init__(self, requests_per_minute: int = 60): self.requests_per_minute = requests_per_minute self.requests = defaultdict(list) async def check_rate_limit(self, identifier: str = "default"): now = datetime.now() # Implementation...
# Modify tools to respect auto-approve settings @mcp.tool() async def get_docs(query: str, library: str): """Enhanced with auto-approve support""" config = load_config() auto_approve = config["server_config"]["auto_approve"].get("get_docs", False) if not auto_approve: # Request user approval for external fetch pass
# Add usage analytics like AWS MCP servers class AnalyticsTracker: def __init__(self): self.metrics = { "requests_total": 0, "libraries_searched": defaultdict(int), "response_times": [], "error_count": 0 }
# Enable community extensions class PluginManager: def __init__(self): self.plugins = [] def register_plugin(self, plugin): self.plugins.append(plugin) async def execute_plugins(self, event_type: str, data: dict): for plugin in self.plugins: await plugin.handle(event_type, data)
# Add SQLite-based persistent cache import sqlite3 import pickle class PersistentCache(SimpleCache): def __init__(self, db_path: str = "cache.db"): super().__init__() self.db_path = db_path self._init_db()
# Add pydantic-based config validation from pydantic import BaseModel, validator class ServerConfig(BaseModel): name: str version: str logging_level: str = "INFO" max_concurrent_requests: int = 10 @validator('logging_level') def validate_log_level(cls, v): if v not in ['ERROR', 'WARN', 'INFO', 'DEBUG']: raise ValueError('Invalid log level') return v
# Add comprehensive health monitoring @mcp.tool() async def detailed_health_check(): """Enhanced health check with more metrics""" return { "status": "healthy", "uptime_seconds": (datetime.now() - start_time).total_seconds(), "memory_usage_mb": psutil.Process().memory_info().rss / 1024 / 1024, "cache_hit_rate": cache.get_hit_rate(), "active_connections": len(active_connections), "rate_limit_status": rate_limiter.get_status() }
# Modular architecture uvx documentation-search-enhanced.core@latest # Core search uvx documentation-search-enhanced.ai@latest # AI-specific docs uvx documentation-search-enhanced.web@latest # Web framework docs uvx documentation-search-enhanced.cloud@latest # Cloud platform docs
{ "environments": { "development": { "logging_level": "DEBUG", "cache_ttl_hours": 1, "rate_limit_enabled": false }, "production": { "logging_level": "ERROR", "cache_ttl_hours": 24, "rate_limit_enabled": true } } }
@mcp.tool() async def semantic_search(query: str, libraries: list[str], context: str = None): """AI-powered semantic search across multiple libraries""" @mcp.tool() async def code_examples_search(query: str, language: str = "python"): """Search specifically for code examples""" @mcp.tool() async def trending_topics(category: str = "ai"): """Get trending topics in a category"""
After implementing these AWS MCP-inspired enhancements:
Your MCP server would then match or exceed the capabilities of AWS MCP servers while maintaining the same professional deployment model! 🎯
Would you like me to implement any specific enhancement from this list?
uvx documentation-search-enhanced@latest
This project is open source under the MIT License. See LICENSE file for details.
Made with ❤️ by developers, for developers
Transform Claude into your personal development advisor today!
⭐ Don't forget to star this repo if it helped you! ⭐
@mcp.tool() async def semantic_search(query: str, libraries: list[str], context: str = None): """AI-powered semantic search across multiple libraries"""
@mcp.tool() async def code_examples_search(query: str, language: str = "python"): """Search specifically for code examples"""
@mcp.tool() async def trending_topics(category: str = "ai"): """Get trending topics in a category"""
Get a broader perspective by searching across multiple libraries at once.
🤖 You: How do I handle state management in React vs Vue?
(This will search both libraries and return a combined, ranked result)
Claude:
{ "query": "state management", "libraries_searched": ["react", "vue"], "total_results": 20, "results": [ { "source_library": "react", "title": "React Docs: State and Lifecycle", "relevance_score": 95.5, "snippet": "Learn how to use state and lifecycle methods in React components..." }, { "source_library": "vue", "title": "Vue Docs: State Management with Pinia", "relevance_score": 92.1, "snippet": "Pinia is the now the official state management library for Vue..." }, { "source_library": "react", "title": "Redux Toolkit Tutorial", "relevance_score": 88.7, "snippet": "The official, opinionated, batteries-included toolset for efficient Redux development..." } ] }