Skip to main content

MCP Server Overview

The Proxima MCP server is a standalone Go service that exposes infrastructure data to LLM clients via the Model Context Protocol. It acts as a stateless proxy between AI assistants (Claude Desktop, Cursor, Claude Code) and the Proxima Backend API, translating MCP tool calls into backend REST requests and formatting responses for LLM consumption.

Architecture

┌──────────────────────┐
│ LLM Client │
│ (Claude / Cursor) │
└──────────┬───────────┘
│ MCP Protocol
│ (Streamable HTTP or stdio)

┌──────────────────────┐
│ Proxima MCP │
│ Server │
│ │
│ ┌────────────────┐ │
│ │ Auth Cache │ │
│ │ (TTL map) │ │
│ └────────────────┘ │
│ ┌────────────────┐ │
│ │ 41 Tools │ │
│ │ (read + write)│ │
│ └────────────────┘ │
└──────────┬───────────┘
│ REST API
│ (X-API-Key forwarding)

┌──────────────────────┐
│ Proxima Backend │
│ API (port 8080) │
└──────────────────────┘

Key Features

  • 41 tools covering hosts, metrics, compliance, changes, logs, services, webhooks, alerts, runbooks, re-evaluation triggers, fleet, terminal sessions, cross-entity search, and service desk (29 read-only + 12 write operations)
  • MCP prompts & resources: reusable operational workflows (triage_alert, diagnose_host, compliance_review, fleet_check) and browseable read-only resources (compliance frameworks, runbook catalog, host inventory)
  • Structured output: data-returning tools emit machine-readable structuredContent (with an outputSchema) alongside the human markdown
  • Two transports: Streamable HTTP (/mcp endpoint) for network clients, stdio for local CLI integration
  • API key authentication: Proxima service account API keys forwarded to the backend, validated and cached with configurable TTL
  • LLM-friendly output: Responses formatted as markdown tables, truncated to stay within token limits
  • Full observability: OpenTelemetry tracing, Prometheus metrics at /metrics, structured JSON logging, MCP protocol-level progress notifications

How It Works

  1. The LLM client connects to the MCP server (via HTTP or stdio)
  2. The client sends an MCP tools/call request with a tool name and parameters
  3. The MCP server authenticates the request using the API key from the Authorization header
  4. The tool handler calls the Proxima Backend REST API, forwarding the API key via X-API-Key header
  5. The response is formatted as LLM-friendly markdown (tables, summaries, trend analysis)
  6. The formatted result is truncated to the configured token limit and returned to the client

Tools at a Glance

ToolCategoryDescription
query_hostsHostsSearch and list infrastructure hosts with filters
get_host_detailsHostsDetailed host info with optional sub-resources
compare_hostsHostsSide-by-side host comparison
get_host_metricsMetricsTime-series data with statistics and trend detection
get_compliance_scoreComplianceFramework compliance scores for host/env/client
get_compliance_failuresComplianceFailed compliance checks with remediation
get_findingsComplianceSecurity scanner findings (CVEs)
list_frameworksComplianceList available compliance frameworks
get_top_failuresComplianceTop failing controls by environment or client
get_compliance_evaluationsComplianceDetailed per-control evaluations for a host
get_changesChangesInfrastructure change events
search_logsLogsLogsQL log search
query_servicesServicesServices running across hosts
list_webhook_sourcesWebhooksList configured webhook sources
get_webhook_deliveriesWebhooksRecent deliveries for a webhook source
list_host_metricsMetricsList available metric names for a host
get_active_alertsAlertsList active alert groups
get_alert_contextAlertsAlert details with host/change correlation
acknowledge_alertAlertsAcknowledge an alert (write)
resolve_alertAlertsResolve an alert (write)
silence_alertAlertsSilence an alert for a duration (write)
unsilence_alertAlertsRemove a silence from an alert (write)
add_alert_noteAlertsAdd a note to an alert (write)
list_runbooksRunbooksList available runbooks
preview_runbookRunbooksPreview execution plan before running
run_runbookRunbooksExecute a runbook on a host (write)
get_runbook_statusRunbooksCheck runbook execution status
list_runbook_executionsRunbooksList recent runbook executions
cancel_runbookRunbooksCancel a running runbook execution (write)
trigger_healthcheckTriggersTrigger an immediate healthcheck on a host (write)
trigger_compliance_evalTriggersTrigger an immediate compliance re-evaluation (write)
get_fleet_statusFleetAgent version posture and per-agent skew status
list_rolloutsFleetList recent agent-update rollouts
get_rolloutFleetLive progress of a specific rollout
list_sessionsTerminal SessionsList terminal sessions across hosts
searchSearchCross-entity PQL search (hosts, alerts, changes, …)
list_ticketsService DeskList service-desk tickets
get_ticketService DeskTicket detail with available transitions
comment_ticketService DeskAdd a comment to a ticket (write)
transition_ticketService DeskMove a ticket to a new status (write)
create_ticketService DeskOpen a new ticket (write)

The server also exposes MCP prompts (triage_alert, diagnose_host, compliance_review, fleet_check) and read-only resources (proxima://catalog/frameworks, proxima://catalog/runbooks, proxima://inventory/hosts).

See Tools Reference for full parameter documentation, prompts, resources, and examples.

Endpoints

PathMethodDescription
/mcpPOSTMCP Streamable HTTP transport endpoint
/healthzGETHealth check — returns {"status":"ok"}
/metricsGETPrometheus metrics in exposition format

Technology

  • Language: Go 1.26+
  • MCP SDK: github.com/modelcontextprotocol/go-sdk v1.4.1
  • Logging: log/slog — structured JSON to stdout
  • Tracing: OpenTelemetry with OTLP gRPC exporter
  • Metrics: Prometheus via OTel exporter at /metrics

Next Steps