Skip to main content
Glama
antonioschaffert

AWS Advisor MCP Server

README.md
# AWS Advisor MCP Server

A Model Context Protocol (MCP) server that provides AWS service recommendations based on your use case descriptions.

## Features

- **suggest_aws_service**: Get AWS service recommendations by describing your use case
- **list_aws_categories**: Browse AWS services organized by category (compute, storage, database, etc.)

## Setup

1. **Install uv** (if not already installed):
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

2. **Sync dependencies**:
```bash
uv sync
```

This will create a virtual environment and install all dependencies.

## Configuration for Cursor IDE

Add this server to your Cursor MCP settings:

1. Open Cursor Settings
2. Navigate to the MCP section
3. Add a new server with this configuration:

```json
{
  "mcpServers": {
    "aws-advisor": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/antonioschaffert/workspace/tony/my-dev-mcp",
        "run",
        "python",
        "src/aws_advisor_server.py"
      ]
    }
  }
}
```

Or add it to your MCP config file (usually `~/.cursor/mcp_config.json` or similar):

```json
{
  "aws-advisor": {
    "command": "uv",
    "args": [
      "--directory",
      "/Users/antonioschaffert/workspace/tony/my-dev-mcp",
      "run",
      "python",
      "src/aws_advisor_server.py"
    ]
  }
}
```

## Usage

Once configured, you can use the tools in Cursor:

### Example prompts:

- "What AWS service should I use for serverless computing?"
- "Suggest AWS services for storing images"
- "What's the best AWS service for a relational database?"
- "Show me AWS services for real-time data streaming"
- "List all AWS categories"

### Available Tools:

1. **suggest_aws_service**
   - Input: `use_case` (string) - Description of what you want to build
   - Returns: Recommended AWS services with explanations

2. **list_aws_categories**
   - No input required
   - Returns: All AWS service categories and their services

## Testing Locally

You can test the server directly:

```bash
uv run python src/aws_advisor_server.py
```

Then send MCP protocol messages via stdin (for advanced testing).

## Covered AWS Services

- **Compute**: EC2, Lambda, ECS, EKS, Fargate, Lightsail
- **Storage**: S3, EBS, EFS, Glacier, FSx
- **Database**: RDS, DynamoDB, Aurora, DocumentDB, ElastiCache, Neptune, Redshift
- **Networking**: VPC, CloudFront, Route53, API Gateway, Direct Connect, ELB
- **Analytics**: Athena, EMR, Kinesis, Glue, QuickSight
- **ML/AI**: SageMaker, Rekognition, Comprehend, Polly, Transcribe, Translate, Lex
- **Security**: IAM, Cognito, KMS, Secrets Manager, WAF, GuardDuty
- **Messaging**: SQS, SNS, EventBridge, SES
- **Monitoring**: CloudWatch, X-Ray, CloudTrail

## Requirements

- Python 3.10+
- mcp package (>=0.9.0)

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one lists AWS service categories for exploration, while the other provides service recommendations based on use cases. There is no overlap or ambiguity between these functions.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'list_' and 'suggest_' prefixes, and they use snake_case uniformly. The naming is predictable and readable across the set.

Tool Count2/5

With only 2 tools, the server feels thin for its apparent scope of AWS advisory. While the tools cover basic exploration and recommendation, the domain suggests potential for more operations like detailed service comparisons or cost analysis, making the count inadequate.

Completeness3/5

The server provides a starting point for AWS service discovery but has notable gaps. It lacks tools for deeper analysis, such as comparing services, checking pricing, or managing recommendations, which limits its utility for comprehensive advisory tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues