workpapers-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@workpapers-mcp trace control A3 from risk to test result"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
workpapers-mcp
An MCP server over my itgc-audit-workpapers pack: an IT General Controls audit of my own AWS environment, written up as five markdown workpapers. This server exposes that pack as tools any MCP-capable AI client can call.
Audit workpapers are cross-referenced by design. A risk points to a control, the control points to a test, the test points to a finding. Following those links by hand means flipping between files. With this server a model can trace a control from risk to result in one call, or answer "whats still open?" straight from the files.
Tools
Tool | What it does |
| Full text of workpaper 1 to 5 |
| Findings with rating and status, optional rating filter |
| One control traced end to end: matrix row, test procedure and result, findings that cite the test |
| Findings not remediated, tests without a plain Pass, and unfinished drafting placeholders |
Related MCP server: Phantom MCP
Setup
pipx install workpapers-mcpuvx workpapers-mcp works too if you prefer no install. Hacking on a clone instead:
python3 -m venv .venv
.venv/bin/pip install mcpWire it into Claude Code:
claude mcp add workpapers -- workpapers-mcpRunning from a clone, point it at the venv instead:
claude mcp add workpapers -- /path/to/workpapers-mcp/.venv/bin/python /path/to/workpapers-mcp/workpapers_mcp.pyThe server reads the pack from ~/aiProjects/aminWork/automation-portfolio/itgc-audit-workpapers. Point WORKPAPERS_DATA_DIR at your own data folder to read it from somewhere else.
Demo
What it looks like from Claude Code:
> trace control A3 in the workpapers
⏺ workpapers · control_lookup("A3")
A3 (Domain 1: Access)
Risk: Password-only sign-in is phishable
Control: MFA enforced on every human identity
Where it lives: IAM MFA config
Criteria: CIS 1.10
**T-A3 MFA enforcement.**
ToD/ToE: MFA device listing inspected for all 12 demo users.
Result: Exception, see F-2.
Findings citing T-A3: F-2 Two users without MFA
> anything still open?
⏺ workpapers · open_items()
2 open item(s):
- Finding F-2 Two users without MFA: Open
- Test T-A3: Exception, see F-2.
⏺ One real gap. Two users have no MFA, raised as F-2 and still open.
The T-A3 exception is the same issue seen from the test side.The controls and findings above are demo data. The format is exactly what the server returns.
Design notes
Read-only by construction. Every tool reads markdown files. Nothing writes, deletes or touches the network.
Parses the pack as written. Matrix rows, bold test headings and
## F-N.finding sections are the real structure of the workpapers, so the tools follow the same cross-references a reviewer would.Drafting notes stay private. Square bracket
[REVIEW NOTE ...]placeholders are replaced with a neutral marker before any text leaves the server, andopen_itemscounts them so unfinished work still shows up.
Honest notes
The parsing is tied to this pack's markdown conventions. A workpaper written in a different layout wont parse without changes to the regexes.
The pack is a self-audit of one small personal AWS account. The tools make it easier to navigate. They dont add assurance the workpapers dont already carry.
open_itemstreats any finding whose status doesnt start with "Remediated" as open, so accepted and disclosed limitations show up there on purpose.The test lives in
test_server.pyand runs against a synthetic pack in a temp dir. Run it withpython test_server.pyor pytest.
About
Al Amin Bashir Afara, Dubai · github.com/aminafara123 · linkedin.com/in/aminafara
Available Tools
4 toolscontrol_lookupARead-onlyIdempotent
Trace one control end to end: its risk and control row from the matrix, its test procedure and result, and findings that cite it. Accepts A1 or T-A1 style IDs.
Inputs: control_id (required). Returns: result
get_workpaperARead-onlyIdempotent
Full markdown text of one workpaper, 1 to 5: plan, risk and control matrix, test procedures, findings, management letter.
Inputs: number (required). Returns: result
list_findingsBRead-onlyIdempotent
Findings from workpaper 4 with rating and status. Optional rating filter (High, Medium, Low), case-insensitive.
Inputs: rating. Returns: result
open_itemsARead-onlyIdempotent
What is not closed yet: findings not remediated, tests without a plain Pass result, and drafting placeholders still in the pack.
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a different audit artifact: full workpaper retrieval, findings list, control trace, and open items. list_findings and open_items both surface findings, so slight overlap exists, but descriptions clarify scope.
Names use snake_case consistently, but the verb/noun patterns vary: get_workpaper and list_findings are verb_noun, while control_lookup and open_items are noun phrases. Readable but not a single predictable convention.
Four tools for a focused audit-workpaper query server is reasonable; each tool covers a distinct query type. Slightly lean for the domain but not thin enough to be a mismatch.
Core read-only audit queries are covered: workpaper text, findings, control tracing, and open items. Missing enumeration/search helpers (e.g., list_workpapers, list controls, free-text search) are minor gaps that an agent can work around by parsing retrieved markdown.
Maintenance
Related MCP Connectors
Your audit methodology inside Claude: findings, risks, controls and workpapers in your team format.
Query financial statements, KPIs, ratios, cash forecasts and budgets from your general ledger
AI-native GRC: compliance scores, security findings, tickets and agent trust tiers.
Governance maturity assessment, compliance gap analysis, and evidence-linked briefs for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides search, detail lookup, and gap listing tools for a security control inventory, enabling natural language queries about control status and gaps.-
- FlicenseNot gradedqualityDmaintenanceEnables authorized compliance verification and security auditing through natural language, bridging AI assistants with industry-standard security tools for enterprise audits.24-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to query and manage a GxP computerized system inventory as a knowledge graph, including blast-radius impact analysis, regulatory lineage, validation-gap detection, audit-trail-compliant status change approvals, and periodic review generation.-
- AlicenseAqualityCmaintenanceEnables AI agents to query SOC 2 and ISO 27001 control evidence with server-enforced authorization, including scoped access, column masking, and audit logging.8MIT