MCP (Model Context Protocol) is a framework designed to enhance the capabilities of Large Language Models (LLMs) by providing them with additional context, data, and tools. MCP servers act as specialized API endpoints that can be called by LLMs during their execution to retrieve real-time information, access structured data, or perform actions that would otherwise be outside their capabilities.
The primary endpoint for establishing a connection to interact with the MCP server.
Requires authentication with a Bearer token.
Health check endpoint that returns a status indicating if the server is operational.
Check HealthTo interact with this server, you need to:
/mcp endpoint with a valid Bearer tokenThe required API/Bearer token (AWS_INVENTORY_MCP_SERVER_API_TOKEN) is stored in AWS Secret Manager under the path:
service/axn/mcp-servers-token
You'll need to retrieve this token to authenticate your requests to the MCP server.
To integrate with Claude Desktop, add the following configuration to your Claude Desktop config file:
{
"mcpServers": {
"aws-inventory-mcp-server": {
"command": "npx",
"args": [
"mcp-remote",
"https://`remote-server-url`/mcp/",
"--header",
"Authorization: Bearer `token`"
]
}
}
Retrieve a comprehensive list of all EC2 instances and their metadata from the database.
Returns instance information including instance_id, instance_type, state, availability_zone, vpc_id, security_groups, public/private IPs, launch_time, and tags.
Execute a custom SELECT SQL query against the EC2 metadata table.
Example: SELECT * FROM ec2_metadata WHERE region = 'us-west-2'
Supports WHERE clauses, ORDER BY, GROUP BY, HAVING, LIMIT, and OFFSET.
Get the schema definition for the ec2_metadata table.
Returns column names, data types, nullability, and default values.
Filter EC2 instances based on specified criteria using exact value matching.
Example filters: {"state": "running", "instance_type": "t3.micro"}
Retrieve a comprehensive list of all RDS clusters and their metadata from the database.
Returns cluster information including cluster_identifier, engine, engine_version, status, endpoint, port, availability_zones, storage_encrypted, backup_retention_period, and tags.
Retrieve a comprehensive list of all RDS instances and their metadata from the database.
Returns instance information including instance_identifier, instance_class, engine, engine_version, status, availability_zone, allocated_storage, storage_type, multi_az, publicly_accessible, and tags.
Execute a custom SELECT SQL query against RDS metadata tables (clusters or instances).
Example: SELECT db_cluster_identifier, status FROM rds_metadata WHERE engine = 'aurora-mysql'
Supports targeting either "clusters" (rds_metadata) or "instances" (rds_instances) tables.
Get the schema definition for RDS database tables (clusters or instances).
Returns column names, data types, nullability, and default values for either rds_metadata or rds_instances table.
Filter RDS clusters based on specified criteria using exact value matching.
Example filters: {"status": "available", "engine": "aurora-mysql"}
Filter RDS instances based on specified criteria using exact value matching.
Example filters: {"db_instance_status": "available", "engine": "mysql"}
Retrieve RDS cluster information along with all associated instances.
Provides a hierarchical view showing cluster details and all instances that belong to that cluster.
Can target a specific cluster or return all clusters with their instances.
Retrieve comprehensive RDS information including clusters, instances, and their relationships.
Returns a complete overview with summary statistics, clusters with nested instances, and standalone instances.
User: Show me all my EC2 instances. Claude: I'll get all your EC2 instances from the database. [Claude uses get_instance_list() tool] I found the following EC2 instances: - i-1234567890abcdef0 (t3.micro) - running in us-east-1a - i-0987654321fedcba0 (m5.large) - stopped in us-west-2b - i-abcdef1234567890 (t3.small) - running in us-east-1c
User: Show me all running t3.micro instances.
Claude: Let me filter your EC2 instances for running t3.micro instances.
[Claude uses filter_instances({"state": "running", "instance_type": "t3.micro"}) tool]
Found 2 running t3.micro instances:
- i-1234567890abcdef0 in us-east-1a
- i-fedcba0987654321 in us-west-2a
User: Show me all my RDS clusters. Claude: I'll get all your RDS clusters from the database. [Claude uses get_rds_clusters() tool] I found the following RDS clusters: - my-aurora-cluster (aurora-mysql 8.0) - available - prod-cluster (aurora-postgresql 13.7) - available - staging-cluster (aurora-mysql 5.7) - creating
User: Show me the details of my-aurora-cluster with all its instances.
Claude: Let me get the cluster details with all associated instances.
[Claude uses get_rds_cluster_with_instances("my-aurora-cluster") tool]
Cluster: my-aurora-cluster (aurora-mysql 8.0.mysql_aurora.3.02.0)
Status: available
Endpoint: my-aurora-cluster.cluster-xyz.us-east-1.rds.amazonaws.com
Port: 3306
Associated Instances:
- my-aurora-cluster-instance-1 (db.r5.large) - available in us-east-1a
- my-aurora-cluster-instance-2 (db.r5.large) - available in us-east-1b
User: Give me a complete overview of my RDS infrastructure. Claude: I'll get a comprehensive view of your entire RDS infrastructure. [Claude uses get_all_rds_details() tool] RDS Infrastructure Summary: - Total Clusters: 3 - Total Instances: 6 - Engines: aurora-mysql (4), aurora-postgresql (2) - Instance Classes: db.r5.large (4), db.t3.medium (2) Clusters: 1. my-aurora-cluster (2 instances) 2. prod-cluster (2 instances) 3. staging-cluster (1 instance) Standalone Instances: 1. legacy-mysql-db (db.t3.medium)
User: What columns are available in the EC2 metadata table? Claude: Let me get the schema for the ec2_metadata table. [Claude uses get_table_schema() tool] The ec2_metadata table has the following structure: - instance_id (varchar) - NOT NULL - instance_type (varchar) - NOT NULL - state (varchar) - NOT NULL - availability_zone (varchar) - NOT NULL - vpc_id (varchar) - NULL - subnet_id (varchar) - NULL - security_groups (jsonb) - NULL - public_ip (varchar) - NULL - private_ip (varchar) - NOT NULL - launch_time (timestamp) - NOT NULL - tags (jsonb) - NULL
User: What columns are in the RDS instances table?
Claude: Let me get the schema for the rds_instances table.
[Claude uses get_rds_schema("instances") tool]
The rds_instances table has the following structure:
- db_instance_identifier (varchar) - NOT NULL
- db_instance_class (varchar) - NOT NULL
- engine (varchar) - NOT NULL
- engine_version (varchar) - NULL
- db_instance_status (varchar) - NOT NULL
- availability_zone (varchar) - NULL
- allocated_storage (integer) - NULL
- storage_type (varchar) - NULL
- multi_az (boolean) - NULL
- publicly_accessible (boolean) - NULL
- tags (jsonb) - NULL