anujkaushal/acquia-docs-mcp-server
If you are the rightful owner of acquia-docs-mcp-server 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.
The Acquia Docs MCP Server is a Model Context Protocol server designed to provide developers with intelligent access to Acquia's comprehensive documentation, enhancing their development workflow with real-time search and contextual guidance.
Acquia Docs MCP Server
A Model Context Protocol (MCP) server that provides intelligent access to Acquia's documentation. This server crawls, caches, and searches Acquia's documentation to provide developers with instant access to configuration guidance, best practices, and implementation details for all Acquia products.
Features
🚀 Intelligent Documentation Search
- Real-time search across Acquia's complete documentation
- Smart relevance scoring with context-aware results
- Auto-detection of Memcached, settings.php, and configuration queries
- Pre-loaded documentation for instant access to critical content
📚 Comprehensive Coverage
- Acquia Cloud Platform - Hosting and infrastructure
- Campaign Studio - Marketing automation
- Content Optimization - Content management and optimization
- Customer Data Platform - Data analytics and insights
- Acquia DAM - Digital asset management
- Site Factory - Multi-site management
- Web Governance - Compliance and governance tools
- Drupal Starter Kits - Project templates and tools
🔧 Developer-Focused Tools
- Intelligent guidance with code context analysis
- Configuration detection for common Acquia setups
- Source link resolution for official documentation
- Dynamic crawling for discovering new content
- Caching system for improved performance
Installation
Prerequisites
- Python 3.8 or higher
- Virtual environment (recommended)
Quick Setup
-
Clone the repository:
git clone https://github.com/anujkaushal/acquia-docs-mcp-server.git cd acquia-docs-mcp-server -
Create and activate virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Run the server:
python3 main.pyOr use the provided script:
chmod +x run.sh ./run.sh
Usage
As an MCP Server
This server implements the Model Context Protocol and can be connected to any MCP-compatible client (like Claude Desktop, VS Code extensions, or custom applications).
Connection URI: stdio://drupal-docs
Available Tools
🎯 get_acquia_guidance
Get intelligent guidance based on your code context and requirements.
{
"context": "Working on Drupal site settings.php configuration",
"requirements": "Enable Memcached for Cloud Classic environment"
}
🔍 search_docs
Direct search across Acquia documentation with real-time results.
{
"query": "memcached configuration cloud classic"
}
🕷️ crawl_docs
Dynamically crawl and discover new documentation pages.
{
"max_depth": 5
}
🔗 get_source_link
Get official documentation source links for any topic.
{
"query": "memcached settings.php"
}
📊 crawl_stats
View crawling statistics and coverage by product area.
📋 list_cached_urls
List all currently cached documentation URLs.
🔄 refresh_docs
Clear the cache for fresh crawling.
Resources
The server automatically exposes cached documentation pages as MCP resources with URIs like:
drupal://https://docs.acquia.com/acquia-cloud-platform/overviewdrupal://https://docs.acquia.com/campaign-studio/getting-started
Configuration
Core Settings
Edit the configuration section in main.py:
# ========== CONFIGURATION - ONLY UPDATE THESE ==========
DRUPAL_BASE_URL = "https://docs.acquia.com/"
MAX_CRAWL_DEPTH = 5 # Maximum crawling depth
CACHE_SIZE = 1000 # Number of pages to cache
REQUEST_DELAY = 0.5 # Rate limiting delay (seconds)
MAX_PAGES_PER_PRODUCT = 75 # Per-product page limit
Product Documentation URLs
The server covers these main product areas:
- Acquia Source
- Campaign Studio
- Content Optimization
- Conversion Optimization
- Customer Data Platform
- Acquia Cloud Platform
- Acquia DAM
- Drupal Starter Kits
- Site Factory
- Web Governance
Special Features
🧠 Memcached Intelligence
The server includes special handling for Memcached configuration queries:
- Auto-detection of Memcached-related questions
- Pre-loaded content for instant responses
- Step-by-step guidance for Cloud Classic configuration
- Code snippets for settings.php integration
📊 Smart Caching
- FIFO cache eviction to manage memory usage
- Relevance-based scoring for search results
- Dynamic discovery of linked documentation
- Product-aware crawling for comprehensive coverage
🔍 Advanced Search
- Multi-keyword matching with relevance scoring
- Content excerpt extraction for quick insights
- Cross-product link following for comprehensive results
- Fallback to Acquia's search when needed
API Reference
MCP Resources
- List Resources: Returns all cached documentation pages
- Read Resource: Retrieves full content for a specific documentation page
MCP Tools
All tools return structured responses with:
- Relevance scoring
- Source URLs
- Content excerpts
- Implementation guidance
Development
Project Structure
acquia-docs-mcp-server/
├── main.py # Main server implementation
├── requirements.txt # Python dependencies
├── run.sh # Setup and run script
├── README.md # This file
└── path/to/ # Virtual environment directory
Key Components
- Web Crawler: BeautifulSoup-based documentation scraper
- Cache Manager: In-memory caching with FIFO eviction
- Search Engine: Multi-criteria relevance scoring
- MCP Interface: Standard MCP server implementation
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Troubleshooting
Common Issues
Connection Issues:
- Ensure Python 3.8+ is installed
- Check that all dependencies are installed
- Verify network connectivity to docs.acquia.com
Performance Issues:
- Adjust
CACHE_SIZEfor your memory constraints - Increase
REQUEST_DELAYif rate limiting occurs - Reduce
MAX_CRAWL_DEPTHfor faster initial crawling
Search Issues:
- Try different keywords or phrases
- Use the
crawl_docstool to discover new content - Check
crawl_statsto see coverage by product area
Logging
The server provides detailed logging for debugging:
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
Set level to DEBUG for more verbose output.
License
This project is open source. Please check the repository for license details.
Support
For issues, questions, or contributions:
- GitHub Issues: Report bugs or request features
- Documentation: Acquia Documentation
- MCP Specification: Model Context Protocol
Built for developers, by developers. This MCP server makes Acquia's extensive documentation instantly accessible through intelligent search and contextual guidance.
Question / Answers
How does this help Acquia Cloud developers?
Building Drupal sites is made easy by leveraging the comprehensive documentation available at docs.acquia.com. Acquia Docs contains extensive documentation that can significantly assist developers throughout their development process. This MCP server brings Acquia Docs directly into your coding environment, providing seamless access to relevant documentation without leaving your development workflow.
Quick Start Guide
- Connect your MCP-compatible client (like VS Code) using:
Create .vscode/mcp.json
{
"mcp": {
"server": "stdio://drupal-docs"
}
}
- Start searching Acquia documentation directly from your editor
- Get instant access to configuration guides and best practices
That's it! The server handles everything else automatically.