
JidoSeal
com.jidosealPublished by jidoseal.comv0.2.0Updated Oct 30, 2026
Checks a Markdown folder's OKF frontmatter tier, locally. No-egress is a vendor claim: see README.
Overview
Scans a local folder of Markdown notes for OKF v0.2 frontmatter tiers, reports missing fields, and checks document trust and git changes.
- What you can do
- Scan a Markdown folder for its OKF v0.2 tier (Bronze, Silver, Gold), per-file missing fields, coverage and a score
- Check one file or a whole folder for trust verdicts (stale, unverified, ok) and OKF conformance
- Compare Markdown files against a git commit to see frontmatter and body changes and their effect on trust
- Get a local estimate of optional certification cost and, on explicit confirmation, a Stripe Checkout link
- When to use it
- Useful when you keep a Markdown knowledge base and want an assistant to audit its frontmatter, tell you what each file needs for the next tier, or check whether a document is still trustworthy before relying on it.
- Requirements
- Local stdio process; Python 3.9+ and the jidoseal-mcp package from PyPI (which also installs the proprietary jidoseal scan engine). No account or API key. The changes tool needs the local git program. Network only for the optional paid checkout.
Installation
In SourceWeft
- Open JidoSeal in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
jidoseal-mcp
Check a folder of markdown notes against Open Knowledge Format (OKF) v0.2 — from inside Claude Code, Claude Desktop, Cursor, GitHub Copilot, OpenAI Codex, Gemini CLI, Zed, Cline, Continue, JetBrains AI Assistant or a local model, on your own machine.
Pick a folder, scan it. jidoseal-mcp is a local Model Context Protocol server that reads the YAML frontmatter of every *.md file under a folder, reports which tier the knowledge base reaches (Bronze / Silver / Gold), and lists — per file — the exact frontmatter fields missing for the next tier. The scan sends nothing over the network: no file, no file name, no file content. That is JidoSeal's own claim about its engine; below is how to check it.
Then ask your assistant: "Scan ~/notes with JidoSeal and tell me what's missing for Silver."
New: State of OKF, October 2026. All 900 bundles listed on BundleDex, checked against OKF v0.2 on 2026-10-22: conformance, which of the two v0.2 texts each bundle's timestamps follow, trust fields, and a leaderboard, with the method and a page per bundle.
Try it in 60 seconds
Free and local; the scan engine is proprietary; JidoSeal also sells optional certificates.
Pick a folder, scan it. Watch the 76-second run first: Check an OKF v0.2 folder in 60 seconds (free, local). To try it on the three-file sample in this repository:
(claude mcp add registers the server for the folder you run it in, so run it there, or add -s user.) Then ask: "Scan this folder with JidoSeal. Which tier does it reach, and what does each file need for Silver?"
The jidoseal_scan result it gets back, from a real run of jidoseal-mcp 0.1.4 (engine 0.1.4) on that folder on 2026-10-22 (UTC), trimmed to the summary and the Silver gaps:
The folder reaches no tier yet because notes.md has no frontmatter: a corpus's tier is that of its weakest file. AUTO marks a value JidoSeal can propose; NEEDS-CLIENT marks one only you can answer (here, owner).
Independent. OKF is an open specification from Google Cloud. JidoSeal is not affiliated with, sponsored by, or endorsed by Google or ISO. ISO names no fields: the Bronze/Silver/Gold tiers and their fields are defined by JidoSeal, as one way of evidencing selected ISO clauses. A JidoSeal tier or certificate is not an ISO certification.
Side effects and data, in brief
- Reads: the
*.mdfiles under the folder you give it (hidden files and folders are skipped), plus<folder>/.jidoseal/config.yamlif present. The server refuses a folder that contains a symlink to a directory or to a file outside the folder. - Writes:
<folder>/.jidoseal/manifest.json(replaced on each scan) and<folder>/.jidoseal/progress.ndjson(appended to). Nothing else; your notes are not modified. - Trust and changes tools:
jidoseal_trustandjidoseal_changesread only and write nothing.jidoseal_changesruns the localgitprogram, with transports disabled, to read the folder's history. - Network, scan and offer: none, by JidoSeal's own claim about its proprietary engine, not independently audited. The tests below check it on every change.
- Network, checkout (optional, paid):
jidoseal_start_checkoutruns only withconfirm: true. It sends eight fields to jidoseal.com: company, name and email as typed, the tier, a 0–100 score, the corpus's Merkle root, the local scan's id, and one flag saying which Bronze price applies. jidoseal.com copies them into the Stripe Checkout session it creates (the email as the session's customer email, all eight as session metadata), when the session is created, before any payment. No file contents, file names, per-file hashes or paths. No card data passes through this server. - Engine: the scan engine is the separate
jidosealpackage, under a proprietary licence. It ships as plain Python source and is pinned here to one version (0.1.4), with its sha256 inENGINE-SHA256SUMSand an SBOM insbom.cdx.json. So "nothing leaves your machine" is JidoSeal's own claim: you can check it with the commands under What leaves your machine and the tests intests/, but it has not been independently audited.
What it checks
The scan is deterministic — presence of populated frontmatter fields, no model calls, no scoring by opinion. A field counts only if it has real content (title: with nothing after it earns nothing).
A corpus's tier is the tier of its weakest file. Coverage is the share of files that reach each tier. The full field reference — accepted aliases, what counts as "populated", what is excluded — is in docs/tiers.md.
A minimal Gold-tier file:
Worked examples for each tier, and a mixed folder, are in examples/tiers/.
Tools
Example jidoseal_scan result for examples/tiers/mixed (three files, one Gold, one Bronze, one with no frontmatter):
frontmatter_ok: false on a file means its frontmatter block exists but does not parse; no field write can close its gaps until it is fixed by hand.
Trust before you rely on a document
Ask: "Before you use ~/notes/policies/leave.md, check it with jidoseal_trust." or, after an agent has edited your notes, "Run jidoseal_changes on ~/notes: what did you change, and which verified documents did it leave unconfirmed?" A jidoseal_trust answer for one file:
OKF v0.2 changed on 2026-08-21 without a version bump: stale_after, sources[].last_modified and usage_window went from bare dates to datetimes with a UTC offset. Both forms are accepted, and which_0_2 says which one a document uses.
Install and wire it into your tool
Requires Python 3.9+. pip install jidoseal-mcp also installs jidoseal (the scan engine and CLI, pinned to the tested version) and puts a jidoseal-mcp command on your PATH. No account and no API key. The scan itself needs no network — it runs the same offline.
Every tool below launches the same local command, jidoseal-mcp, over stdio. Only the place you write it down differs.
Claude Code
or commit a project-scoped .mcp.json:
Claude Desktop
Settings → Developer → Edit Config opens claude_desktop_config.json. Add:
Restart Claude Desktop afterwards.
Cursor
~/.cursor/mcp.json (or .cursor/mcp.json in a project):
GitHub Copilot (VS Code agent mode, and Visual Studio, JetBrains, Eclipse, Xcode)
Copilot Chat uses MCP tools in Agent mode. In VS Code, add .vscode/mcp.json to the project (or run MCP: Open User Configuration for every project):
Copilot in Visual Studio, JetBrains IDEs, Eclipse and Xcode takes the same servers entry in its own MCP settings. On a Copilot Business or Enterprise seat, your organization must have the "MCP servers in Copilot" policy turned on; it is off by default.
OpenAI Codex (CLI, IDE extension and app)
or in ~/.codex/config.toml:
Gemini CLI
or in ~/.gemini/settings.json (or .gemini/settings.json in a project):
Zed
In Zed's settings.json (or Settings → AI → MCP Servers → Add Local Server):
Cline
MCP Servers → Configure → Configure MCP Servers, then add:
Continue
.continue/mcpServers/jidoseal.yaml in your workspace (MCP tools run in Continue's agent mode):
JetBrains AI Assistant
Settings → Tools → AI Assistant → Model Context Protocol (MCP) → Add → STDIO, and paste:
A local model
Any MCP client that can launch a stdio server and sits in front of a local model takes the same two facts — a name and a command:
No AI tool at all — just the command line
Same scan, same verdict, from a terminal. See the jidoseal CLI on PyPI.
If your host uses a different Python than the one you installed into, point it at the module: "command": "/path/to/python", "args": ["-m", "jidoseal_mcp"].
Check the wiring by hand, without any host:
You should see an initialize result naming jidoseal, then the three tools.
Run it in CI
The CLI writes .jidoseal/manifest.json; a few lines turn it into a gate. See docs/ci.md for a GitHub Actions workflow that fails the build when any file falls below Silver.
What leaves your machine
A scan: JidoSeal's claim is that it sends nothing: not the files, not their names, not their contents. The engine that does the scan is proprietary, and nobody independent has audited this claim. It is built to be checkable: jidoseal_mcp.py, scan_result.py and offer.py import no socket, no urllib, no HTTP client, and neither does anything they pull in, including the ten engine modules the pinned jidoseal wheel contains. checkout_client.py is the one module that can reach the network, and it is imported only inside the checkout handler. git_changes.py, behind jidoseal_changes, is the one module that starts a program: the local git, with transports disabled (protocol.allow=never, GIT_NO_LAZY_FETCH=1), imported only inside its own handler.
A purchase, only if you choose one and the call carries confirm: true: the company, name and email you typed, the tier, a 0–100 score, the corpus's Merkle root, the local scan's id, and which Bronze price applies, sent to jidoseal.com. jidoseal.com copies them into the Stripe Checkout session it creates: the email as the session's customer email, and all eight as session metadata. That happens when the session is created, before any payment. No file contents, no file names, no per-file hashes, no paths, and no card data through this server (Stripe hosts the payment page). The Merkle root is a one-way digest.
Verify it yourself:
The scan writes its own records — manifest.json and an appended progress.ndjson — under <folder>/.jidoseal/ and nowhere else. It never modifies your notes.
The test suite checks the same things on every change, against the pinned engine wheel after verifying its sha256 (see .github/workflows/tests.yml):
The jidoseal command-line tool refuses such folders too, from engine 0.1.4 (the version pinned here): a symlink to a file or directory outside the folder, or a symlinked .jidoseal/, stops the run before anything is read or written, and the command exits with status 2. It does not follow a symlinked directory inside the folder either, so each file is read once. This server is a little stricter: it refuses a symlinked directory even when it stays inside. The CLI's own no-network line is worded as JidoSeal's claim, like this server's. Engine 0.1.3 and earlier followed symlinks and printed an unqualified line, so use 0.1.4 or later.
Optional certification
Scanning is free and unlimited, and so are the fixes. If you want a dated certificate for the grade your folder reached, bound to the Merkle root of your corpus, with a public verification page and a listing in the public registry, that is a paid step on jidoseal.com; current prices are published there, one flat price per grade however many files. A person at JidoSeal signs it off from the grade, the score and that fingerprint only, never from your file contents.
Links
- Website: https://jidoseal.com
- Public registry of certified knowledge bases: https://jidoseal.com/registry
- PyPI:
jidoseal-mcp·jidoseal - MCP Registry:
com.jidoseal/jidoseal-mcp - OKF specification (Google Cloud, Apache-2.0): https://github.com/GoogleCloudPlatform/open-knowledge-format
- Contact: [email protected]
About this repository
This repository holds the source of the jidoseal-mcp package: an MCP server implemented on the Python standard library alone (no MCP SDK), speaking JSON-RPC 2.0 over stdio. It depends on the separately published jidoseal package for the scan engine, which is not part of this repository and is pinned to one tested version. Run the tests with pip install -e ".[test]" && pytest. Issues are welcome; please include the jidoseal-mcp and jidoseal versions and the smallest folder that reproduces a problem.
License
Apache-2.0 for the code in this repository — see LICENSE. The jidoseal engine it depends on is distributed separately under its own terms.
Source: README.md at commit 04779d7
Tools
0Version history
5- v0.2.0LatestOct 29, 2026
- v0.1.4Oct 1, 2026
- v0.1.3Oct 1, 2026
- v0.1.2Sep 23, 2026
- v0.1.1Sep 23, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts