Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Parse, check, prove and translate logic formulas: first-order, modal, description, higher-order.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"unicode-logic-kit": {
"command": "uvx",
"args": [
"unicode-logic-kit",
"mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add unicode-logic-kit -- uvx unicode-logic-kit mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"unicode-logic-kit": {
"command": "uvx",
"args": [
"unicode-logic-kit",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"unicode-logic-kit": {
"type": "stdio",
"command": "uvx",
"args": [
"unicode-logic-kit",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub fvossel ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.35.0) เข้า registry 11 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
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.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Python toolkit for logic with Unicode operators — *parse, transform, and reason about* formulas of classical first-order logic and well beyond it: modal, temporal, hybrid, many-valued, fuzzy, intuitionistic, relevant, second- and third-order, description, dependence/IF, substructural, and a range of further non-classical logics. On top of that sits infrastructure for NL→logic research: one small API a verification loop can drive, one uniform verdict type over a dozen provers, and an evaluation toolbox for scoring LLM-generated formulas against benchmark gold data.
from unicode_logic_kit import MSFLParser, is_valid
phi = MSFLParser().parse( "∀x (Human(x) → Mortal(x)) ∧ Human(socrates) → Mortal(socrates)") print(is_valid(phi)) # True
Renamed in 0.31.0. Up to 0.30.0 this package was
unicode-fol-kit
(
import unicode_fol_kit): first-order logic is one of the logics it handles,
not the whole of it.
pip install -U unicode-fol-kitstill works — it installs
this package and forwards the old import name with a
DeprecationWarning— but
new code should
pip install unicode-logic-kitandimport unicode_logic_kit.
Nothing else changed its name, the
UFK_environment variables included.
api.parse_any (dialect auto-detection over Unicode / TPTP / LaTeX / Prover9 / SMT-LIB — never raises, records every parser's objection), api.check (well-formedness + signature conformance with did-you-mean suggestions), api.equivalent, api.prove, api.countermodel, api.repair (a diagnose→suggest→fix generator whose fixer callback is *your* LLM), api.translate (logic-to-logic via a comorphism registry). Every result has a JSON-compatible to_dict(), and the API carries an explicit stability policy.FOL(MSFOL(f)) converts a sorted formula and keeps its side axioms (each sort is non-empty, each sorted constant lies in its sort) *with* the term, as a Sentence; api.prove adds them as premises itself, which is the difference between a proof and a spurious countermodel. Each of the nine registry edges declares what it preserves (comorphism.GUARANTEES), which side axioms its image needs and which options it reads; a composed path reports the weakest guarantee on it. There is no implicit coercion between logics on purpose — see Translating between logics for why a translation is not an upcast.pip install unicode-logic-kit[mcp], then python -m unicode_logic_kit.mcp (or, with nothing installed, uvx "unicode-logic-kit[mcp]" mcp) exposes the toolkit as thirty-seven Model Context Protocol tools (23 general-purpose, 6 for chemistry, 8 for description logic) — any MCP client (Claude Code/Desktop, agent frameworks, editors) can parse, prove, diagnose and translate without writing Python; the repair loop inverts naturally (the client LLM is the fixer). An error-analysis layer comes along: prediction-vs-gold breakdowns with symbol diffs (compare_formulas), corpus metrics (score_batch), satisfiability of premise sets with model witnesses (check_consistency), normal forms, cross-syntax rendering, truth tables, signature extraction, and DRS→FOL for discourse phenomena.FiniteStructure + evaluate_in_structure answer that directly: no prenex form, no CNF (both are documented timeout sources elsewhere), quantifiers ranging over indexed candidate sets rather than the whole domain, counting quantifiers counted instead of expanded, and properties that are decidable on a structure but not first-order definable over it (connectivity, ring membership) admitted as computed predicates. unicode_logic_kit.chem turns a SMILES string into such a structure over the ChemLog signature.unicode_logic_kit.ilp turns those same structures into an ILP task (Popper's bk.pl / exs.pl / bias.pl) and reads the learned Prolog clause back as a kit formula you can model-check. Two encoding mistakes produce a hypothesis that scores precision 1.00 and means nothing — example-local individual names a learner joins across, and the example argument on every predicate — and both are refused rather than documented, on the way out and on the way back. check_separation asks the question that has to come first: does your reference definition separate the two example sets at all?prob.entailment_bounds answers "what does P(bird)=0.9 entail about P(fly)?" with the exact tightest interval (Nilsson's probabilistic entailment as a rational LP over possible worlds, conditionals included); prob.query answers ProbLog-style queries over definite programs with independent probabilistic facts under Sato's distribution semantics — every result an exact Fraction, every unsupported fragment a loud refusal.Verdict with a semantic status (proved / refuted / unknown / error), a separate *why-not-more* axis (timeout ≠ bound_hit ≠ incomplete ≠ unsupported), the SZS status, wall time, and JSON-able witnesses. Chains, portfolios (portfolio_prove, parallel with agreement thresholds and a soundness alarm on prover disagreement), and cached batch runs (batch_decide) are built on top.api.countermodel returns a machine-readable witness *plus* a plain-English rendering ("The countermodel has 2 possible worlds. … At world 0 the formula fails."), and refutation actually covers the temporal fragment: Ⓕ P → P comes back refuted with a two-world Kripke witness, not "unknown".from unicode_logic_kit import api
result = api.parse_any("∀x (Raven(x) → Black(x))") # LLM output, any dialect report = api.check(result.formula, signature={"predicates": {"Raven": 1, "Black": 1}}) verdict = api.prove(api.parse_any("Black(tweety)").formula, premises=[result.formula, api.parse_any("Raven(tweety)").formula]) print(verdict.status, verdict.backend, verdict.szs_status) # proved z3 Theorem
One parser class, MSFLParser, reads classical logic at the first, second and third order, each with or without sorts and with or without the modal family (modal/temporal/epistemic/deontic/hybrid): twelve combinations of three constructor flags. A fourth flag, fuzzy, puts the Łukasiewicz connectives in place of the two-valued ones in each of the twelve. Next to them stand team-semantic dependence/IF logic, intuitionistic linear logic, and the Lambek calculus. The surface syntax is natural Unicode (∀ ∃ ∧ ∨ ¬ → ↔ ⊕ ⊗ □ ◇ @ ⊸ 𝟙 …) with no ASCII fallbacks.
On top of the AST sits a full reasoning stack — four proof methods (a built-in resolution prover, Fitch natural deduction with checker *and* searcher, the Gentzen sequent calculi LK/LJ — the latter backed by Dyckhoff's G4ip, a genuine terminating decision procedure for propositional intuitionistic logic — and analytic tableaux), a finite model finder, SMT (Z3) and external-prover (Prover9 / Vampire) backends, truth tables, and dedicated semantics for every logic. Every proof method has an independent checker — including check_resolution_proof, which certifies externally produced resolution derivations (paramodulation steps included) with its own from-scratch unification, and check_tableau_proof, which re-derives every α/β/γ/δ step of a recorded tableau with its own substitution and δ-freshness check. Formulas import/export to TPTP (incl. header Status/Rating metadata via parse_tptp_problem), Prover9, SMT-LIB, LaTeX, and JSON.
Full guide and API reference: [https://unicode-logic-kit.readthedocs.io/](https://unicode-logic-kit.readthedocs.io/)
The documentation walks through every logic with runnable examples — start with the Quickstart and Choosing a tool.
Beyond deciding formulas: Model checking (evaluate a formula in a structure you already have — including molecules), Verification (is a definition *set* coherent, or just too easily satisfied?), Probabilistic logic (exact bounds and queries, no sampling), and MCP (the toolkit, grammar included, as tools for a language model).
pip install unicode-logic-kit
Requires Python 3.10+. Z3 ships with the package. pip install "unicode-logic-kit[cvc5]" adds cvc5 as a second in-process SMT backend (it then joins the default proving chain right after Z3); [mcp] adds the MCP server (python -m unicode_logic_kit.mcp); [hf] add
ตัดมาแค่ช่วงต้น อ่านต่อใน repo