Connect Your Agent
Set up the MCP server in under 3 minutes
claude mcp add acp -- python3 path/to/mcp-server/server.py
export ACP_API_KEY="your-key"Sign in to see your service accounts, get pre-filled config, and test your connection.
Clients reach the Control Plane by one of two routes. They are not interchangeable: one runs our MCP server on your own machine, the other is a vendor-hosted assistant calling the tenant API from an imported OpenAPI specification. Where code executes and where your tenant API key is held differ accordingly.
| Client | Vendor | Connection route | What we have established | What was reviewed | Guidance reviewed on | Next review due |
|---|---|---|---|---|---|---|
| Claude Code | Anthropic | MCP server (stdio) | Setup guidance published (not product-tested) | Published stdio MCP server configuration (§ Claude Code setup) | 2026-08-07 | 2026-11 |
| Claude Desktop | Anthropic | MCP server (stdio) | Setup guidance published (not product-tested) | Published claude_desktop_config.json server entry (§ Claude Desktop Configuration) | 2026-08-07 | 2026-11 |
| Cursor | Anysphere | MCP server (stdio) | Setup guidance published (not product-tested) | Published .cursor/mcp.json server entry (§ Cursor Configuration) | 2026-08-07 | 2026-11 |
| OpenAI Codex | OpenAI | MCP server (stdio) | Setup guidance published (not product-tested) | Published stdio MCP server configuration (§ Codex / OpenAI Agents) | 2026-08-07 | 2026-11 |
| ChatGPT (Custom GPTs / Actions) | OpenAI | OpenAPI Action (not MCP) | Setup guidance published (not product-tested) | Published OpenAPI specification imported as an Action (§ Codex / OpenAI Agents) | 2026-08-07 | 2026-11 |
Where your key lives, and whose infrastructure the request crosses
- MCP server (stdio). The ACP MCP server runs on your own machine or infrastructure. Your tenant API key stays there, and requests go from there to the Control Plane.
- OpenAPI Action (not MCP). The assistant is hosted by the vendor, so requests to the Control Plane originate from the vendor's infrastructure and your tenant API key is stored with that vendor. Prompt content, action inputs and action outputs traverse a third party. Treat this as a supplier data path and assess it accordingly.
What this list does not claim. Listing a client means we publish a configuration for it and support that route by design. It does not mean we have installed that vendor's product and exercised it against ACP, and it does not mean we re-test it as the vendor ships releases. It is not a claim that the vendor endorses, certifies or has any relationship with IntelXview. A tool that never calls the Control Plane is not governed by it, whether or not it appears here.
Claude Desktop Configuration
Add to claude_desktop_config.json:
{
"mcpServers": {
"acp": {
"command": "python3",
"args": ["path/to/mcp-server/server.py"],
"env": {
"ACP_API_KEY": "<your-api-key>",
"ACP_BASE_URL": "https://controller.intelxview.com/api"
}
}
}
}Cursor Configuration
Add to .cursor/mcp.json in your project root:
// Cursor MCP setup (.cursor/mcp.json)
{
"mcpServers": {
"acp": {
"command": "python3",
"args": ["path/to/mcp-server/server.py"],
"env": {
"ACP_API_KEY": "<your-api-key>",
"ACP_BASE_URL": "https://controller.intelxview.com/api"
}
}
}
}Codex / OpenAI Agents
Codex connects via stdio like Claude Code. Set the env vars and run:
# Codex / ChatGPT MCP setup # 1. Install the MCP server pip install mcp httpx pydantic # 2. Set environment variables export ACP_API_KEY="<your-api-key>" export ACP_BASE_URL="https://controller.intelxview.com/api" # 3. Run the server (Codex connects via stdio) python3 mcp-server/server.py
For ChatGPT Custom GPTs, import the OpenAPI spec as an Action:
# For ChatGPT Custom GPTs / Actions: # Use the OpenAPI spec directly instead of MCP: # # OpenAPI spec URL: # https://controller.intelxview.com/openapi/ai-control-plane-v1.yaml # # Authentication: API Key (Custom header) # Header name: X-Api-Key # Value: <your-api-key> # # Import the spec as a ChatGPT Action to enable # all ACP endpoints as GPT capabilities.
Docker Setup
services:
acp-mcp:
image: python:3.12-slim
volumes:
- ./mcp-server:/app
working_dir: /app
environment:
- ACP_API_KEY=${ACP_API_KEY}
- ACP_BASE_URL=https://controller.intelxview.com/api
command: python3 server.py
stdin_open: trueSecurity Details
- Input validation on all parameters (path traversal protection)
- Output sanitization (API keys, tokens, and secrets automatically redacted)
- HMAC-SHA256 signing on audit traces and financial data
- Write confirmation required for all mutations
- Rate limiting per operation category
- Stdio transport only (no network surface)
- Credentials stored locally with restrictive file permissions (600)
- All downloadable artifacts are signed with companion
.sig.json
Troubleshooting
Server says “not_configured”: Run the acp_setup tool with your API key, or set ACP_API_KEY in your environment.
401 Unauthorized: The API key may be expired or revoked. Generate a new one from Service Accounts.
Connection refused: Check that ACP_BASE_URL points to https://controller.intelxview.com/api.
Missing tools: Ensure mcp>=1.26.0 and httpx>=0.27.0 are installed: pip install -r requirements.txt