ISO 27001 compliance workspace for Claude. Risks, policies, SoA, evidence, and audit workflows.
io.github.Sushegaad/iso27001-mcp MCP Server
The io.github.Sushegaad/iso27001-mcp server provides an ISO 27001 compliance workspace for Claude. It covers risks, policies, Statement of Applicability (SoA), evidence tracking, and full audit workflows, focused on supporting ISO 27001 tasks in a local encrypted MCP server context.
๐ ๏ธ Key Features
ISO 27001 controls support
Risks management (risk register)
Policies management
SoA generation
Evidence tracking
Audit workflows
๐ Use Cases
Building an ISO 27001 compliance workflow in MCP
Managing compliance artifacts: risks, policies, SoA, and evidence
Running audit workflows for ISO 27001 work
โก Developer Benefits
MCP server implementation labeled for ISO 27001 compliance work
Topics include mcp and mcp-server alongside iso27001 and open-source
โ ๏ธ Limitations
Documentation excerpt provided does not specify supported tools, configuration options, or exact MCP tool count.
Turn Claude into an ISO 27001 compliance assistant โ controls, risk register, policies, evidence tracking, SoA generation, and full audit workflows in one local encrypted MCP server.
ISO 27001 compliance work is typically scattered across spreadsheets, Word docs, ticketing systems, and shared drives. Security teams and consultants spend more time chasing evidence and reformatting documents than actually improving security posture.
iso27001-mcp solves this by giving Claude a live, stateful ISMS โ all 93 ISO 27001:2022 controls seeded and ready, a real risk register, policy and procedure generators, evidence tracking, audit workflows, and a Statement of Applicability, backed by an encrypted local database that never leaves your machine.
The difference from generating static documents: Claude can query, reason, and update across your entire ISMS in a single conversation. Ask it to run a gap assessment, identify which open risks are linked to unimplemented controls, generate the policies that close those gaps, and produce a remediation roadmap โ all without switching tools.
Who it's for: Security teams ยท Compliance consultants ยท GRC engineers ยท Startups preparing for ISO 27001 ยท Internal audit functions
What Claude can do with it
Capability
Example prompt
Gap assessment
"Run an ISO 27001:2022 gap assessment for a 50-person SaaS company."
Risk register
"Create a risk register for a startup using AWS, GitHub, Slack, and Google Workspace."
Statement of Applicability
"Generate a Statement of Applicability for all 93 ISO 27001:2022 controls."
Policy generation
"Create an Access Control Policy mapped to ISO 27001 controls."
Procedure generation
"Generate an Incident Handling Procedure with GDPR breach notification triggers."
Internal audit
"Plan an internal audit for clause 9.1 โ Performance Evaluation."
Corrective actions
"List open audit findings and suggest corrective actions."
Evidence tracking
"Show me all implemented controls with no current evidence."
Remediation roadmap
"Generate a 26-week remediation roadmap grouped by risk level."
Management review
"Prepare agenda items for our Clause 9.3 management review."
CSV bulk import
"Import this CSV of 40 risks into the risk register โ dry-run first to check for errors."
Risk acceptance
"Record the risk owner's acceptance of residual risk for RISK-012."
Build tools are usually not needed. The package ships pre-built binaries for macOS (arm64 + x64), Windows (x64), and Linux (x64/glibc). Try npm install -g iso27001-mcp first โ if it succeeds, you're done.
โณ If the install fails with a node-gyp error, expand for OS-specific fix
โณ If you get an EACCES permission error on macOS or Linux
Your Node.js was installed system-wide and npm install -g needs write access to a root-owned directory. Do not use sudo npm install -g โ it causes other issues. Instead, install Node via nvm or Volta, which place Node in your home directory where no elevated permissions are required.
โณ If you get command not found on Windows after a successful install
The npm global bin directory (%APPDATA%\npm) may not be on your PATH yet. Open a new terminal window โ the installer updates PATH for new sessions but not the one already open. If it still fails, add %APPDATA%\npm to your PATH manually in System Settings โ Environment Variables.
Three commands to get running
bash
npm install -g iso27001-mcp # 1. install globally
iso27001-mcp init --yes# 2. one-shot setup โ all defaults, no prompts# (omit --yes to choose custom paths interactively)
iso27001-mcp doctor # 3. verify everything is working
After running iso27001-mcp doctor you should see:
code
iso27001-mcp โ health check
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DB_ENCRYPTION_KEY set (64 hex chars)
โ HMAC_SECRET set (64 hex chars)
โ MCP_API_KEY set (starts with iso27001_)
โ Database file /Users/you/.iso27001/isms.db
โ Database accessible opened and queried successfully
โ Migrations 11/11 applied
โ Controls seeded 93 ISO 27001:2022 controls
โ Active API key 1 active key found
โ Claude Desktop config /Users/you/.../claude_desktop_config.json
โ iso27001-mcp entry present in mcpServers
โ Database writable read-write test passed
โ Env vars in config DB_ENCRYPTION_KEY, HMAC_SECRET, MCP_API_KEY all present
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
All 12 checks passed. Restart Claude Desktop if you just ran init.
Then restart Claude Desktop fully and you should see 56 tools in the tools panel.
macOS: press Cmd+Q to quit (clicking the red dot only closes the window โ the server won't reload). Windows: right-click the taskbar icon โ Quit.
Tools not appearing after restart?
Check the MCP server log โ Claude Desktop writes server stderr here:
Common causes: wrong Node.js version loaded by Claude Desktop, missing DB_ENCRYPTION_KEY in the config, or a database path that doesn't exist yet. Run iso27001-mcp doctor in a fresh terminal for a guided diagnosis.
Switched Node versions with nvm or Volta? The absolute Node.js path baked into your Claude Desktop config at init time now points to a deleted binary. Re-run iso27001-mcp init โ it will detect your current setup and update the path. Your existing database and API keys are preserved (the wizard aborts if your secrets file already exists and you run with --yes).
Five prompts to try first
code
"Read the iso27001://server/info resource to check the server is running."
"Run an ISO 27001 gap assessment for a 50-person SaaS company."
"Create a risk register for a startup using AWS, GitHub, Slack, and Google Workspace."
"Generate a Statement of Applicability for ISO 27001:2022."
"Create an Access Control Policy mapped to ISO 27001 controls."
Tool Categories
56 tools across 16 groups. All require an API key; minimum role is shown. Read-only lookups (single-record fetches, summaries) have been moved to MCP Resources (iso27001:// URIs) โ they appear in Claude's resource panel, not the tools list.
Group
Tools
Min. role
What it does
Control Registry
5
viewer
Search, filter, and compare ISO 27001:2022 and 2013 controls; browse clause requirements
Gap Analysis
6
viewer / analyst
Create and track gap assessments; export gap reports; generate remediation roadmaps
Risk Management
6
viewer / analyst
Risk register with likelihood ร impact scoring, treatment plans, and heat-map summaries
Policy Management
3
analyst / admin
Generate, version, and export policies from 12 Mustache templates
Statement of Applicability
3
analyst
Build and export SoA from a gap assessment; all 93 controls with applicability decisions
Audit Management
5
admin
Plan audits, record findings (NCs, OFIs), raise CARs, and close with effectiveness check
Evidence Tracking
5
viewer / analyst
Register evidence artefacts, record independent verification, spot gaps, link to Jira / GitHub issues
Server Info
โ
โ
Retired to MCP Resource โ access via iso27001://server/info
Admin & Key Management
3
admin
Generate / revoke API keys, query the HMAC audit log
Organisation Profile
1
admin
Set org name, scope, and defaults used by all templates
Procedure Management
4
analyst / admin
Generate, version, and export procedures from 12 Mustache templates
Management Review
5
admin
Full Clause 9.3 lifecycle โ inputs, outputs, completion (enforces all 7 required input categories)
Improvement Plan
3
analyst
Clause 10.1 improvement opportunities โ track, link, and report
Evidence Templates
2
analyst
Generate Mustache-rendered evidence documents; dual-write to evidence and generated_evidence tables
CSV Import
2
analyst
Bulk-import risks and control statuses from a CSV string; supports dry_run=true validation preview before writing; imports are HITL-gated with a preview of row counts before commit
Risk Governance
3
viewer / analyst / admin
ยง6.1.3 risk methodology (scales, bands, acceptance threshold) and formal risk-owner acceptance of residual risk
MCP Workflow Prompts
Beyond individual tools, the server registers 4 MCP prompts โ guided workflows that sequence the right tool calls for you:
They appear in Claude's prompt picker when the server is connected.
Templates
The server ships 30 Mustache templates that Claude renders on demand with your organisation's name, scope, and control references automatically injected.
ISO 27001 Policy Templates
Generate any of these with a single Claude prompt:
The samples/ directory contains audit-pack-ready example outputs for a fictitious organisation ("Acme Financial Services Ltd") โ a full gap assessment, remediation roadmap, risk register CSV, SoA CSV, access control policy, incident handling procedure, internal audit report, corrective action records, and evidence package. See Sample Outputs for the full index.
ISO 27001 keywords: ISO 27001 Statement of Applicability generator ยท ISO 27001 risk register template ยท ISO 27001 gap assessment tool ยท ISO 27001 audit evidence tracker ยท ISO 27001 MCP server ยท Claude ISO 27001 compliance assistant ยท AI GRC tool open source
Content Accuracy
Control identifiers, Annex A control names, clause numbers (4โ10), and the 93-control 2022 / 114-control 2013 structure are mapped directly from the published ISO/IEC 27001:2022 and ISO/IEC 27001:2013 texts. Policy and procedure templates follow the clause structure and RACI patterns common in practitioner guidance.
Note: Template content and clause mappings have not yet been independently reviewed by a certified ISO 27001 Lead Auditor. They are intended as a starting point, not a substitute for professional audit or legal advice. A formal practitioner review is planned โ see Roadmap.
Security Model
Role-Based Access Control (RBAC)
Three roles with strict hierarchy. A key can only call tools at or below its assigned role level.
Capability
Viewer
Analyst
Admin
Read controls, clauses, version mappings
โ
โ
โ
Read gap assessments, risks, policies, audits, evidence
โ
โ
โ
Create / update gap assessments and control statuses
โ
โ
โ
Create and manage risks and treatment plans
โ
โ
โ
Generate policies and procedures
โ
โ
โ
Create and export Statements of Applicability
โ
โ
โ
Track and link evidence artefacts
โ
โ
โ
Record and track improvement opportunities
โ
โ
โ
Record risk-owner acceptance of residual risk; verify evidence
โ
โ
โ
Plan and close internal audits; raise CARs
โ
โ
โ
Set organisation profile
โ
โ
โ
Run management reviews (Clause 9.3)
โ
โ
โ
View and query the audit log
โ
โ
โ
Generate and revoke API keys
โ
โ
โ
Set the risk methodology (scales, bands, acceptance threshold)
Server egress:iso27001-mcp itself does not transmit ISMS records to the package author, analytics services, or any AI provider. In local stdio mode the server opens no network listener and makes no outbound requests except explicitly configured integrations (Jira/GitHub). The encrypted SQLite database, the .env secrets file, and the append-only audit log are all stored locally. There is no telemetry and no cloud sync.
MCP client/model boundary: your MCP client (e.g. Claude Desktop) may transmit prompts and tool outputs to its configured model provider as part of normal operation. That processing happens outside iso27001-mcp's trust boundary and is governed by your client's and model provider's deployment and data-handling settings. Treat tool outputs containing sensitive risk, incident, or audit data accordingly.
For the full security profile โ threat model, hardening guide, supply chain attestation, and audit log integrity verification โ see the Trust Center.
Encryption and audit trail summary
Database โ AES-256 encrypted SQLite via better-sqlite3-multiple-ciphers
Secrets โ HMAC_SECRET and DB_ENCRYPTION_KEY must be exactly 64 hex chars; the server refuses to start on a missing or malformed value, so a placeholder can never become a live key
API keys โ HMAC-SHA256 hashed; raw key printed once and never stored
Audit log โ HMAC-SHA256 hash chain; every row linked to its predecessor โ insertion, deletion, or reordering is detectable; actor_type (ai | human | system) and model_id are included in the hash so provenance claims are tamper-evident
Prompt injection โ free-text fields sanitised before passing to any handler
Verification and acceptance as first-class records โ evidence verification (independent reviewer, must differ from the collector) and risk-owner acceptance of residual risk are enforced, immutable objects in their own right โ not free-text notes
HITL confirmation gates โ 19 mutating tools require confirmed: true plus a server-issued proposal_id to commit; omitting either returns a preview diff and records outcome: "proposed" in the audit log. The proposal_id is a server-generated single-use UUID (10-minute TTL) โ the model cannot self-confirm by calling the same tool twice with confirmed: true, because it must return a token it received from the preview response. Each proposal is bound to the authenticated caller (key_hash), a SHA-256 hash of the exact argument payload (constant-time compared at commit), and โ for update tools โ the target row's updated_at at preview time, so parameter substitution, target substitution, credential swap, replay, and stale-object writes are all rejected. The pipeline additionally verifies the gate actually executed on every confirmed call โ a confirmed call that never consumed its proposal is rejected as a server bug rather than silently committed
Full Reference โ installation, tools API, architecture, modes, development, security
Use Cases
1 โ Run a Gap Assessment
Ask Claude to assess your organisation against ISO 27001:2022, track the status of each control, and generate a prioritised remediation roadmap.
"Create a gap assessment for Acme Ltd covering all 2022 controls. Our scope is cloud infrastructure and development. Exclude physical security controls."
Claude will create the assessment, pre-populate all 93 controls as not_started, and let you work through them one by one or in bulk. When you're done:
"Generate a remediation roadmap grouped by risk level. Give us 26 weeks to get to certification."
The roadmap groups work by theme (Technological first), links controls to open risks, and assigns recommended due dates.
2 โ Manage the Risk Register
Track information security risks end-to-end from identification through treatment.
"Register a new risk: our customer database is at risk from SQL injection due to unparameterised queries. Likelihood 4, impact 5."
"Create a treatment plan to mitigate this risk. Link it to controls 8.26 and 8.28. Owner: head of engineering. Due: end of Q3."
"Show me all critical and high risks that still have open treatment plans."
Risk scores are computed automatically (likelihood ร impact) and reflected in summaries and heatmaps without any manual input.
3 โ Generate ISMS Policies and Procedures
Generate a full suite of ISO 27001-aligned policy and procedure documents in seconds.
"Set our organisation profile: Acme Ltd. ISMS scope: all cloud-hosted systems and remote employees."
"Generate an information security policy. Owner: CISO. Effective from 1 June 2026."
"Create an Incident Handling Procedure linked to our Information Security Policy."
Policies and procedures are rendered from Mustache templates with automatic ISO clause and control mappings. Once the organisation profile is set, organisation_name and scope are injected automatically โ no need to repeat them on every call.
Generate an SoA directly from your gap assessment, pre-populated with inclusion/exclusion decisions and justifications.
"Generate a Statement of Applicability from assessment A-001. Export it as a CSV for the auditors."
5 โ Run Internal Audits
Plan audits, record findings (NCs, observations, OFIs), raise corrective action requests, and track effectiveness.
"Create an audit of our access control and cryptography controls. Auditor: Jane Smith. Planned for 15 June 2026."
"Record a major non-conformity against clause 9.1: no evidence of ongoing monitoring of security objectives."
"Raise a CAR for this finding. Owner: compliance manager. Due in 30 days."
The server enforces ISO 27001:2022 Clause 10.1 โ a corrective action cannot be closed unless effectiveness_verified is true.
6 โ Track Evidence
Register evidence artefacts for each control, spot gaps, and link them directly to Jira tickets or GitHub issues.
"Show me all controls marked as implemented or partial that have no current evidence."
"Register a screenshot of our firewall config as evidence for control 8.20. Collector: ops team. Expires in 12 months."
"Link this evidence to a new Jira ticket in the SEC project: 'Firewall config screenshot โ annual review'."
7 โ Query the Audit Log
Every tool call is logged in a tamper-evident audit trail. Admins can query it at any time. Each entry records who triggered the action (actor_type: ai | human | system) and which model was running (model_id), both included in the HMAC hash chain so provenance claims are tamper-evident.
"Show me all tool calls made in the last 7 days that resulted in an error."
"Query the audit log filtered to actor_type=human to see which calls were made by human operators."
"List all API keys and when they were last used."
Full Reference
The detailed documentation has been moved to keep this page scannable. Everything below is in docs/REFERENCE.md:
Installation โ prerequisites, iso27001-mcp init, doctor, Claude Desktop config
Development โ build, test, typecheck, project structure
Security โ API key storage, encryption, audit trail, production checklist
Discovery (ARD)
This server publishes an Agentic Resource Discovery entry so ARD-implementing registries and agents can find it by semantic search ("run an ISO 27001 gap assessment") without prior installation:
Manifest:ard.json โ advertised via <link rel="ard"> and in-page JSON-LD on the demo site
Server card:server-card.json โ all 56 tools with descriptions, minimum roles, and MCP behaviour annotations, generated from the tool registry on every build
"Ace dude! I've used your GRC skills, and I'm a fan of the work. Keep it up!!"
โ asachs01, r/mcp
"Compliance tools are different from most MCP servers because every write needs to be traceable โฆ the 'human in the loop' isn't just a nice-to-have, it's often a regulatory requirement."
โ NovaAgent2026, r/mcp (audit trail HMAC chain and HITL confirmation gates shipped in v0.9.4โv0.9.6)