MCP server for retrieving and analyzing AWS content from aws.amazon.com
Project description
AWS Content MCP Server
A comprehensive Model Context Protocol (MCP) server for retrieving and analyzing content from aws.amazon.com. This server provides dynamic, real-time access to AWS blogs, product information, solutions, pricing, and other content without hallucination.
Features
- Dynamic Content Retrieval: Real-time fetching from aws.amazon.com
- Comprehensive Search: Search across blogs, products, solutions, and pricing
- Full Content Analysis: Extract complete content with detailed analysis
- Duplicate Detection: Identify similar content and prevent duplication
- Content Comparison: Compare different AWS content pieces
- Service Overview: Get comprehensive AWS service listings
- No Hallucination: All information is fetched directly from AWS sources
Installation
Using uvx (Recommended)
uvx aws-content-mcp
Using pip
pip install aws-content-mcp
From Source
git clone https://github.com/yourusername/aws-content-mcp.git
cd aws-content-mcp
pip install -e .
Usage
As MCP Server
Add to your MCP client configuration:
{
"mcpServers": {
"aws-content": {
"command": "uvx",
"args": ["aws-content-mcp"]
}
}
}
Available Tools
1. search_aws_content
Search for AWS content across different categories.
Parameters:
query(required): Search querycontent_type(optional): "all", "blogs", "products", "solutions", or "pricing"
Example:
{
"query": "serverless computing",
"content_type": "blogs"
}
2. get_full_aws_content
Get complete content from a specific AWS URL with detailed analysis.
Parameters:
url(required): AWS URL to fetch content from
Example:
{
"url": "https://aws.amazon.com/blogs/compute/serverless-computing-with-lambda/"
}
3. analyze_aws_blog_ideas
Analyze blog ideas for duplication and provide content recommendations.
Parameters:
topic(required): Blog topic to analyzecheck_duplicates(optional): Whether to check for duplicates (default: true)
Example:
{
"topic": "machine learning on AWS",
"check_duplicates": true
}
4. get_aws_service_overview
Get comprehensive overview of all AWS services organized by category.
Parameters: None
5. compare_aws_content
Compare two pieces of AWS content for similarity and differences.
Parameters:
url1(required): First AWS URL to compareurl2(required): Second AWS URL to compare
Use Cases
1. Content Research
- Research AWS services and solutions
- Find relevant blog posts and documentation
- Get pricing information for AWS services
2. Blog Content Planning
- Check for duplicate blog ideas
- Analyze existing content on topics
- Get recommendations for unique angles
3. Competitive Analysis
- Compare different AWS solutions
- Analyze content similarities
- Track AWS product updates
4. Documentation Discovery
- Find comprehensive service documentation
- Discover best practices and guides
- Access latest AWS announcements
Architecture
The MCP server consists of several key components:
Content Fetcher (content_fetcher.py)
- Handles HTTP requests to aws.amazon.com
- Parses HTML content using BeautifulSoup
- Extracts clean content using readability
- Implements caching for performance
- Provides content similarity analysis
Server (server.py)
- Implements MCP protocol
- Defines available tools and their schemas
- Handles tool execution and error management
- Formats responses for optimal readability
Technical Details
Dependencies
mcp: Model Context Protocol implementationhttpx: Async HTTP client for web requestsbeautifulsoup4: HTML parsing and content extractionreadability-lxml: Main content extractionmarkdownify: HTML to Markdown conversionpydantic: Data validation and serialization
Content Processing Pipeline
- Search: Query AWS website sections
- Extract: Use readability to get main content
- Parse: Structure content with BeautifulSoup
- Clean: Remove navigation, ads, and scripts
- Format: Convert to Markdown for better readability
- Cache: Store results for performance
Error Handling
- Comprehensive error catching and logging
- Graceful degradation for network issues
- Informative error messages for users
- Retry logic for transient failures
Development
Setup Development Environment
git clone https://github.com/yourusername/aws-content-mcp.git
cd aws-content-mcp
pip install -e ".[dev]"
Running Tests
pytest
Code Formatting
black src/
isort src/
Type Checking
mypy src/
Publishing to PyPI
Build Package
python -m build
Upload to PyPI
python -m twine upload dist/*
Configuration
The server can be configured through environment variables:
AWS_CONTENT_CACHE_TTL: Cache time-to-live in seconds (default: 3600)AWS_CONTENT_MAX_RESULTS: Maximum search results (default: 20)AWS_CONTENT_TIMEOUT: HTTP request timeout (default: 30)
Limitations
- Only works with publicly accessible aws.amazon.com content
- Rate limited by AWS website response times
- Content structure may change as AWS updates their website
- Some dynamic content may not be fully captured
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
For issues and questions:
- GitHub Issues: https://github.com/yourusername/aws-content-mcp/issues
- Documentation: https://github.com/yourusername/aws-content-mcp/wiki
Changelog
v0.1.0
- Initial release
- Basic content fetching and search
- Blog analysis and duplicate detection
- Service overview functionality
- Content comparison tools
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aws_content_mcp-0.1.0.tar.gz.
File metadata
- Download URL: aws_content_mcp-0.1.0.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ebd128150bde52cac3be10aadb404f45c5449bc6f4b5602362136204a4c2bb4
|
|
| MD5 |
a3db873f6c6441c4bf760ed2ad2036d2
|
|
| BLAKE2b-256 |
5ae200a8fb4e87a88eea217a51efa24c0ab8dfdcc6bd137b31a46ca5f7ad3457
|
File details
Details for the file aws_content_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aws_content_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cae14a9c07416124b9ac3751e2f558fa6871cc929d56ceef3453d2d1afbb1d1
|
|
| MD5 |
875fa4cbb3b2f7fa9e185d174bc02581
|
|
| BLAKE2b-256 |
2f6c82d19c9f4ff36e878e0f172e4e9bf54a561406890b8ac4f3fd0697b62a21
|