Amazon PersonalizeMCP Configuration & Schema Registry
The Amazon Personalize Model Context Protocol (MCP) configuration provides a validated, machine-readable JSON schema and executable bridge that connects state-of-the-art AI coding assistants — including Claude Desktop, Cursor IDE, Windsurf, Cline, and VS Code Copilot — directly to the Amazon Personalize REST API. By leveraging the standardized open Model Context Protocol, AI agents can dynamically discover capabilities, validate input parameters against strict JSON Schemas, and execute live API operations without context switching or manual copy-pasting.
Quick Specs & Integration Summary
Technical Architecture & Protocol Semantics
Under the Model Context Protocol specification, the Amazon Personalize configuration functions as an isolated protocol adapter. When an AI agent initializes a session, the client establishes a bidirectional JSON-RPC 2.0 communication channel over standard input/output (stdio) or Server-Sent Events (SSE). During the initial handshake, the server publishes its tool manifest extracted from the Amazon Personalize OpenAPI specification (version 2018-05-22).
Amazon Personalize is a fully managed machine learning service developed by Amazon Web Services (AWS) that enables developers to create sophisticated, individualized recommendations for their applications without requiring prior machine learning expertise. The service handles the complex underlying mechanics of recommendation systems, including data ingestion, model training, tuning, and deployment, allowing users to focus on application logic rather than ML infrastructure. Its core capabilities span the entire recommendation pipeline: ingesting user interaction, item, and user metadata; automatically selecting and training the most appropriate algorithm from a library of state-of-the-art models; and deploying the resulting model as a fully managed, scalable API endpoint. Typical use cases are pervasive across both consumer and enterprise sectors, such as personalizing product recommendations in e-commerce, curating news feeds in media apps, suggesting content on streaming services, and providing relevant job or document recommendations in enterprise productivity tools. When exposed as tools to an AI coding assistant via the Model Context Protocol (MCP), the Amazon Personalize API transforms from a static service into a dynamic, interactive resource. An AI agent gains the ability to programmatically orchestrate the entire personalization lifecycle, acting as an expert collaborator for developers. This integration provides immense value by automating complex, multi-step workflows that would otherwise require deep AWS knowledge and manual console operations. The AI can directly invoke operations to create and manage the foundational structures of a personalization solution, such as dataset groups and datasets, and then proceed to handle data ingestion, solution training, and campaign deployment—all through natural language instructions. This turns the AI assistant into a powerful accelerator for building, testing, and iterating on recommendation features, significantly reducing development time and operational complexity. Within an MCP-driven workflow, a developer can instruct the AI agent to perform a variety of dynamic and practical tasks. For instance, the agent can be directed to "Set up a new A/B test for our recommendation engine by creating a new campaign and splitting traffic," which would involve using the CreateCampaign endpoint. Another command might be, "Ingest the latest batch of user clickstream data into the primary dataset to refresh the model," leveraging the CreateDatasetImportJob endpoint. The AI can also handle diagnostic and optimization tasks, such as "Analyze the performance of our current model and create a new solution version if the metrics have stagnated, then update the active campaign," a sequence that would utilize CreateSolutionVersion and UpdateCampaign actions. Furthermore, the agent can manage auxiliary features like business rules by instructing it to "Create a filter to exclude out-of-stock items from recommendations" using the CreateFilter endpoint, or to "Set up attribution tracking to measure how recommendations impact sales" via the CreateMetricAttribution endpoint. Critical to the secure and effective use of this API is adherence to authentication and security best practices, despite the "None" method noted for the tool interface itself. All underlying calls to AWS services must be authenticated using AWS Identity and Access Management (IAM) roles and policies. Developers must create a dedicated IAM user or role with the principle of least privilege, granting only the specific Amazon Personalize permissions required for the task (e.g., personalize:CreateCampaign, personalize:GetSolutionVersion). It is imperative to never embed long-term AWS access keys in client-side code; instead, use temporary credentials via AWS Security Token Service (STS) or configure the environment with AWS profiles. Network security should be enforced using VPC endpoints to keep traffic within the AWS network, and all data at rest and in transit should be encrypted using AWS Key Management Service (KMS) keys. Regular auditing of API call logs via AWS CloudTrail is essential for monitoring usage and maintaining a robust security posture. This architecture guarantees strict process boundary isolation: all sensitive authorization headers and secret tokens remain sandboxed inside the client runtime, never leaking into language model context windows or external logging endpoints.
Hosted Remote Configuration URL
MCP Configuration FileProvide this hosted URL in any client that supports remote MCP schema auto-loading.
https://mcpbridge.org/config/amazonaws-com-personalize.json2. AI Assistant Use Cases & Practical Workflows
Tailored for AI & MLReal-world execution scenarios demonstrating how LLM agents (Claude 3.7, GPT-4o, Cursor Agent) invoke Amazon Personalize tools to automate developer workflows.
1. Automated Model Evaluation & Benchmark Harness
Model EvaluationSubmit standardized prompt evaluation suites to models, aggregate latency and accuracy metrics, and compile comparative benchmark markdown tables.
"Run our evaluation test suite against Amazon Personalize. Record completion token latency, context recall scores, and output a formatted markdown performance benchmark table."
2. High-Throughput Embedding & Vector Ingestion
Vector PipelinesBatch process unstructured markdown documentation through embedding endpoints, validate dimensionalities, and push vectors to indexes.
"Generate text embeddings for our updated documentation articles using Amazon Personalize. Validate that vector dimensions equal 1536 and prepare upsert payloads for the vector database."
3. Fine-Tuning Job Monitoring & Loss Curve Auditing
Fine-Tuning OpsInspect active fine-tuning job telemetry, summarize training loss progression, and alert if validation loss starts diverging.
"Check the current status and training loss progression of our fine-tuning job in Amazon Personalize. Summarize epoch completion percentages and estimate remaining completion time."
4. Token Quota & Cost Optimization Governance
LLMOps FinOpsTrack organization token burn rates across teams, enforce departmental quotas, and optimize prompt cache hit rates.
"Query organization usage metrics in Amazon Personalize for the past 7 days. Break down token consumption by model version and highlight optimization opportunities for cached prompts."
End-to-End Multi-Step Agent Execution Lifecycle
When an engineer submits a task to Claude Desktop or Cursor, the LLM executes an autonomous 4-phase Model Context Protocol loop:
Schema Introspection
Handshake lists all 10 tools and builds argument validators.
Argument Synthesis
Model extracts parameters from prompt and validates types against OpenAPI rules.
Stdio Execution
Bridge invokes live API with injected local credentials and captures raw HTTP response.
Output Remediation
LLM parses JSON results, handles status codes, and presents synthesized answers.
3. Multi-Client Installation Matrix & Setup Guides
Select your AI assistant below to view exact configuration file paths, JSON installation snippets, and launch commands.
Claude Desktop
claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.json{
"mcpServers": {
"amazonaws-com-personalize": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openapi",
"https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json"
],
"env": {
"AMAZON_PERSONALIZE_API_KEY": "your_amazon_personalize_api_key"
}
}
}
}Cursor IDE
.cursor/mcp.jsonOpen Cursor Settings → Features → MCP Servers, or create .cursor/mcp.json in your project root.
{
"mcpServers": {
"amazonaws-com-personalize": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openapi",
"https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json"
],
"env": {
"AMAZON_PERSONALIZE_API_KEY": "your_amazon_personalize_api_key"
}
}
}
}Saves as .cursor/mcp.json in the download. Move it to your project root.
VS Code / Cline Extension
cline_mcp_settings.jsonPaste into your Cline extension MCP configuration or Roo Code host settings.
{
"mcpServers": {
"amazonaws-com-personalize": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openapi",
"https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json"
],
"env": {
"AMAZON_PERSONALIZE_API_KEY": "your_amazon_personalize_api_key"
}
}
}
}Zed Editor & Docker CLI
Zed / DockerDocker container execution command:
docker run -i --rm -e AMAZON_PERSONALIZE_API_KEY="YOUR_SECRET_VALUE" node:20-alpine npx -y @modelcontextprotocol/server-openapi https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json
Zed settings context servers JSON:
{
"context_servers": {
"amazonaws-com-personalize": {
"command": {
"path": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openapi",
"https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json"
],
"env": {
"AMAZON_PERSONALIZE_API_KEY": "your_amazon_personalize_api_key"
}
}
}
}
}Programmatic SDK Integration (TypeScript / Python)
Initialize the Amazon Personalize MCP client directly in your backend codebase.
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
// Initialize Amazon Personalize MCP client transport over stdio
const transport = new StdioClientTransport({
command: "npx",
args: ["-y","@modelcontextprotocol/server-openapi","https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json"],
env: { AMAZON_PERSONALIZE_API_KEY: process.env.AMAZON_PERSONALIZE_API_KEY || "YOUR_SECRET_KEY" }
});
const client = new Client(
{ name: "amazonaws-com-personalize-client", version: "1.0.0" },
{ capabilities: { tools: {}, resources: {}, prompts: {} } }
);
async function connectAndRun() {
await client.connect(transport);
const tools = await client.listTools();
console.log("Connected to Amazon Personalize MCP Server.");
console.log("Discovered 10 mapped tools:", tools);
}
connectAndRun().catch(console.error);Raw Stdio Schema Definition
schema.jsonFor standalone CLI wrappers, background daemon daemons, or custom script integrations:
{
"mcpServers": {
"amazonaws-com-personalize": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openapi",
"https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json"
],
"env": {
"AMAZON_PERSONALIZE_API_KEY": "your_amazon_personalize_api_key"
}
}
}
}4. Security, Authentication & Credential Management
Safely configure authentication tokens, isolate execution environments, and implement enterprise security best practices.
Required Environment Keys Reference
| Variable Name | Required | Type | Default | Purpose & Guidance |
|---|---|---|---|---|
| AMAZON_PERSONALIZE_API_KEY | REQUIRED | Secret Key / Token | None (Set in env) | your_amazon_personalize_api_key |
Zero-Downtime Token Rotation Protocol
- Generate Secondary Key: Create a new secret API token with identical scopes in your Amazon Personalize developer portal.
- Update Client Configuration: Insert the new token inside the
envblock of your MCP client JSON config. - Validate Connection: Issue a test query in Claude or Cursor to ensure handshake and tool calls succeed.
- Revoke Stale Token: Decommission the legacy key on the vendor portal to prevent unauthorized access.
Least-Privilege & Sandboxing Rules
- Read-Only Token Scoping: Whenever your workflow only requires querying data, provision read-only credentials to prevent accidental mutations.
- Local Process Isolation: Stdio transports run in isolated local subprocesses; secret credentials are never sent across the internet to MCP Bridge servers.
- Prompt Injection Defense: AI model responses are sandboxed; verify generated destructive arguments before confirming execution in agent mode.
Enterprise Security Checklist (Mandatory Practices)
- Never commit
claude_desktop_config.jsonor.cursor/mcp.jsoncontaining raw secrets into public GitHub repositories. - Add
.cursor/mcp.jsonand.env.localto your project's.gitignorefile. - Always enforce TLS/HTTPS encryption on outbound network requests initiated by the server process.
5. Tool Parameter Schemas & Natural Language Execution
Mapped OpenAPI operations converted into discrete Model Context Protocol tools with strict JSON-RPC payload validators.
/#X-Amz-Target=AmazonPersonalize.CreateBatchInferenceJobCreateBatchInferenceJob
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "amazonaws-com-personalize_post_X_Amz_Target_AmazonPersonalize_CreateBatchInferenceJob",
"arguments": {}
}
}"Use Amazon Personalize to execute CreateBatchInferenceJob and output the formatted result."
/#X-Amz-Target=AmazonPersonalize.CreateBatchSegmentJobCreateBatchSegmentJob
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "amazonaws-com-personalize_post_X_Amz_Target_AmazonPersonalize_CreateBatchSegmentJob",
"arguments": {}
}
}"Use Amazon Personalize to execute CreateBatchSegmentJob and output the formatted result."
/#X-Amz-Target=AmazonPersonalize.CreateCampaignCreateCampaign
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "amazonaws-com-personalize_post_X_Amz_Target_AmazonPersonalize_CreateCampaign",
"arguments": {}
}
}"Use Amazon Personalize to execute CreateCampaign and output the formatted result."
/#X-Amz-Target=AmazonPersonalize.CreateDatasetCreateDataset
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "amazonaws-com-personalize_post_X_Amz_Target_AmazonPersonalize_CreateDataset",
"arguments": {}
}
}"Use Amazon Personalize to execute CreateDataset and output the formatted result."
/#X-Amz-Target=AmazonPersonalize.CreateDatasetExportJobCreateDatasetExportJob
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "amazonaws-com-personalize_post_X_Amz_Target_AmazonPersonalize_CreateDatasetExportJob",
"arguments": {}
}
}"Use Amazon Personalize to execute CreateDatasetExportJob and output the formatted result."
/#X-Amz-Target=AmazonPersonalize.CreateDatasetGroupCreateDatasetGroup
{
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "amazonaws-com-personalize_post_X_Amz_Target_AmazonPersonalize_CreateDatasetGroup",
"arguments": {}
}
}"Use Amazon Personalize to execute CreateDatasetGroup and output the formatted result."
/#X-Amz-Target=AmazonPersonalize.CreateDatasetImportJobCreateDatasetImportJob
{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "amazonaws-com-personalize_post_X_Amz_Target_AmazonPersonalize_CreateDatasetImportJob",
"arguments": {}
}
}"Use Amazon Personalize to execute CreateDatasetImportJob and output the formatted result."
/#X-Amz-Target=AmazonPersonalize.CreateEventTrackerCreateEventTracker
{
"jsonrpc": "2.0",
"id": 8,
"method": "tools/call",
"params": {
"name": "amazonaws-com-personalize_post_X_Amz_Target_AmazonPersonalize_CreateEventTracker",
"arguments": {}
}
}"Use Amazon Personalize to execute CreateEventTracker and output the formatted result."
6. Interactive Troubleshooting & FAQ Accordion
Diagnose and resolve common JSON-RPC protocol error codes, connection disconnects, and schema refresh issues.
A 401 Unauthorized response indicates that the upstream Amazon Personalize API rejected the authentication credential supplied in your MCP client's environment configuration. To resolve this: (1) Verify that your secret token is defined inside the "env" block of claude_desktop_config.json or .cursor/mcp.json rather than hardcoded in the command string. (2) Check whether Amazon Personalize requires a prefix such as "Bearer <token>" in the authorization header. (3) Confirm that your API key has not expired and has been granted sufficient least-privilege scopes on the Amazon Personalize developer dashboard.
If your MCP client fails to initialize tools for Amazon Personalize: (1) Test the bridge launcher command ("npx -y @modelcontextprotocol/server-openapi https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json") directly inside your terminal or shell to inspect stdout/stderr diagnostic traces. (2) Verify network connectivity to the schema source (https://api.apis.guru/v2/specs/amazonaws.com/personalize/2018-05-22/openapi.json). (3) Ensure Node.js (v18+) is installed and accessible in your system PATH. (4) For authenticated APIs, confirm credentials are configured in your client's "env" mapping rather than command arguments.
MCP clients like Claude Desktop and Cursor query the server's tools list ("tools/list") during startup and cache the resulting JSON Schema for the duration of the application session. If new endpoints or parameters are added to Amazon Personalize: (1) Fully quit and restart Claude Desktop (Cmd+Q on macOS or File > Exit on Windows). (2) In Cursor IDE, navigate to Settings > Features > MCP Servers, toggle the Amazon Personalize server off and on, or click the refresh icon to re-execute the initialization handshake.
If the AI model hallucinates parameters or fails to invoke a tool automatically: (1) Add explicit system instructions in your project's .cursorrules or Claude project prompt (e.g., "When querying AI & ML, always invoke the amazonaws-com-personalize MCP server tools first"). (2) Ensure parameter types match schema specifications (e.g., passing integers as numbers rather than strings). (3) Check that required parameters marked in Section 5 are not omitted from the model's generated payload.
When the Amazon Personalize upstream endpoint returns an HTTP 429 Too Many Requests response, the MCP server bubbles the structured error payload back to the AI client over stdio. Modern LLMs like Claude 3.7 and Cursor Agent recognize rate-limiting status codes, inspect the "Retry-After" header if present, and will automatically introduce backoff delays or ask the user before retrying the operation.
The Hosted Config URL (https://mcpbridge.org/config/amazonaws-com-personalize.json) provides a static, remote JSON schema definition that cloud-native MCP clients can fetch over HTTPS for dynamic discovery. In contrast, local stdio configurations execute a local subprocess on your workstation. Local stdio processes offer maximum security because secret API keys remain strictly on your local machine and never transit third-party proxy servers.
Similar AI & ML Configurations
Explore related API bridges with ready-to-use Model Context Protocol schemas.
Openai
AI & MLGenerate text, images, and embeddings. Integrate GPT models and DALL-E into your AI agent.
https://mcpbridge.org/config/openai.jsonAnthropic API
AI & MLAccess Claude AI models for text generation, analysis, and code assistance through the Anthropic API.
https://mcpbridge.org/config/anthropic.jsonOpenAI API
AI & MLThe OpenAI API, developed and maintained by OpenAI, provides programmatic access to a suite of advanced artificial intelligence capabilities centered around large language models (LLMs). Its core functions enable developers to integrate state-of-the-art natural language processing and generation into applications. Key endpoints support text generation (completions, chat completions), content transformation (edits, classifications), semantic analysis (embeddings), and multimodal processing (audio transcriptions and translations). The API serves a broad spectrum of users, from individual developers and startups building conversational agents or content tools to large enterprises automating complex workflows, enhancing customer support, conducting sentiment analysis on large text corpora, or generating synthetic data for training. Use cases span consumer applications like intelligent writing assistants and enterprise-grade solutions for automated document summarization, code generation, and multilingual communication platforms. When exposed as a tool to an AI coding assistant through the Model Context Protocol (MCP), the OpenAI API’s value is significantly amplified. The AI agent gains dynamic, on-demand access to powerful generative and analytical functions without requiring the developer to manually craft intricate API calls or manage complex prompt engineering for each task. This transforms the assistant from a static code-completion engine into an active collaborator that can reason about and manipulate language in real time. For instance, an AI agent within an IDE can directly invoke the completions endpoint to generate boilerplate code from comments, use the embeddings endpoint to identify semantically similar code snippets within a codebase for refactoring suggestions, or call the translations endpoint to automatically localize string literals in an internationalization workflow. This deep integration streamlines the development lifecycle by embedding advanced AI capabilities directly into the authoring environment. Practical workflows enabled by this MCP integration are numerous and dynamic. A developer can instruct the AI to "generate comprehensive unit tests for this Python class by analyzing its public methods and edge cases," leveraging the completions or chat endpoints. Another command could be, "Analyze the sentiment and key topics of these customer feedback logs and produce a summary report," utilizing classifications and embeddings. For data processing tasks, a developer might say, "Translate the error message strings in this logs.txt file from Japanese to English and categorize them by severity," invoking the translations and classifications endpoints in sequence. In collaborative code review, the AI could be directed to "suggest code improvements for this pull request based on best practices for performance and readability," using the edits endpoint to propose specific, contextual modifications. These interactions demonstrate how the MCP server acts as a bridge, allowing the AI to execute sophisticated, multi-step language tasks as part of the developer's natural workflow. Critical to the secure and effective use of this API is proper authentication and configuration, despite the placeholder "None" in the basic metadata. In practice, authentication is mandatory and is handled via API keys (or potentially OAuth for more complex setups). Developers must treat these keys as high-privilege secrets, never hardcoding them in source code or committing them to version control. Best practices include using environment variables or secure secret management services, adhering to the principle of least privilege by creating separate keys with restricted permissions for different development stages or services, and regularly rotating credentials. When configuring an MCP server to interface with the API, it should be set up to inject these credentials securely at runtime. Developers should also implement robust error handling and rate limiting on the client side to manage API quotas and prevent service disruption, ensuring the integration is both secure and resilient.
https://mcpbridge.org/config/openai-com.jsonAmazon CodeGuru Profiler
AI & MLAmazon CodeGuru Profiler is an advanced application performance profiling service provided by Amazon Web Services (AWS). It continuously collects runtime performance data—such as CPU utilization, memory allocation, and thread contention—from live production applications, then analyzes this data using machine learning algorithms to pinpoint performance bottlenecks and inefficiencies. The API serves as the programmatic interface for managing the profiling lifecycle, allowing developers to create and configure profiling groups, adjust agent settings, retrieve performance metrics and findings, and manage notification configurations. Enterprise use cases include optimizing microservice latency in high-traffic systems, reducing cloud compute costs by identifying inefficient code paths, and maintaining application health in continuous deployment pipelines where performance regressions must be detected early. For development teams, it provides actionable insights to guide code optimization efforts based on real-world usage rather than synthetic benchmarks. When exposed as tools via the Model Context Protocol (MCP) to AI coding assistants such as Claude Desktop or Cursor, the CodeGuru Profiler API unlocks a powerful paradigm where an AI agent can directly interact with live performance telemetry. The primary value lies in enabling the AI to contextualize code suggestions with actual runtime behavior. Instead of analyzing static code alone, the AI can query the latest profiling data to understand which functions are consuming the most resources under real load, validate whether a suggested refactor addresses a genuine bottleneck, or even predict the performance impact of a proposed change. This transforms the assistant from a generic code generator into a performance-aware partner, capable of providing recommendations that are not just syntactically correct but are also optimized for the specific performance profile of the deployed application. In a practical workflow, a developer could instruct their AI agent to perform dynamic, performance-informed tasks. For example, the AI could use the GET /profilingGroups/{profilingGroupName} endpoint to retrieve the current status and ARN of a profiling group, then use POST /profilingGroups/{profilingGroupName}/configureAgent to dynamically update agent configuration parameters (like sampling intervals) in response to a detected performance anomaly. An AI agent could query GET /internal/findingsReports to pull the latest list of performance findings, analyze the patterns, and then generate a pull request with code fixes targeted at the top recommendations. Furthermore, the agent could automate notification setup by using POST /profilingGroups/{profilingGroupName}/notificationConfiguration to ensure the team is alerted when CPU utilization exceeds a threshold identified through previous profiling data, creating a closed-loop system for performance management. Developers integrating this API via an MCP server must adhere to critical security and configuration practices. Although the listed authentication is "None," the API fundamentally requires AWS Identity and Access Management (IAM) credentials for all calls, as it is an AWS service. The authentication method "None" in this context likely refers to the lack of a separate API key system, relying instead on standard AWS SigV4 signing. Therefore, security best practices are paramount: apply the principle of least privilege by granting the AI's execution environment only the specific CodeGuru Profiler permissions needed (e.g., profiler:DescribeProfilingGroups, profiler:GetFindingsReport), and avoid wildcard permissions. Credentials should be securely managed via environment variables or an AWS role, never hard-coded. Network security should ensure the AI tool operates within a controlled environment (like a VPC or with strict egress rules) to prevent unauthorized data exfiltration, and all API interactions should be logged and audited for compliance.
https://mcpbridge.org/config/amazonaws-com-codeguruprofiler.json