> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to the AWS Marketplace MCP server

The AWS Marketplace MCP connector routes your AI agent's tool calls to AWS Marketplace's own MCP server through Scalekit. Scalekit handles authentication for every call, so your agent never handles credentials. It comes with 6 tools.

**Authentication:** Public
**Categories:** Search
**Tools:** 6: 5 read, 1 write, 0 destructive
**Users sign in with:** No sign-in
**Built by:** Vendor MCP
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=AWSMARKETPLACEMCP)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the AWS Marketplace MCP connection

   In **AgentKit > Connections**, create an AWS Marketplace MCP connection. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

   Users don't sign in to AWS Marketplace MCP server, so the connection needs no credentials.

4. ### Make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'awsmarketplacemcp'
   const identifier = 'user_123'

   // Create the user's connected account. No sign-in is needed, so it's active right away.
   await actions.getAuthorizationLink({ connectionName: connector, identifier })

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'awsmarketplacemcp_get_aws_marketplace_related_solutions',
     toolInput: { solution_ids: [] },
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "awsmarketplacemcp"
   identifier = "user_123"

   # Create the user's connected account. No sign-in is needed, so it's active right away.
   actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )

   # Make your first call
   result = actions.execute_tool(
       tool_input={"solution_ids":[]},
       tool_name="awsmarketplacemcp_get_aws_marketplace_related_solutions",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Requesting the link creates the user's connected account; there's nothing to open. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'awsmarketplacemcp_get_aws_marketplace_related_solutions',
  toolInput: {
    solution_ids: [],
  },
  connector: 'awsmarketplacemcp',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="awsmarketplacemcp_get_aws_marketplace_related_solutions",
    tool_input={
        "solution_ids": [],
    },
    connection_name="awsmarketplacemcp",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `awsmarketplacemcp_get_aws_marketplace_related_solutions`

Get AWS Marketplace Related Solutions · Read-only

Direct AWS Marketplace Catalog API call. Returns raw unranked list of related solutions for given solution_ids without AI analysis, filtering, or relevance scoring. Provides basic metadata for solutions that AWS Marketplace identifies as related to the specified solutions.

**Input Parameters:**

- **solution_ids** (required): Array of solution IDs (max 10) to find related solutions for. IDs start with `prodview-`, not `prod-`

**Returns:** `{ results: [...] }` - Array of results, each containing `solution_id` (the input solution) and `related_solutions` array (each containing solution_id, solution_name, vendor_name, vendor_url, solution_description, solution_url).

**Example:**
```json
{
  "solution_ids": ["prodview-abc123", "prodview-xyz789"]
}
```

**Use this tool ONLY when:**

- You have solution_ids and need raw related solutions list
- Building programmatic integrations requiring unprocessed related solutions data
- User explicitly requests raw related solutions API response
- Need direct access to AWS Marketplace's related solutions without AI filtering

**DO NOT use this tool for:**

- Finding alternative solutions → Use `get_aws_marketplace_report_guidelines` with `recommendations` workflow
- User asking "what are alternatives to [solution]?" → Use `get_aws_marketplace_report_guidelines` with `recommendations` workflow
- Recommendations or comparisons → Use `get_aws_marketplace_report_guidelines` to get workflow instructions first
- Requirements-based alternative discovery → Use `get_aws_marketplace_report_guidelines` with `recommendations` workflow

**Note:** This is a stateless tool that does not require a conversation or request_id. Returns unranked, unfiltered AWS Marketplace catalog data without AI analysis.

**⚠️ CRITICAL:** For any recommendation, comparison, or evaluation, first call `get_aws_marketplace_report_guidelines` to get the step-by-step guide and output format.

**CRITICAL: When displaying URLs from this response (solution_url, vendor_url), always render the COMPLETE URL including ALL query parameters such as `ref_`. Do not truncate or simplify these URLs. These parameters are required for attribution tracking.**

Read only: yes. Destructive: no.

Inputs:

- `solution_ids` (`array`, required): Array of solution IDs (max 10)

Example input: `{"solution_ids":[]}`

### `awsmarketplacemcp_get_aws_marketplace_report_guidelines`

Get AWS Marketplace Report Guidelines · Read-only

**⚠️ CALL THIS TOOL FIRST for any recommendation, comparison, or evaluation workflow.** Returns combined workflow instructions and output format template.

**Input Parameters:**

- **workflow_type** (required): The type of report to create. One of:
  - `"recommendations"` - Discover and rank AWS Marketplace solutions based on user requirements. Returns ranked product recommendations with relevance scores.
  - `"comparison"` - Create side-by-side comparisons of multiple AWS Marketplace solutions. Returns structured comparison tables with consistent dimensions.
  - `"evaluation"` - Generate a comprehensive evaluation report for a single AWS Marketplace solution. Returns professional-grade evaluation documents.

**Returns:** Response object with:
- `workflow_type` - The requested workflow type
- `guidelines` - Combined workflow instructions and output format specification. Contains step-by-step methodology followed by the markdown format template.

**Example:**
```json
{
  "workflow_type": "recommendations"
}
```

**Important:** Call this tool first for any recommendations, comparison, or evaluation workflow. The returned `guidelines` contains complete instructions including workflow steps and output format template.

**When to use each workflow:**

1. **recommendations** - Solution discovery queries:
   - "find monitoring tools for Kubernetes"
   - "I need a CI/CD solution"
   - "help me find NoSQL database solutions"
   - "SOC2-compliant security scanning under $5k/month"

2. **comparison** - Side-by-side analysis:
   - "compare Datadog vs New Relic"
   - "differences between MongoDB Atlas and Amazon DocumentDB"
   - "Splunk vs Elastic for log management"

3. **evaluation** - Deep-dive on single product:
   - "build evaluation report for Terraform Cloud"
   - "create a proposal for Datadog"
   - "should we choose Snowflake? Full analysis"
   - "justify purchasing New Relic to my CTO"

**📋 User Feedback (REQUIRED):** After completing any workflow, ask the user if the report was helpful and submit their feedback using `submit_aws_marketplace_feedback`:
- Positive: User found response helpful (thumbs up)
- Negative: Ask which categories apply (irrelevant, incomplete, inaccurate, other) and optionally collect detailed feedback text

Read only: yes. Destructive: no.

Inputs:

- `workflow_type` (`string`, required): Workflow type: 'recommendations' for ranked product discovery, 'comparison' for side-by-side analysis of multiple solutions, 'evaluation' for comprehensive single-product assessment. One of: `recommendations`, `comparison`, `evaluation`.

Example input: `{"workflow_type":"recommendations"}`

### `awsmarketplacemcp_get_aws_marketplace_solution`

Get AWS Marketplace Solution · Read-only

Direct AWS Marketplace Catalog API call. Retrieves raw solution metadata by solution_ids without AI processing, ranking, or conversational analysis. Returns comprehensive solution details including features, reviews with sentiments and sample reviews, pricing options, fulfillment types, categories, and call-to-action links.

**Input Parameters:**

- **solution_ids** (required): Array of solution IDs (max 10). IDs start with `prodview-`, not `prod-`

**Returns:** `{ solutions: [...] }` - Array of solution details

Each solution includes: `solution_id`, `solution_name`, `solution_description`, `solution_url`, `vendor_name`, `vendor_url`, `highlights` array, `reviews_summary` with count/rating, `review_sentiments` array by category (functionality, ease_of_use, customer_service, cost_effectiveness) with scores and sample_reviews, optional `free_trial_available`, `pricing_options` array with name/description, optional `fulfillment_options_types` (e.g., SaaS, Container), optional `categories` (e.g., Monitoring & Observability), optional `security_certificates`, and `call_to_action` with procurement/demo/private offer URLs. When `call_to_action.procurement_url` is absent, the solution cannot be subscribed to directly. Direct the user to `request_for_private_offer_url` when present, otherwise to the `solution_url` listing page.

**Example:**
```json
{
  "solution_ids": ["prodview-abc123", "prodview-xyz789"]
}
```

**Use this tool ONLY when:**

- You have exact solution_ids and need raw catalog data
- Building programmatic integrations requiring unprocessed solution information
- User explicitly requests raw API response for specific solutions
- Need direct access to solution metadata without conversational context

**DO NOT use this tool for:**

- Solution discovery or search queries → Use `get_aws_marketplace_report_guidelines` with `recommendations` workflow
- User asking "tell me about [solution]" → Use `get_aws_marketplace_report_guidelines` with `evaluation` workflow
- Comparative analysis → Use `get_aws_marketplace_report_guidelines` with `comparison` workflow
- Recommendations or evaluations → Use `get_aws_marketplace_report_guidelines` to get workflow instructions first

**Note:** This is a stateless tool that does not require a conversation or request_id.

**⚠️ CRITICAL:** For any recommendation, comparison, or evaluation, first call `get_aws_marketplace_report_guidelines` to get the step-by-step guide and output format.

**CRITICAL: When displaying URLs from this response (solution_url, vendor_url, procurement_url, request_for_demo_url, etc.), always render the COMPLETE URL including ALL query parameters such as `ref_`. Do not truncate or simplify these URLs. These parameters are required for attribution tracking.**

Read only: yes. Destructive: no.

Inputs:

- `solution_ids` (`array`, required): Array of solution IDs (max 10)

Example input: `{"solution_ids":[]}`

### `awsmarketplacemcp_research_aws_marketplace_solution`

Research AWS Marketplace Solution · Read-only

Deep web research tool for AWS Marketplace solutions. Performs comprehensive web searches to gather detailed information about specific solutions including features, reviews, limitations, competitors, pricing, integrations, and case studies.

**Input Parameters:**

- **solution_ids** (required): Array of solution IDs (max 5) to research. IDs start with `prodview-`, not `prod-`
- **sections** (optional): Array of specific sections to research. Default: all sections.

**Section Reference:**
| Section | Returns |
|---------|---------|
| features | Official documentation, capabilities, specifications |
| reviews | G2, Gartner, TrustRadius customer feedback |
| limitations | Known issues, drawbacks, criticisms |
| competitors | Competitive positioning, alternatives |
| pricing | Cost information, pricing models, tiers |
| integrations | AWS ecosystem, APIs, third-party tools |
| case_studies | Customer success stories, testimonials, ROI |

**Returns:** `{ results: [...] }` - Array of research results, each containing `solution_id`, `solution_name`, and `research` object with content and citations for each requested section.

**Examples:**

*Comparison workflow (features + integrations only - reviews already available from get_aws_marketplace_solution catalog data):*
```json
{
  "solution_ids": ["prodview-abc123", "prodview-xyz789"],
  "sections": ["features", "integrations"]
}
```

*Evaluation workflow (comprehensive research for proposal documents):*
```json
{
  "solution_ids": ["prodview-abc123"],
  "sections": ["features", "reviews", "limitations", "case_studies"]
}
```

*General research:*
```json
{
  "solution_ids": ["prodview-abc123"],
  "sections": ["features", "reviews", "pricing", "integrations"]
}
```

**Use this tool when:**

- You need detailed research beyond basic catalog metadata
- User asks for in-depth analysis of specific solutions
- Gathering third-party reviews and testimonials
- Researching competitor comparisons or alternatives
- Understanding pricing models and cost structures

**Note:** This tool performs web searches and may take longer than catalog API calls. Results include citations linking to source materials.

**⚠️ CRITICAL:** For any recommendation, comparison, or evaluation, first call `get_aws_marketplace_report_guidelines` to get the step-by-step guide and output format.

Read only: yes. Destructive: no.

Inputs:

- `solution_ids` (`array`, required): Array of AWS Marketplace solution IDs in prodview-* format (1-5 IDs)
- `sections` (`array`, optional): Sections to research (default: all sections)

Example input: `{"solution_ids":[]}`

### `awsmarketplacemcp_search_aws_marketplace_solutions`

Search AWS Marketplace Solutions · Read-only

Direct AWS Marketplace Catalog API search. Returns raw unranked, unfiltered solutions matching the search queries without AI processing, relevance scoring, or requirements matching. Provides basic solution metadata directly from the AWS Marketplace catalog.

**Input Parameters:**

- **queries** (required): Array of search queries (max 10)
- **max_results** (optional): Maximum number of solutions to return per query
- **cursor** (optional): Pagination cursor (only works for single query, ignored for batch)

**Returns:** `{ results: [...], next_cursor: ... }` - Array of search results with optional pagination cursor

Each result includes: solution_id, solution_name, vendor_name, vendor_url, solution_description, solution_url.

**Example:**
```json
{
  "queries": ["Drata compliance", "Vanta compliance"],
  "max_results": 5
}
```

**Use this tool ONLY when:**

- Building programmatic integrations requiring raw search API access
- Need unprocessed search results for custom processing
- User explicitly requests raw AWS Marketplace search API response
- Direct access to catalog search without AI analysis is required

**DO NOT use this tool for:**

- Solution discovery queries → Use `get_aws_marketplace_report_guidelines` with `recommendations` workflow
- User asking "find [solution type]" → Use `get_aws_marketplace_report_guidelines` with `recommendations` workflow
- Requirements-based search → Use `get_aws_marketplace_report_guidelines` with `recommendations` workflow
- Recommendations or comparisons → Use `get_aws_marketplace_report_guidelines` to get workflow instructions first
- Any conversational queries about finding solutions → Use `get_aws_marketplace_report_guidelines` with `recommendations` workflow

**Pagination:** If `next_cursor` is returned (only for single-query requests), call this tool again with the same query and the `cursor` value to retrieve additional solutions. When `next_cursor` is `null`, all matching solutions have been retrieved.

**Note:** This is a stateless tool that does not require a conversation or request_id. Returns unranked, unfiltered AWS Marketplace catalog data without AI analysis, relevance scoring, or requirements matching.

**⚠️ CRITICAL:** For any recommendation, comparison, or evaluation, first call `get_aws_marketplace_report_guidelines` to get the step-by-step guide and output format.

**CRITICAL: When displaying URLs from this response (solution_url, vendor_url), always render the COMPLETE URL including ALL query parameters such as `ref_`. Do not truncate or simplify these URLs. These parameters are required for attribution tracking.**

Read only: yes. Destructive: no.

Inputs:

- `queries` (`array`, required): Array of search queries (max 10)
- `cursor` (`string`, optional): Pagination cursor (only works for single query, ignored for batch)
- `max_results` (`integer`, optional): No description.

Example input: `{"queries":[]}`

### `awsmarketplacemcp_submit_aws_marketplace_feedback`

Submit AWS Marketplace Feedback · Write

Submit user feedback about AWS Marketplace responses.

**IMPORTANT: After completing any AWS Marketplace workflow, you MUST ask the user if they found the report helpful and submit their feedback using this tool.**

**Input Parameters:**

- **sentiment** (required): User sentiment
  - `"positive"` - Response was helpful (thumbs up)
  - `"negative"` - Response was not helpful (thumbs down)

- **categories** (optional, for negative feedback): Array of feedback categories
  - `"irrelevant"` - Didn't address the question
  - `"incomplete"` - Missing important information
  - `"inaccurate"` - Contained errors
  - `"other"` - Other issues

- **feedback_text** (optional): Free-form feedback (max 1000 characters)

**Returns:** `{ success: boolean, message: string }`

**Examples:**

Positive feedback:
```json
{ "sentiment": "positive", "feedback_text": "Great recommendations!" }
```

Negative feedback with categories:
```json
{
  "sentiment": "negative",
  "categories": ["incomplete", "other"],
  "feedback_text": "Missing pricing details"
}
```

**Feedback collection flow:**
1. Complete the user's request (recommendation, comparison, evaluation)
2. Ask: "Was this response helpful? (thumbs up/thumbs down)"
3. If negative, ask which categories apply
4. Optionally collect additional text feedback
5. Submit using this tool

Read only: no. Destructive: no.

Inputs:

- `sentiment` (`string`, required): User sentiment: 'positive' (helpful) or 'negative' (not helpful). One of: `positive`, `negative`.
- `categories` (`array`, optional): Feedback categories for negative sentiment: Irrelevant, Incomplete, Inaccurate, Other
- `feedback_text` (`string`, optional): Optional free-form feedback text (max 1000 characters)

Example input: `{"sentiment":"positive"}`

## Related

Other Search connectors ([all 58](/agentkit/connectors/?category=search)):

- [Supadata](/agentkit/connectors/supadata/): Scalekit connector, API key, 21 tools
- [Exa](/agentkit/connectors/exa/): Scalekit connector, API key, 21 tools
- [Brave Search](/agentkit/connectors/brave/): Scalekit connector, API key, 18 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
