Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Checks a Markdown folder's OKF frontmatter tier, locally. No-egress is a vendor claim: see README.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"jidoseal": {
"command": "uvx",
"args": [
"jidoseal-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add jidoseal -- uvx jidoseal-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"jidoseal": {
"command": "uvx",
"args": [
"jidoseal-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"jidoseal": {
"type": "stdio",
"command": "uvx",
"args": [
"jidoseal-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน jidoseal.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.0) เข้า registry 10 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Georgia MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
An MCP server for Georgian public data, read from the organizations that publish it.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
pip install jidoseal-mcp
claude mcp add jidoseal -- jidoseal-mcp # Claude Code; every other tool is below
Then ask your assistant: *"Scan ~/notes with JidoSeal and tell me what's missing for Silver."*
New: [State of OKF, October 2026](https://github.com/Jidoseal/jidoseal-mcp/blob/main/reports/state-of-okf/2026-10/README.md). 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.
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:
git clone --depth 1 https://github.com/Jidoseal/jidoseal-mcp && cd jidoseal-mcp/examples/tiers/mixed
pip install jidoseal-mcp claude mcp add jidoseal -- jidoseal-mcp # Claude Code; Cursor, Copilot, Codex, Gemini CLI, Zed and local models are below claude
(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:
{
"corpus": { "file_count": 3, "tier": "none", "coverage": { "bronze": 66.7, "silver": 33.3, "gold": 33.3 } }, "files": [ { "name": "expenses.md", "tier": "bronze", "present": [ "type", "title" ], "missing": { "silver": [ { "field": "description", "fix": "AUTO" }, { "field": "timestamp", "fix": "AUTO" }, { "field": "owner", "fix": "NEEDS-CLIENT" } ] } }, // gold gaps trimmed { "name": "leave-policy.md", "tier": "gold", "missing": { "silver": [], "gold": [] } }, { "name": "notes.md", "tier": "none", "present": [], "missing": { "silver": [ { "field": "title", "fix": "AUTO" }, { "field": "description", "fix": "AUTO" }, { "field": "timestamp", "fix": "AUTO" }, { "field": "owner", "fix": "NEEDS-CLIENT" } ], // gold gaps trimmed "bronze": [ { "field": "type", "fix": "AUTO", "value": "note", "confidence": "MEDIUM", "inferred": true } ] } } ], "skipped": [], "certified_eligible": false, "score": 44 // … plus audit id, rubric, file hashes, Merkle root and the paths of the two files written under .jidoseal/ }
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.
*.md files under the folder you give it (hidden files and folders are skipped), plus /.jidoseal/config.yaml if present. The server refuses a folder that contains a symlink to a directory or to a file outside the folder. /.jidoseal/manifest.json (replaced on each scan) and /.jidoseal/progress.ndjson (appended to). Nothing else; your notes are not modified.jidoseal_trust and jidoseal_changes read only and write nothing. jidoseal_changes runs the local git program, with transports disabled, to read the folder's history.jidoseal_start_checkout runs only with confirm: 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.jidoseal package, under a proprietary licence. It ships as plain Python source and is pinned here to one version (0.1.4), with its sha256 in ENGINE-SHA256SUMS and an SBOM in sbom.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 in tests/, but it has not been independently audited.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).
| Tier | A file must have (populated) | What it evidences |
|---|---|---|
| Bronze | type | OKF v0.2 as written — type is its one required field |
| Silver | Bronze + title, description, timestamp, owner | ISO 9001 §7.5.2, which asks for appropriate identification and description of a document and gives examples ("a title, date, author, or reference number"). These four fields are one reasonable way to evidence it. |
| Gold | Silver + status, review_policy, reviewed_at, next_review_at | ISO 30401's kept-current knowledge governance. The standard sets no review interval; a stated review policy with real review dates is how you evidence it, and the cadence is yours to choose. |
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:
---
type: policy title: Leave policy description: How leave accrues and how to request it. timestamp: 2026-09-01 owner: dept:people-ops status: stable review_policy: yearly reviewed_at: 2026-09-01 next_review_at: 2027-09-01
Worked examples for each tier, and a mixed folder, are in examples/tiers/.
| Tool | What it does | Network |
|---|---|---|
jidoseal_scan | The free Self-Check over a folder on this machine: corpus tier, per-file missing fields for the next tier (each marked AUTO — a value JidoSeal can propose — or NEEDS-CLIENT — only the owner can answer), coverage per tier, a 0–100 score, and a Merkle root of the corpus. | none (JidoSeal's claim; see below) |
jidoseal_certification_offer | What optional certification would cost for this corpus, why, what it includes, and exactly which facts a purchase would send. Computes locally; starts nothing. | none (same claim) |
jidoseal_start_checkout | Only on your explicit go-ahead, passed as confirm: true (without it, nothing is sent): asks jidoseal.com to create a Stripe Checkout session and returns the link for you to open. Takes no payment. | jidoseal.com, which passes the fields to Stripe |
jidoseal_trust | Before an agent relies on a document: stale, unverified or ok, with the reasons, from its OKF v0.2 trust and lifecycle fields (stale_after, status, verified, generated). Also its trust tier (§5.3), whether it meets OKF v0.2 conformance, and which text of v0.2 its timestamps follow. One file, or every *.md in a folder. Reads only. Plain Python in this package; does not use the scan engine. | none |
jidoseal_changes | After an edit: every *.md that differs from a git commit (default HEAD, so the uncommitted edits and new files), what changed in its frontmatter and body, and what that did to its trust: a verified document whose text changed while verified did not, verified or type removed, generated.at not updated, status or stale_after changed. Reads only. Runs the local git with protocol.allow=never and no lazy fetch. | none |
Example jidoseal_scan result for examples/tiers/mixed (three files, one Gold, one Bronze, one with no frontmatter):
{
"corpus": { "file_count": 3, "tier": "none", "coverage": { "bronze": 66.7, "silver": 33.3, "gold": 33.3 } }, "score": 44, "certified_eligible": false, "files": [ { "name": "expenses.md", "tier": "bronze", "missing": { "silver": [ { "field": "description", "fix": "AUTO" }, { "field": "timestamp", "fix": "AUTO" }, { "field": "owner", "fix": "NEEDS-CLIENT" } ] } } // … ] }
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.
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:
{
"verdict": "unverified", "reasons": [ "content changed at 2026-10-01T00:00:00Z, after its latest verification at 2026-06-25T09:00:00Z" ], "okf_conformant": true, "trust_tier": "human-reviewed", "status": "stable", "stale": false, "which_0_2": "2026-08-21" // … plus each timestamp as written and which v0.2 text it follows }
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.
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
ตัดมาแค่ช่วงต้น อ่านต่อใน repo