
Unwritten MCP server
Catches files and C# members you forgot to change, learned from your repo's git history
1 stars
Reviews
Write oneNobody has reviewed Unwritten yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Unwritten tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- –Code scanpackage could not be scannedn/a
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 48 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Unwritten compares
Against every graded Developer tools MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 80/100
- higher than 55% of 1,119 Developer tools servers
- GitHub stars
- 1
- more than 50% of 855 Developer tools servers
Install Unwritten in Claude Code, Cursor or VS Code
The registry entry has no remote endpoint or installable package.
What the publisher says
From the Unwritten repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.Byggarepop/unwritten -->
Unwritten
Catch the files you — or your AI agent — forgot to change. Unwritten learns from your git history which files usually change together and warns when one is missing from your edit: "you changed OrderService.cs but not OrderServiceTests.cs, and they change together 94% of the time." It calls these missing companions holes, and every warning comes with its confidence score and real example commits as proof.
1 possible hole(s):
src/Orders/OrderServiceTests.cs
expected because you changed src/Orders/OrderService.cs
confidence 0.826 (90 co-changes in 100 changes)
e.g. 3f2a1c9 Add surcharge handling to freight calculation
FAIL: at least one hole at confidence >= 0.70.It runs as an MCP server so AI coding agents (Claude Code, Copilot) can check their own edits mid-session, and as a CLI for pre-commit hooks. One dotnet tool execute, an index in .unwritten/, no server, no subscription, no tokens.
Works on any language. File-level rules only need git history, so hole detection works the same on Python, TypeScript, Go, or mixed repos. C# repos additionally get method-level rules and cosmetic-edit filtering; JSON files get key-level noise filtering. Running the tool requires the .NET SDK (10+), but the repos it analyzes can be anything.
Quick start
From your repo's root:
- Warm up the index (optional — every command builds it on first use and keeps it current by itself; this just makes the first query fast).
dotnet tool execute Unwritten --yes -- reindex- Register as an MCP server (Claude Code):
claude mcp add unwritten -- dotnet tool execute Unwritten --yes -- mcp- (Recommended if using Claude Code) Make the check deterministic — a git pre-commit hook and a Claude Code Stop hook that feeds failing holes back to the agent before a commit is made:
dotnet tool execute Unwritten --yes -- install-hook --git --claude-codeThat's it — your agent can now call check_holes after editing, and the hooks catch the cases where it forgets to.
Explanatory video
https://github.com/user-attachments/assets/4ae7a22d-c611-458f-8c48-08f87eca1d29
<!-- The bare URL above renders as an inline video player on GitHub and degrades to a plain clickable link on nuget.org (which cannot embed video). To set or refresh it: edit README.md on github.com, drag videos/UnwrittenLong16x9_subbed.mp4 (burned-in captions — GitHub's player has no CC support) into the editor at this spot, delete the placeholder URL, and commit. -->
See it in action
stats shows what the tool has learned — here, one file pair coupled strongly enough (confidence ≥ 0.7) to block a commit if one side is missing:
After editing one file of that pair, check warns that its companion is missing and spells out the three ways to resolve it — update the companion, commit anyway, or mute the rule:
With the pre-commit hook installed, the same check runs automatically on every commit and blocks it while the companion is still missing:
Documentation
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Unwritten: common questions
- Is Unwritten MCP server safe?
- Mostly: it is graded B (80/100). Read the Unwritten safety report
- Does Unwritten need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Unwritten maintained?
- The last commit was 89 days ago (2026-08-07). The latest release is v0.4.6.
- What can I use instead of Unwritten?
- Servers from other publishers that do the same job: argot MCP server, Suvadu MCP server and Repowise MCP server.
- How does Unwritten compare with other Developer tools MCP servers?
- safety score 80/100 (higher than 55% of 1,119 Developer tools servers); github stars 1 (more than 50% of 855 Developer tools servers). Full comparison.
Alternatives to Unwritten
Same job from other publishers: the closest match first, then the best rated.
- argotRead-only context and complete checks against patterns learned from git history. Local; no LLM.not reviewedEstablishedB
- SuvaduLocal shell history and AI agent sessions over MCP: search commands, failures, risk and git changesnot reviewedGrowingA
RepowiseCodebase intelligence for AI coding agents — graph, git history, docs, decisions, code health.not reviewedEstablishedB- SoloMDRead and search a folder of Markdown notes: search, backlinks, tags, tasks, outlines, git history.not reviewedEstablishedB
- EkbasisForesee what git commands and multi-step changes will do, as calibrated probabilitiesnot reviewedEstablishedB