About coso-mcp
coso-mcp is an open MCP server for internal-control reviews based on the COSO Internal Control—Integrated Framework (ICIF-2013). It supports the review lifecycle from scoping and risk assessment through testing, workpapers, sign-off, and reporting.
Key features
- 01COSO framework reference and assessments
- 02Manage scope, risks, and controls
- 03Compute and select test samples
- 04Record tests and exceptions
- 05Create and review workpapers
- 06Classify deficiencies and generate reports
Use cases
- 01Plan a COSO internal-control review
- 02Select reproducible control-test samples
- 03Document testing and reviewer sign-off
- 04Assess and report control deficiencies
MCP support
The server exposes COSO framework resources, review tools, and prompts to MCP clients. It runs locally over stdio or at a hosted streamable HTTP endpoint; hosted write operations use an ephemeral session sandbox.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://internal-control.ascent-partners.com/mcpclaude mcp add --transport http simonmak-ascent-coso https://internal-control.ascent-partners.com/mcp{"mcpServers":{"simonmak-ascent-coso":{"type":"http","url":"https://internal-control.ascent-partners.com/mcp"}}}Open in Cursor{"servers":{"simonmak-ascent-coso":{"type":"http","url":"https://internal-control.ascent-partners.com/mcp"}}}Open in VS Code{"mcpServers":{"simonmak-ascent-coso":{"type":"http","url":"https://internal-control.ascent-partners.com/mcp"}}}{"mcpServers":{"simonmak-ascent-coso":{"serverUrl":"https://internal-control.ascent-partners.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
39This tool takes no parameters.
Details
From the project READMEcoso-mcp
An open Model Context Protocol server for internal-control reviews under the COSO Internal Control—Integrated Framework (ICIF-2013). It covers the full review lifecycle — scope → risk assessment → control register → population → sampling → testing → workpapers → review sign-off → deficiency evaluation → report — grounded in the framework's 5 components, 17 principles and points of focus.
- Local: runs over stdio (
npx @simonmak-ascent/coso-mcp). - Hosted: public endpoint at https://internal-control.ascent-partners.com/mcp (reference + read tools, plus an ephemeral per-session sandbox for the full write lifecycle — nothing persists).
Not audit or legal advice. This server assists with internal-control review methodology. All workpapers and assessments must be reviewed by qualified professionals before use in audit documentation.
Why this exists (competitive advantage)
Existing MCP servers either expose a vendor's GRC records (read-mostly,
proprietary, product-shaped) or cover ISO 27001 / security controls. None runs
a traceable COSO review. coso-mcp is the first COSO/ICFR-native,
write-capable, open MCP for the whole lifecycle.
| Dimension | coso-mcp | Vendor GRC MCPs (Workiva, Vanta, Drata, Optro, OpenPages, LogicGate…) | Community MCPs (iso27001-mcp, unidoc/isms, mcp-server-scf…) | AI skills (sox-testing / audit-support) |
|---|---|---|---|---|
| COSO ICIF-2013 native (5 components / 17 principles / points of focus) | ✅ core engine | ❌ product objects | ❌ ISO/SCF-shaped | ⚠️ text only |
| Full lifecycle to signed workpaper | ✅ | ❌ retrieval; Workiva GRC tools are read-only | ❌ planning/findings at best | ⚠️ templates, not executable |
| Write/stateful workpapers + preparer/reviewer sign-off + audit trail | ✅ | ❌ mostly read | ❌ | ❌ |
| Framework effectiveness (principle/component present & functioning) | ✅ | ❌ | ❌ | ❌ |
| Deterministic, reproducible computation (sample-size tables, seeded selection) | ✅ | partial | ❌ | ❌ (freeform) |
| Open source + open access (MIT, public endpoint, no account) | ✅ | ❌ paid platform | ⚠️ some OSS | ⚠️ not a server |
Moat: it is the lifecycle layer, not the data layer — it can sit on top of Workiva/Vanta/Drata rather than compete for their data; its sampling and deficiency math are computed, not improvised; and openness gives zero-friction distribution no gated vendor can match.
Tools
| Tool | Kind | Purpose |
|---|---|---|
get_server_info | read | Server identity, framework coverage, disclaimer. |
list_components | read | The five COSO components. |
list_principles | read | The 17 principles (optionally filtered by component). |
get_principle | read | A principle by number or slug, with paraphrased points of focus. |
get_component | read | A component by id, with its principles. |
list_objective_categories | read | Operations / reporting / compliance. |
list_assertions | read | The CEAVOP assertions used to frame control objectives. |
create_engagement | write | Create a review engagement. |
get_engagement | read | Get an engagement by id. |
list_engagements | read | List engagements. |
add_scope_item | write | Add a significant account/process to scope. |
list_scope_items | read | List scope items. |
register_risk | write | Register a risk to objectives (likelihood, assertions, principles, fraud). |
list_risks | read | List registered risks. |
register_control | write | Register a control (type, frequency, linked risks, assertions). |
list_controls | read | List registered controls. |
get_audit_log | read | Append-only audit events for an engagement. |
compute_sample_size | read | Recommended sample size from frequency × risk, with rationale. |
create_population | write | Register a population (item list or declared size, bounded). |
list_populations | read | List populations. |
select_sample | write | Seeded, reproducible sample selection (random/systematic/targeted/haphazard). |
record_test_result | write | Record attribute-level outcomes (pass/fail/na) and a conclusion. |
list_test_results | read | List test results. |
note_exception | write | Record an exception with root cause and impact. |
list_exceptions | read | List exceptions. |
assemble_workpaper | write | Assemble a Markdown control-testing workpaper. |
list_workpapers | read | List workpapers. |
get_workpaper | read | Get a workpaper with its Markdown. |
add_review_note | write | Add a reviewer note. |
resolve_review_note | write | Resolve a reviewer note. |
sign_off | write | Preparer/reviewer sign-off (warns on same-person independence). |
get_activity_log | read | Append-only activity log for an engagement. |
classify_deficiency | write | Classify a deficiency (deficiency / significant / material weakness). |
list_deficiencies | read | List deficiencies. |
aggregate_deficiencies | read | Group and flag deficiencies that may aggregate. |
assess_principle | read | Coverage indicators for one COSO principle. |
assess_component | read | Coverage indicators for one COSO component. |
framework_integration_check | read | Check all five components have coverage. |
generate_report | read | Generate the Markdown review report. |
Resources: coso://framework/icif-2013 (framework reference),
coso://engagement/{id} (engagement bundle: scope, risks, controls).
Prompts: scope-review, assess-risk, build-control-matrix,
draft-test-workpaper, evaluate-deficiencies.
Usage
Local (stdio)
npx -y @simonmak-ascent/coso-mcp
Claude Desktop / generic MCP client config:
{
"mcpServers": {
"coso": {
"command": "npx",
"args": ["-y", "@simonmak-ascent/coso-mcp"]
}
}
}
Hosted (streamable HTTP)
https://internal-control.ascent-partners.com/mcp
The hosted endpoint is open. Write operations run in an ephemeral, isolated, rate-limited per-session sandbox and are not persisted.
Development
Compute runs on a box, never locally: cs run "<cmd>".
pnpm install
pnpm typecheck
pnpm test
pnpm test:coverage
pnpm build # tsc
Security
See SECURITY.md. Report vulnerabilities privately — do not open a public issue.
Contributing
See CONTRIBUTING.md and the Code of Conduct.
License
MIT © Simon Mak / Ascent Partners Group Limited.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.