Extensions & Built-in Services

Your gateway comes with built-in MCP services that work out of the box, plus extensions you can enable with your own credentials, like AWS CloudWatch. Extensions run as isolated processes with encrypted credential storage.

Built-in Services

Built-in services are always available to your agents with zero configuration. They run inside the gateway and are included in the appliance at no extra cost.

RAG Engine

5 tools

Semantic search over your uploaded documents. Ingest files (PDF, DOCX, Markdown, etc.), and your agents can query them via MCP tools.

knowledge_query knowledge_ingest knowledge_list_sources knowledge_delete_source knowledge_get_chunk

Media Storage

2 tools

List and read the files you upload on the console's Storage page, kept in your own S3 bucket. The server's alias is media. Agents can read documents and images and get a temporary link to a video. See Media & Storage.

list_media get_media

Extensions

Extensions are built-in integrations that you enable from the console. You provide your own credentials (e.g., AWS access keys) and the gateway runs the extension as an isolated subprocess with encrypted credential storage.

How Extensions Work

1

Find the integration you want in the Extensions section of the console's MCP Gateway page

2

Enter your credentials (e.g., AWS Access Key ID and Secret Access Key for CloudWatch)

3

Credentials are encrypted with Fernet symmetric encryption before they are stored in your DynamoDB table

4

The gateway spawns the extension as an isolated subprocess and exposes its tools through your MCP endpoint

Available Extensions

AWS CloudWatch

Extension

Query CloudWatch metrics, logs, alarms, and dashboards directly from your AI agents. Powered by the awslabs.cloudwatch-mcp-server open-source package.

Required Credentials

AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_REGION (optional)

Recommended IAM Policy

Create a dedicated IAM user with read-only CloudWatch access:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": [
      "cloudwatch:GetMetricData",
      "cloudwatch:ListMetrics",
      "cloudwatch:DescribeAlarms",
      "logs:GetLogEvents",
      "logs:FilterLogEvents",
      "logs:DescribeLogGroups"
    ],
    "Resource": "*"
  }]
}

Need another extension?

CloudWatch is the extension that ships today. If you need an integration with another cloud service, monitoring platform or developer tool, tell us what you need.

Enabling an Extension

1

Open the Extensions section

Go to MCP Gateway → Gateway in the console dashboard and find the Extensions section.

2

Configure Credentials

Click on an extension card and enter the required credentials. For AWS CloudWatch, this is your AWS Access Key ID and Secret Access Key, and optionally a Region.

3

Verify & Enable

The gateway validates your credentials (e.g., calls AWS STS GetCallerIdentity). Once verified, the extension is enabled and its tools appear in your MCP endpoint alongside your other servers. The first time, listing its tools can take up to about two minutes while the extension starts.

4

Use from Your Agent

Extension tools are namespaced just like any other server, with the extension's alias (aws-cloudwatch). Call them through the standard MCP endpoint, using a tool name from tools/list:

POST /mcp
{
  "method": "tools/call",
  "params": {
    "name": "aws-cloudwatch__<tool name>",
    "arguments": {
      ...
    }
  }
}

Security

Encrypted at rest

Credentials are encrypted using Fernet symmetric encryption before storage. The encryption key is generated when the appliance first boots and kept on the instance, separate from the DynamoDB record that holds the encrypted credentials.

Isolated execution

Each extension runs as an isolated subprocess in a dedicated Extension Runner service. Extensions cannot access each other's credentials or processes.

Credential validation

Credentials are validated before being saved. For AWS extensions, the gateway calls STS GetCallerIdentity to verify the keys work before enabling the extension.

Internal communication

The Extension Runner is a separate container on the appliance and is not reachable from the internet or from your network. The gateway talks to it over the appliance's internal Docker network, authenticated with a shared token, and its network cannot reach the instance metadata service.

Managing Extensions

You can manage extensions through the console or the gateway's REST API (served under /gateway-api on your appliance):

Action Endpoint Method
List extensions /api/extensions GET
Enable extension /api/extensions/{alias}/enable POST
Disable extension /api/extensions/{alias}/disable POST
List built-in services /api/builtins GET
Enable built-in service /api/builtins/{alias}/enable POST
Disable built-in service /api/builtins/{alias}/disable POST