Quick Start3 min setup
1
Get an API key
Go to Service Accounts and create one with your required scopes. Copy the API key (shown once).
2
Add MCP server to your agent
claude mcp add acp -- python3 path/to/mcp-server/server.py
Then set your key: export ACP_API_KEY="your-key"
3
Done
Ask your agent: “list my ACP projects” — 31 governance tools are now available.
Download MCP Server
Personalized Setup

Sign in to see your service accounts, get pre-filled config, and test your connection.

Clients we publish setup guidance for

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.

Connection route and review status per client. The date is when we last reviewed our published configuration — it is not a record of testing the vendor's product.
ClientVendorConnection routeWhat we have establishedWhat was reviewedGuidance reviewed onNext review due
Claude CodeAnthropicMCP server (stdio)Setup guidance published (not product-tested)Published stdio MCP server configuration (§ Claude Code setup)2026-08-072026-11
Claude DesktopAnthropicMCP server (stdio)Setup guidance published (not product-tested)Published claude_desktop_config.json server entry (§ Claude Desktop Configuration)2026-08-072026-11
CursorAnysphereMCP server (stdio)Setup guidance published (not product-tested)Published .cursor/mcp.json server entry (§ Cursor Configuration)2026-08-072026-11
OpenAI CodexOpenAIMCP server (stdio)Setup guidance published (not product-tested)Published stdio MCP server configuration (§ Codex / OpenAI Agents)2026-08-072026-11
ChatGPT (Custom GPTs / Actions)OpenAIOpenAPI Action (not MCP)Setup guidance published (not product-tested)Published OpenAPI specification imported as an Action (§ Codex / OpenAI Agents)2026-08-072026-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: true
Security 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