Skip to main content
Clarion exposes a workspace-scoped Model Context Protocol (MCP) server so external clients can — without the Clarion web UI — read issues, tasks, monitors, signals, and signal rules; inspect agent-run records and transcripts; run assistant chats; operate the scheduler; author and edit agents and skills; browse and instantiate templates; and manage the workspace’s default agent instructions. There are two ways to connect: OAuth (for IDE/agent clients) and long-lived API tokens (for headless ones).

Where it lives

In Clarion, go to Settings > MCP access. The page has two tabs:
  • API tokens — mint, list, and revoke long-lived bearer tokens. One row per token; the plaintext is shown exactly once at creation time.
  • OAuth setup — copy-paste snippets for Claude Code and Claude Desktop, plus a generic note for other MCP clients. No secrets to manage.
The MCP endpoint itself is at https://<your-clarion-host>/api/mcp (the OAuth setup tab fills in the right URL for your environment).

Choosing a flow

If a client supports OAuth, use it. The browser flow handles re-auth automatically when access expires; long-lived tokens never rotate and stay valid until revoked.

Connecting via OAuth

Claude Code (CLI)

  1. Open Settings > MCP access > OAuth setup and copy the claude mcp add command shown there. It already contains the right URL for your workspace.
  2. Run it:
  3. Start a session. On the first tool call Claude Code opens the Clarion OAuth grant page — pick the workspace and approve. The token is captured by Claude Code’s local callback.

Claude Desktop

  1. Open Settings > MCP access > OAuth setup and copy the JSON snippet.
  2. Paste it into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent path on Windows/Linux:
  3. Restart Claude Desktop. The first tool call triggers the same browser grant flow as the CLI.

Other MCP clients

Point any MCP client that speaks the Streamable HTTP transport at https://<your-clarion-host>/api/mcp. The first unauthenticated request returns a WWW-Authenticate challenge that points at /.well-known/oauth-protected-resource; any spec-compliant client follows the metadata to discover the authorization server and complete the OAuth flow without extra config.

Connecting via a long-lived API token

Use this when the client can’t drive an interactive browser sign-in.
  1. In Settings > MCP access > API tokens, click New token.
  2. Give it a label that lets you recognize it later (e.g. CI nightly drift check, Cron worker).
  3. Click Create token. The dialog swaps to a one-time reveal — copy the plaintext now. Once you close the dialog the secret is gone for good.
  4. Paste the token into your MCP client config as a Bearer credential:
A long-lived token grants full workspace access over MCP — not just reads and light triage, but creating and editing configuration: agents, skills, schedules, and the workspace’s default agent instructions. Treat it like any other secret — keep it out of source control and rotate (revoke + re-mint) on a cadence that matches your other credentials.

Revoking a token

In the API tokens tab, click the revoke icon on the row, confirm, and the token stops authenticating immediately. Any client still using it gets a 401 on its next request. Revocation is one-way; revoked rows stay in the list with a “Revoked” badge so you can audit who created them and when.

Available tools

After connecting, the client sees the following workspace-scoped tools under the clarion server (so each one appears as mcp__clarion__<tool>). Every tool is scoped to the token’s workspace: reads filter by workspace, cross-workspace lookups return an error rather than another tenant’s data, and mutations are attributed to the operator who minted the token.

Read & triage

Issues
  • list_issues — paginated list, filterable by status / severity / search. status: ["escalated"] narrows to the confirmed problems.
  • get_issue — full issue detail by display number, including its parent issue and related child issues
  • complete_remediation_item — toggle a checklist item on an issue’s remediation list
  • retrigger_issue — re-run triage agents for an issue (e.g. after deploying a fix)
Tasks
  • list_tasks — paginated list, filter by status / priority / search
  • get_task — single task by id
Monitors & integrations
  • list_monitors, get_monitor — the workspace’s ingestion sources, with sanitized per-type config (webhook secrets stripped)
  • list_integrations, get_integration_health — integration sync health (consecutive failures, pause state, auth errors); credentials are never returned
Signals
  • list_signals, get_signal — the raw ingested events that feed issues, before any alert filter fires
Signal rules
  • list_signal_rules, get_signal_rule — the detections that turn signals into alerts, per monitor or workspace-wide (the matching sequence is returned by get_signal_rule)
Agent runs
  • get_agent_job — the execution record of a single agent run (status, error, model, token usage, timing, and what it ran for: a triage investigation, an assistant chat, or a scheduled run)
  • get_agent_job_transcript — the poll-friendly, step-by-step transcript of an agent run (assistant turns, tool calls, tool results), oldest first
