MCP server for VisiMark: lets an agent verify a Markdown document's numbers match their formulas.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
A document integrity layer for Markdown: it checks that every number in a document still matches the formula that produced it, so an agent's correct formula can't ship with a wrong total.
VisiMark checks the numbers in Markdown documents, especially ones an agent wrote. Every computed value carries its formula, a machine proves the two still agree, and CI fails when they don't. The document stays plain Markdown.
This matters most when the Markdown is written or edited by an AI agent.
Agents are reliable at writing formulas and unreliable at the arithmetic those
formulas describe: Net = Price * Qty is something an agent gets right,
50.00 is something it guesses. Write the formula instead of the number and
the number stops being a claim and becomes a derivation β reviewable in a
diff, re-runnable, enforceable in CI. The agent writes, VisiMark verifies, Git
records the result.
A VisiMark document is an ordinary Markdown file. It renders correctly on GitHub, in VS Code preview, and through pandoc to both HTML and Word, today, with no plugin β verified, not assumed. What VisiMark adds is that every computed number in it carries the formula that produced it, that a machine can prove the two still agree, and that a change to either shows up as a small, readable diff.
docs/example-invoice-drift.md is a real B2B
invoice after someone raised the on-call hours from 12 to 20 and updated
nothing that depends on it. It renders as a clean, plausible invoice on
GitHub, in a Markdown preview, anywhere β which is the entire argument for
this project. Every number in it carries the formula that produced it; the
syntax follows further down. Here is visimark check reading the same file a
reviewer just skimmed and approved:
Twenty-seven problems: a payment date ambiguous by twenty-nine days, a cell someone nudged by hand to make a column look right, a circular reference β all invisible on the rendered page, all caught before a human had to notice.
More and more of the documents that carry numbers are written as text and kept in Git: reports and research notes, estimates and budgets, quotes and invoices, project plans, financial summaries. Text is excellent for collaboration, review and version control. But ordinary Markdown has no way to say this number came from these inputs, and it must still agree with them β so the moment an input changes, every figure downstream of it is a guess until a human re-checks it by hand.
VisiMark adds that missing layer. The working stack for collaborating with an agent is a text editor over lightly formatted artifacts; Markdown already covers the prose, and this covers the calculation. The arithmetic is not the value β the audit trail is.
Four ideas, and that is the whole format:
vmark block declares formulas for the table above it, and names the sheet.Net = Price * Qty is one rule for every row, not a
formula per cell. Columns with no rule are inputs, and are never overwritten.docs/tutorial.md is the end-to-end tutorial: twenty-eight
short chapters from a plain Markdown table to a checked document, a CI job and a
script reading values back out. It teaches the language in dependency order, every
finding check can report, and the one habit that keeps a green check meaningful.
Every transcript in it is real.
There is a side-by-side reader for it at
docs/tutorial.html,
which shows each block's Markdown source next to its rendering, in lockstep.
docs/example-invoice.md is a complete B2B invoice
that computes itself: line items, VAT, a payment schedule derived from the gross
total, early-payment terms, a currency conversion, and a reconciliation that
proves the instalments sum to the invoice. Its appendix explains each mechanism.
docs/example-invoice-drift.md is that same
invoice with the drift shown at the top of this README β the 27 problems
transcript above is check reading this exact file, and its appendix walks
through every one of the 27 problems.
docs/example-quote-plain.md is the other
direction: a quote with no VisiMark in it at all β no vmark block, no
anchor, just a table and a total written in prose, the way an agent hands one
over before anyone has wired it up. visimark infer reads it and proposes the
rules that reproduce every number already there:
A rule is proposed only if it reproduces every row exactly, at that column's
own precision β never a best fit, never a threshold, and also fits, not proposed is listed rather than silently dropped, because a rule over
materialised columns beating one with a bare constant is a judgment call worth
seeing. --write inserts exactly the blocks and anchors above and rewrites
nothing else. A rule that fits every row but one is never written; it is
reported as a near-miss instead β the tool telling you the document already
has a wrong number in it, before anyone runs check on it. The document's own
appendix walks through every mechanism, including that near-miss case.
infer is the way in for the document check would otherwise have nothing to
say about: one with no formulas at all. Pairing the two closes the loop β
infer gets a plain table wired up, and check keeps it that way.
VisiMark parses the document, builds a dependency graph across every sheet, sorts it topologically, and evaluates in decimal arithmetic. Circular dependencies are reported with the full path through the cycle.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/visimark)<a href="https://allmcps.com/mcp/visimark"><img src="https://allmcps.com/api/badge/visimark?style=directory" alt="Visimark on AllMCPs" /></a>