The CISOGenie Model Context Protocol (MCP) server lets Claude work directly with your CISOGenie tenant. This document covers what the server does, how to connect it to Claude, the tools it exposes, debugging, and how to get help.
CISOGenie is an AI-native, Risk-Led Security Management Platform that helps security and GRC teams stay
audit-ready across SOC 2, ISO 27001, DPDPA, ISO 42001, and 30+ other frameworks.
Through this MCP, Claude can:
• Work with your risk register (create, update, comment, approve, reject; refresh BIAs; manage labels,
classifications, people, systems, and DSARs).
• Triage and update compliance tasks (list, filter, bulk-update, add notes, attach evidence, view
implementation plans).
• Pull live compliance dashboards (posture, severity/status/treatment breakdowns, trendlines, gap
assessments, framework overlap, breach watch).
The server is a thin, authenticated bridge to your tenant. It stores nothing itself; each request is forwarded
under your OAuth credentials.
The MCP is organized into three logical surfaces: Risk, Task, and Dashboard.
| Surface | What you can do | Read | Write |
|---|---|---|---|
| Risk | List, get, create, update,comment,approve/reject risks; refresh and update BIAs;manage labels, classifications, people, systems, DSARs; resolve reference enums | ✓ | ✓ |
| Task | List, get, update, bulkupdate tasks; add notes and evidence; view plans and steps; manage tenant tools and tool mappings | ✓ | ✓ |
| Dashboard | Posture overview, compliance completion, risk and task breakdowns, trendlines, CIA coverage, gap assessment, crossframework overlap, breach watch | ✓ | - |
Write operations only run when you explicitly ask Claude to perform them.
Prerequisites: An active CISOGenie tenant account, a role that permits the operations you want, and a Claude client that supports remote MCP (Claude.ai, Claude Code, or any Claude-API integration).
Connect from Claude.ai.
Connect from Claude Code or the API: Use the public MCP endpoint shown on the directory listing. The server speaks MCP over Streamable HTTP and uses OAuth 2.0; clients perform the handshake automatically.
"mcpServers": {
"cisogenie": {
"url": "<MCP_SERVER_URL_AS_LISTED>",
"transport": "streamable-http"
}
}
}
Disconnect: Settings -> Connectors -> CISOGenie -> Disconnect. The token is revoked at the auth provider
and Claude immediately loses access.
Authentication: OAuth 2.0 with TLS 1.2+ end to end. Tokens are held by the Claude client and verified per request. The server never persists tokens, and every call runs under your identity with tenant-services enforcing role-based access.
ool names follow []. All names are under 64 characters and ship MCP
annotations (title, readOnlyHint, destructiveHint).
risk_)Covers the risk register, BIAs, linked people and systems, labels, classifications, DSARs, and risk reference
enums.
• Read - core: risk_list, risk_get, risk_get_comments, risk_get_summary
• Read - BIA: risk_get_bia, risk_get_asset_bia, risk_get_people_bia, risk_get_processes_bia, risk_get_matrix
• Read - labels / classifications: risk_get_labels, risk_get_classifications
• Read - people / systems: risk_get_person, risk_list_people, risk_get_system, risk_list_systems
• Read - DSAR: risk_get_dsar, risk_list_dsars
• Read - enums: risk_get_rating_options, risk_get_status_options, risk_get_impact_options, risk_get_likelihood_options, risk_get_treatment_plan_options, risk_get_resolution_options, risk_get_risk_type_options, risk_get_business_risk_options, risk_get_technical_risk_options, risk_get_cia_categories, risk_get_library_categories, risk_get_approval_status_options
• Write - core: risk_create, risk_update, risk_approve, risk_reject, risk_add_comment, risk_create_label, risk_update_inherent_risk
• Write - BIA: risk_update_bia, risk_refresh_bia, risk_refresh_asset_bia, risk_refresh_people_bia, risk_refresh_processes_bia
• Write - people / systems: risk_update_person, risk_update_system
• Write - DSAR: risk_create_dsar, risk_update_dsar, risk_delete_dsar
task_)Covers compliance tasks, their evidence and plans, tenant tool mappings, and task enums.
• Read - core: task_list, task_get
• Read - evidence / plans: task_get_evidence, task_get_plan
• Read - tools / mappings: task_get_compliance_tool_stats, task_get_tool_mappings, task_get_tenant_tools
• Read - enums: task_get_severities, task_get_statuses, task_get_recurrences
• Write - core: task_update, task_bulk_update, task_add_note
• Write - evidence / plans: task_add_evidence, task_add_implementation_steps, task_trigger_feasibility_check
• Write - tools / mappings: task_add_tenant_tool
dashboard_)Read-only views over compliance, risk, task, and posture state.
• Posture / compliance: dashboard_get_overview, dashboard_get_compliance, dashboard_get_cia_coverage, dashboard_get_security_functions, dashboard_get_gap_assessment, dashboard_get_subscribed_compliance_overlap
• Risk breakdowns: dashboard_get_risks, dashboard_get_risk_severity, dashboard_get_risk_status, dashboard_get_risk_treatment
• Task breakdowns: dashboard_get_tasks, dashboard_get_task_severity, dashboard_get_task_status
• Trends and breach watch: dashboard_get_trendline, dashboard_get_breach_watch, dashboard_get_breach_watch_report
Morning Posture Briefing
Give me my morning summary. Pull the compliance overview and risk severity dashboards, call out
anything that moved overnight, and list the top 5 risks and tasks I should look at today.
Cross-framework audit prep
We're prepping for our SOC 2 and ISO 27001 audits in parallel. Show me how the controls overlap
between our subscribed frameworks so we can consolidate evidence.
Triage compliance tasks
"List my open SOC 2 tasks with severity critical or high, then bulk-update the ones in the access-control bucket to in-progress
Log a new risk
Log a new high-severity risk on our Cloud Security policy for publicly exposed S3 buckets leaking
customer PII, set treatment to mitigate, and tag it under data-breach as the business risk.
Track readiness
Pull the posture and risk trendlines for the last 90 days and flag any spikes worth investigating
The MCP server forwards your bearer token, tool arguments, and the tenant response, then forgets the
call. No request bodies, response bodies, tokens, or conversation content are persisted by the MCP
layer.
• The server does not read or extract data from Claude's memory, chat history, conversation summaries,
or user-uploaded files.
• The tenant database stores the artifacts you create through the product. The MCP reads and writes that
store on your behalf, scoped to your tenant and role.
• Some platform features (AI summaries, breach-watch report generation, plan suggestions) are produced
asynchronously in the backend using third-party generative-AI providers (OpenAI, Anthropic Claude,
Google Vertex AI). The MCP itself does not call these providers; it reads stored, pre-generated content.
• The Breach Watch feature ingests publicly available security news from thehackernews.com via a serverside scraper (background job) and stores the summaries. The MCP exposes read-only tools over those
summaries; no live crawling happens at request time.
• Privacy Policy: https://cisogenie.com/privacy-policy
| Class | Meaning | What to do |
|---|---|---|
401 Unauthorized |
Token missing or expired | Reconnect from Settings -> Connectors |
403 Forbidden |
Your role does not permit that action | Ask a tenant admin to grant the required role |
404 Not Found |
Resource ID does not exist in this tenant | Re-list to find the correct ID |
409 Conflict |
Write would violate tenant state | Re-fetch and decide whether to proceed |
422 Unprocessable Entity |
Validation failure on a write | Inspect the response detail; correct the payload |
5xx |
Backend issue | Retry with backoff; contact support if persistent |
Let's look at some debugging steps.
| Symptom | Likely cause | Fix |
|---|---|---|
| Connector not visible in Claude.ai | Workspace not approved yet | Re-check the directory entry and try again |
| OAuth loop on first connect | Pop-up blocker or strict third-party cookies | Allow claude.ai and the CISOGenie auth domain |
Tool returns 401 mid-session |
Token expired and refresh failed | Disconnect and reconnect |
task_bulk_update returns 422 |
Status value not in task_get_statuses |
Call task_get_statuses and use a returned value |
| Breach-watch returns empty | No new ingest in the time window | Try a wider date range |
risk_create returns 422 on owner |
owner must be a numeric user ID |
Call risk_list_people first to resolve the ID |