Skip to main content
Glama
sebdroid

AWS Pricing MCP Server

by sebdroid

get_pricing_service_codes

Read-only

Discover which AWS services have pricing data in the AWS Price List API, and get their service codes to use in pricing queries.

Instructions

Get AWS service codes available in the Price List API.

**PURPOSE:** Discover which AWS services have pricing information available in the AWS Price List API.

**PARAMETERS:**
- filter (optional): Case-insensitive regex pattern to filter service codes (e.g., "bedrock" matches "AmazonBedrock", "AmazonBedrockService")

**WORKFLOW:** This is the starting point for any pricing query. Use this first to find the correct service code.

**RETURNS:** List of service codes (e.g., 'AmazonEC2', 'AmazonS3', 'AWSLambda') that can be used with other pricing tools.

**NEXT STEPS:**
- Use get_pricing_service_attributes() to see what filters are available for a service
- Use get_pricing() to get actual pricing data for a service

**NOTE:** Service codes may differ from AWS console names (e.g., 'AmazonES' for OpenSearch, 'AWSLambda' for Lambda).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterNoOptional case-insensitive regex pattern to filter service codes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, establishing the tool is safe. The description adds valuable behavioral context: it returns a list of service codes, notes that service codes may differ from AWS console names (with examples), and explains filter behavior. This exceeds the bar set by the calibration example get_calls, which only added date-range scope. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (PURPOSE, PARAMETERS, WORKFLOW, RETURNS, NEXT STEPS, NOTE). It is front-loaded with the primary purpose. Every section adds value: the NOTE about naming differences prevents common mistakes, while NEXT STEPS guides further action. Despite being longer than typical, it is appropriately sized for the tool's discovery role.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (1 optional param) and has a documented output schema, but the description goes beyond minimal requirements by explaining the return values, providing usage workflow, and listing sibling tools to use next. It is self-contained for an agent to correctly invoke and interpret the result. The output schema exists, so return-detail explanation is optional, but the description still covers it redundantly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of the parameter, but the description enhances understanding with a concrete example: '"bedrock" matches "AmazonBedrock", "AmazonBedrockService"'. This demonstrates regex case-insensitivity and partial matching, which the schema's brief description does not convey. The description also clarifies that the filter is optional, reinforcing the schema's default null.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get AWS service codes available in the Price List API.' It uses a specific verb ('Get') and resource ('AWS service codes'), and distinguishes itself from siblings like get_pricing (which retrieves actual pricing data) and get_pricing_service_attributes (which gets filters). This makes the tool's role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'This is the starting point for any pricing query. Use this first to find the correct service code.' It also names alternatives in NEXT STEPS: use get_pricing_service_attributes() for filters and get_pricing() for actual pricing data. This provides clear when-to-use and when-to-move-on guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sebdroid/aws-pricing-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server