MCP server for ACP (Ambient Code Platform)
概览
A Model Context Protocol (MCP) server for managing Ambient Code Platform (ACP) sessions via the public-api gateway. - — All mutating operations support dry_run for safe preview before executing - — Maximum 3 items per bulk operation with confirmation requirement - — Labels must be 1-63 alphanumeric characters, dashes, dots, or underscores On some Linux distributions (Debian, Ubuntu, Fedora 38+), PEP 668 prevents pip install into the system Python. If you get an "externally-managed-environment" error, install into a virtual environment instead: Note that the mcp-acp command will only be available inside the venv. To use it from an MCP client like Claude Code, reference the full path: - Python 3.12+ - Bearer token for the ACP public-api gateway - Access to an ACP cluster Add your Bearer token to each cluster entry under the token field, or set the ACP_TOKEN environment variable: Get your token from the ACP platform administrator or the gateway's authentication endpoint.
README
以下为原文 README 节选,完整内容请查看原文。
MCP ACP Server
A Model Context Protocol (MCP) server for managing Ambient Code Platform (ACP) sessions via the public-api gateway.
Table of Contents
- Quick Start
- Features
- Installation
- Configuration
- Usage
- Tool Reference
- Troubleshooting
- Architecture
- Security
- Development
- Roadmap
- Contributing
- Status
Quick Start
# Install
git clone https://github.com/ambient-code/mcp
cd mcp
pip install . # installs the 'mcp-acp' command
# Configure
mkdir -p ~/.config/acp
cat > ~/.config/acp/clusters.yaml <<EOF
clusters:
my-cluster:
server: https://public-api-ambient.apps.your-cluster.example.com
token: your-bearer-token-here
default_project: my-workspace
default_cluster: my-cluster
EOF
chmod 600 ~/.config/acp/clusters.yaml
Then add to your MCP client (Claude Desktop, Claude Code, or uvx) and try:
List my ACP sessions
Features
Session Management
| Tool | Description |
|---|---|
acp_list_sessions |
List/filter sessions by status, age, with sorting and limits |
acp_get_session |
Get detailed session information by ID |
acp_create_session |
Create sessions with custom prompts, repos, model selection, and timeout |
acp_create_session_from_template |
Create sessions from predefined templates (triage/bugfix/feature/exploration) |
acp_delete_session |
Delete sessions with dry-run preview |
acp_restart_session |
Restart a stopped session |
acp_clone_session |
Clone an existing session’s configuration into a new session |
acp_update_session |
Update session metadata (display name, timeout) |
Observability
| Tool | Description |
|---|---|
acp_get_session_logs |
Retrieve container logs for a session |
acp_get_session_transcript |
Retrieve conversation history (JSON or Markdown) |
acp_get_session_metrics |
Get usage statistics (tokens, duration, tool calls) |
Labels
| Tool | Description |
|---|---|
acp_label_resource |
Add labels to a session for organizing and filtering |
acp_unlabel_resource |
Remove labels from a session by key |
acp_list_sessions_by_label |
List sessions matching label selectors |
acp_bulk_label_resources |
Add labels to multiple sessions (max 3) |
acp_bulk_unlabel_resources |
Remove labels from multiple sessions (max 3) |
Bulk Operations
| Tool | Description |
|---|---|
acp_bulk_delete_sessions |
Delete multiple sessions (max 3) with confirmation and dry-run |
acp_bulk_stop_sessions |
Stop multiple running sessions (max 3) |
acp_bulk_restart_sessions |
Restart multiple stopped sessions (max 3) |
安装
uvx mcp-acp配置
{
"mcpServers": {
"acp": {
"command": "mcp-acp",
"args": [],
"env": {
"ACP_CLUSTER_CONFIG": "${HOME}/.config/acp/clusters.yaml"
}
}
}
}