Skip to main content

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 query
  • content_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 analyze
  • check_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 compare
  • url2 (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 implementation
  • httpx: Async HTTP client for web requests
  • beautifulsoup4: HTML parsing and content extraction
  • readability-lxml: Main content extraction
  • markdownify: HTML to Markdown conversion
  • pydantic: Data validation and serialization

Content Processing Pipeline

  1. Search: Query AWS website sections
  2. Extract: Use readability to get main content
  3. Parse: Structure content with BeautifulSoup
  4. Clean: Remove navigation, ads, and scripts
  5. Format: Convert to Markdown for better readability
  6. 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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

For issues and questions:

Changelog

v0.1.0

  • Initial release
  • Basic content fetching and search
  • Blog analysis and duplicate detection
  • Service overview functionality
  • Content comparison tools

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws_content_mcp-0.1.0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aws_content_mcp-0.1.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

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

Hashes for aws_content_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6ebd128150bde52cac3be10aadb404f45c5449bc6f4b5602362136204a4c2bb4
MD5 a3db873f6c6441c4bf760ed2ad2036d2
BLAKE2b-256 5ae200a8fb4e87a88eea217a51efa24c0ab8dfdcc6bd137b31a46ca5f7ad3457

See more details on using hashes here.

File details

Details for the file aws_content_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_content_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1cae14a9c07416124b9ac3751e2f558fa6871cc929d56ceef3453d2d1afbb1d1
MD5 875fa4cbb3b2f7fa9e185d174bc02581
BLAKE2b-256 2f6c82d19c9f4ff36e878e0f172e4e9bf54a561406890b8ac4f3fd0697b62a21

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page