Assistant chats
  • list_chats — the workspace’s assistant chats
  • get_chat_transcript — a chat’s messages and tool activity
  • start_chat — open a new assistant chat with a first user message (optionally booting a specific agent persona); returns an agent-run id to poll
  • send_chat_message — post a follow-up message into an existing chat
Schedules
  • list_schedules, get_schedule — discover what’s running in the workspace
  • list_schedule_runs, get_schedule_run — poll-friendly run snapshots
  • run_schedule_once — fire a schedule out-of-band without changing its cron cadence
  • cancel_schedule_run — cancel a pending or running execution
  • create_schedule, update_schedule, set_schedule_enabled, delete_schedule — full CRUD on recurring tasks

Configure the workspace

Skill and instruction content is exchanged as markdown (with inline <tool type="…" name="…"> pills) and converted to/from Clarion’s rich-text format automatically — you never handle the raw editor JSON.
Agents
  • list_agents, get_agent — the workspace’s triage agents and their linked skills/monitors
  • create_agent, update_agent — manage an agent’s name, active state, linked skills, and linked existing monitors. Monitor creation stays in the Clarion UI — it involves webhook secrets and registration that aren’t exposed over MCP.
Skills
  • list_skills, get_skill — reusable workspace skills, instructions returned as markdown
  • create_skill, update_skill — author or edit a skill from markdown; tools are extracted from the inline <tool> pills, and edits snapshot a new version
Templates
  • list_skill_templates, get_skill_template — browse the curated skill-template catalog
  • create_skill_from_template — instantiate a skill template into a managed workspace skill (auto-updates when the template changes; idempotent — returns the existing copy if already instantiated)
  • list_agent_templates, get_agent_template — browse the published agent-template catalog
  • create_agent_from_template — scaffold an agent plus its managed skills from a template, created inactive so you can review before it runs
Workspace
  • list_workspace_tools — the action tools currently available to agents in this workspace. Only tools whose backing integration (and any required credentials or pauser config) is actually connected are returned — unconfigured ones are omitted — so this reflects what a skill can reference today. Includes the workspace’s custom MCP servers, custom API/CLI toolsets, and Microsoft Sentinel tools.
  • get_workspace_instructions, set_workspace_instructions — read or replace the default agent instructions (markdown) applied to every agent in the workspace
Templates are a shared, platform-curated catalog. These tools only browse it and instantiate copies into your workspace — creating, editing, or deleting templates is admin-only and is not exposed over MCP.

Asset catalog & curated knowledge (Brain)

These tools are only registered when the workspace has the asset-catalog (Brain) feature enabled. If it’s off, none of them appear in the client’s tool list. Writes to curated knowledge require the assets:write permission.
The Brain surface exposes the workspace’s discovered infrastructure and the operator-curated architecture knowledge layered on top of it. Assets & systems (read)
  • list_assets, get_asset — the resources (compute, datastores, repos, services, DNS records, cloud accounts, …) discovered across connected integrations
  • list_systems — the auto-correlated, cross-provider groupings of those assets
  • get_business_context — durable org-level facts (industry, tech stack, regulatory posture, …)
Annotations (write)
  • annotate_asset — record durable, attributed notes/attributes on a resource
  • annotate_workspace — propose a workspace-level business fact (held for human review)
  • record_inferred_asset — persist a triage-inferred narrative asset (attacker IP, involved user, vulnerable package, …) into the catalog
Curated knowledge (read)
  • search_knowledge — text-search knowledge names, page bodies, and references
  • list_knowledge_elements, get_knowledge_element — the hand-curated architecture nodes (systems, services, platforms, …) and their linked assets and references
  • list_knowledge_references — curated external references filtered by semantic tag (access_control, runbook, architecture, …)
Curated knowledge (write)
  • propose_knowledge_element, update_knowledge_element, remove_knowledge_element — create/enrich, edit, or delete a curated knowledge node
  • link_knowledge_asset, unlink_knowledge_asset — connect or disconnect a catalog asset and a knowledge node
  • add_knowledge_fact, update_knowledge_fact, delete_knowledge_fact — weave, supersede, or retract an atomic claim in a knowledge node’s recap
The agent-side MCP server used by Clarion’s own triage agents has a separate (broader) tool surface — agents see integration tools like mcp__slack__*, mcp__okta__*, mcp__cloudtrail__* etc. that aren’t exposed externally. External MCP clients only see the workspace tools listed above. list_workspace_tools surfaces the names of the available integration tools so a skill you author can reference them by their <tool> type, but those tools still execute agent-side during triage.