Skip to content

MCP Server

import { Badge } from ‘@astrojs/starlight/components’;

The mcp-acp server is a Model Context Protocol server that lets Claude manage Ambient Code Platform sessions programmatically.

  • Create sessions with custom prompts, repos, model selection, and timeout
  • Create sessions from predefined templates (triage, bugfix, feature, exploration)
  • Restart, clone, delete, and update sessions
  • Dry-run mode for previewing destructive operations
  • Retrieve container logs for a session
  • Get conversation transcripts in JSON or Markdown format
  • View usage statistics (tokens, duration, tool calls)
  • Add and remove labels for organizing and filtering sessions
  • Filter sessions by label selectors
  • Bulk operations on up to 3 sessions at a time (delete, stop, restart, label)
  • List configured clusters and check authentication status
  • Switch between clusters
  • Authenticate with Bearer tokens
  • Dry-run mode — All mutating operations support dry_run for safe preview before executing.
  • Bulk operation limits — A maximum of 3 sessions can be affected per bulk operation.
  • Label validation — Labels must be 1-63 alphanumeric characters, dashes, dots, or underscores.
  • Python 3.10+
  • Bearer token for the ACP public-api gateway
  • Access to an ACP cluster
Terminal window
# From wheel
pip install dist/mcp_acp-*.whl
# From source
git clone https://github.com/ambient-code/mcp
cd mcp
uv pip install -e ".[dev]"

The primary configuration method uses a YAML config file at ~/.config/acp/clusters.yaml.

Create ~/.config/acp/clusters.yaml:

clusters:
my-staging:
server: https://public-api-ambient.apps.my-staging.example.com
token: your-bearer-token-here
description: "Staging Environment"
default_project: my-workspace
my-prod:
server: https://public-api-ambient.apps.my-prod.example.com
token: your-bearer-token-here
description: "Production"
default_project: my-workspace
default_cluster: my-staging

Secure the file:

Terminal window
chmod 600 ~/.config/acp/clusters.yaml

Alternatively, set the ACP_TOKEN environment variable to provide a token without editing the config file.

Add to your Claude Desktop configuration file (claude_desktop_config.json):

{
"mcpServers": {
"acp": {
"command": "mcp-acp",
"args": [],
"env": {
"ACP_CLUSTER_CONFIG": "${HOME}/.config/acp/clusters.yaml"
}
}
}
}

Using uvx (zero-install):

{
"mcpServers": {
"acp": {
"command": "uvx",
"args": ["mcp-acp"]
}
}
}
Terminal window
claude mcp add mcp-acp -t stdio mcp-acp

Define multiple clusters in ~/.config/acp/clusters.yaml and switch between them using the acp_switch_cluster tool or by changing the default_cluster value. The server supports listing clusters, checking authentication status, and authenticating to new clusters at runtime.