ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Curate-Ipsum

โดย egoughnourรุ่น 2.5.1i★ –iรันบนเครื่อง
ชื่อใน registryio.github.egoughnour/curate-ipsum

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Code synthesis through belief revision, mutation testing, and verification

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เครื่องมือนักพัฒนา

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: CURATE_IPSUM_GRAPH_BACKEND, MUTATION_TOOL_DATA_DIR, MUTATION_TOOL_LOG_LEVEL, CHROMA_HOST, EMBEDDING_MODEL

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ดาวน์โหลดไฟล์ .mcpb ของผู้ทำ

ลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add curate-ipsum --env CURATE_IPSUM_GRAPH_BACKEND='ใส่ค่าของคุณ' --env MUTATION_TOOL_DATA_DIR='ใส่ค่าของคุณ' --env MUTATION_TOOL_LOG_LEVEL='ใส่ค่าของคุณ' --env CHROMA_HOST='ใส่ค่าของคุณ' --env EMBEDDING_MODEL='ใส่ค่าของคุณ' -- uvx curate-ipsum

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "curate-ipsum": {
      "command": "uvx",
      "args": [
        "curate-ipsum"
      ],
      "env": {
        "CURATE_IPSUM_GRAPH_BACKEND": "ใส่ค่าของคุณ",
        "MUTATION_TOOL_DATA_DIR": "ใส่ค่าของคุณ",
        "MUTATION_TOOL_LOG_LEVEL": "ใส่ค่าของคุณ",
        "CHROMA_HOST": "ใส่ค่าของคุณ",
        "EMBEDDING_MODEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "curate-ipsum": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "curate-ipsum"
      ],
      "env": {
        "CURATE_IPSUM_GRAPH_BACKEND": "ใส่ค่าของคุณ",
        "MUTATION_TOOL_DATA_DIR": "ใส่ค่าของคุณ",
        "MUTATION_TOOL_LOG_LEVEL": "ใส่ค่าของคุณ",
        "CHROMA_HOST": "ใส่ค่าของคุณ",
        "EMBEDDING_MODEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • CURATE_IPSUM_GRAPH_BACKEND env
    Graph store backend: 'sqlite' (default) or 'kuzu'
  • MUTATION_TOOL_DATA_DIR env
    Directory for persistent data (default: .mutation_tool_data)
  • MUTATION_TOOL_LOG_LEVEL env
    Log level: DEBUG, INFO, WARNING, ERROR (default: INFO)
  • CHROMA_HOST env
    ChromaDB server host for Docker mode (default: use ephemeral in-process)
  • EMBEDDING_MODEL env
    sentence-transformers model name (default: all-MiniLM-L6-v2)

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub egoughnour ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi

  • ดาวมากกว่า 0% ของอีก 4919 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 3% ของอีก 4919 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 4919 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Curate-Ipsum ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.5.1) เข้า registry 9 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), MCPB ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

GitHub

โดย github

server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้

บนเครื่องหรือคลาวด์★ 34,245MITอัปเดต 4 วันที่ผ่านมา
ติดตั้ง

Desktop Commander

โดย wonderwhy-er

MCP server for terminal commands, file operations, and process management

รันบนเครื่อง★ 10,225MITอัปเดต 17 วันที่ผ่านมา
ติดตั้ง

Cloudflare MCP

โดย cloudflare

Cloudflare MCP servers

รันบนคลาวด์★ 4,446Apache-2.0อัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Curate-Ipsum

A graph-spectral MCP server for verified code synthesis through belief revision

Curate-Ipsum bridges the gap between LLM-generated code (fast, plausible, unverified) and formally verified patches (slow, correct, trustworthy). It treats mutation testing as one component of a larger system for maintaining robust, self-healing codebase metadata that supports reachability analysis, symbolic execution, and automated test generation.

Install

# PyPI

pip install curate-ipsum

or with uv

uv pip install curate-ipsum

Docker (includes baked-in embedding model)

docker pull ghcr.io/egoughnour/curate-ipsum:latest

Claude Desktop / MCP Client

Add to your claude_desktop_config.json:

{

"mcpServers": { "curate-ipsum": { "command": "uvx", "args": ["curate-ipsum"] } } }

Or with Docker (embedding model pre-loaded, no Python needed):

{

"mcpServers": { "curate-ipsum": { "command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/egoughnour/curate-ipsum:latest"] } } }

MCP Tools

Curate-Ipsum exposes 30 tools over the MCP stdio transport, organised into six groups:

Testing — run_unit_tests, run_integration_tests, run_mutation_tests, get_run_history, get_region_metrics, detect_frameworks, parse_region, check_region_relationship, create_region

Belief Revision — add_assertion, contract_assertion, revise_theory, get_entrenchment, list_assertions, get_theory_snapshot, store_evidence, get_provenance, why_believe, belief_stability

Rollback & Failure — rollback_to, undo_last_operations, analyze_failure, list_world_history

Graph-Spectral — extract_call_graph, compute_partitioning, query_reachability, get_hierarchy, find_function_partition, incremental_update, persistent_graph_stats, graph_query

Verification — verify_property (Z3/angr), verify_with_orchestrator (CEGAR budget escalation), list_verification_backends

Synthesis & RAG — synthesize_patch (CEGIS + genetic + LLM), synthesis_status, cancel_synthesis, list_synthesis_runs, rag_index_nodes, rag_search, rag_stats

Current Status

Last Updated: 2026-02-08

ComponentStatus
Multi-framework parsing (5 frameworks)Complete
Graph Infrastructure (Spectral/Kameda)Complete
Belief Revision Engine (AGM/Provenance)Complete
Synthesis Loop (CEGIS/Genetic)Complete
Verification Backends (Z3/angr)Complete
Graph Persistence (SQLite/Kuzu)Complete
RAG / Semantic Search (Chroma)Complete

The Problem

LLMs produce code that is:

  • ✅ Syntactically valid (usually)
  • ✅ Statistically plausible
  • ❌ Semantically correct (sometimes)
  • ❌ Type-safe (by accident)
  • ❌ Formally verified (never)

Current approaches either trust LLM output blindly or reject it entirely. Neither is optimal.

The Solution

Use LLMs for cheap candidate generation, then invest computational resources to achieve formal guarantees:

LLM Candidates (k samples)

↓ Seed Population ↓ ┌───────────────────────────┐ │ CEGIS + CEGAR + Genetic │ ← Verification loop │ + Belief Revision │ └───────────────────────────┘ ↓ Strongly Typed Patch (with proof certificate)

Key Differentiators from State of the Art

vs. Traditional Mutation Testing (Stryker, mutmut, cosmic-ray)
TraditionalCurate-Ipsum
Single tool, single languageMulti-framework orchestration
Flat file-level analysisHierarchical graph-spectral decomposition
Mutation score as outputMutation testing as *input* to synthesis
No formal verificationCEGIS/CEGAR verification loop
Manual test writingAutomated patch generation
vs. LLM Code Generation (Copilot, Claude, GPT)
LLM-onlyCurate-Ipsum
Trust model outputVerify model output
Single sample or best-of-kPopulation-based refinement
No formal guaranteesProof certificates
Stateless generationBelief revision with provenance
Plausible codeProvably correct code
vs. Program Synthesis (Sketch, Rosette, SyGuS)
Traditional SynthesisCurate-Ipsum
Hand-written sketchesLLM-generated candidates
Cold-start searchWarm-start from LLM population
No learning across runsTotalizing theory accumulates knowledge
Single specificationMulti-framework implicit regions
vs. Symbolic Execution (KLEE, S2E)
Symbolic ExecutionCurate-Ipsum
Path exploration onlyIntegrated with synthesis
Boolean constraint solvingMathematical reformulation (SymPy)
Single-tool analysisGraph DB + SMT + mutation orchestration
No code generationGenerates verified patches
Novel Contributions
  1. Graph-Spectral Code Decomposition
  • Fiedler vector partitioning for optimal reachability
  • Hierarchical SCC condensation
  • Planar subgraph identification → O(1) Kameda queries
  • Kuratowski subgraphs as atomic non-planar units
  1. Belief Revision for Synthesis
  • AGM-compliant theory revision
  • Entrenchment ordering for minimal contraction
  • Provenance DAG for failure mode analysis
  • Rollback sharpens validity (failures refine the universal model)
  1. Implicit Region Detection
  • Spectral anomalies reveal undertested code
  • Cross-framework mutation resistance identifies critical regions
  • Historical mutability guides partition optimization
  1. Mathematical Constraint Reformulation
  • Boolean-intractable → differential/root-finding
  • SymPy path condition encoding
  • Hybrid SMT + numerical solving

Architecture

flowchart TB

subgraph MCP["MCP Interface"] direction TB

subgraph Sources["Analysis Sources"] direction LR MUT["🧬 Mutation Orchestrator Stryker mutmut cosmic-ray "] SYM["🔬 Symbolic Execution KLEE · Z3 SymPy "] GRAPH["📊 Graph Analysis Joern Neo4j Fiedler "] end

MUT --> BRE SYM --> BRE GRAPH --> BRE

BRE["🧠 Belief Revision Engine AGM Theory · Entrenchment · Provenance DAG "]

BRE --> SYNTH

SYNTH["⚙️ Synthesis Loop CEGIS · CEGAR · Genetic Algorithm "]

SYNTH --> |"counterexample"| BRE

SYNTH --> OUTPUT

OUTPUT["✅ Strongly Typed Patch Proof Certificate ·Type Signature Pre/Post Conditions "] end

LLM["🤖 LLM Candidates top-k samples "] --> SYNTH

style MCP fill:#1a1a2e,stroke:#16213e,color:#eee style Sources fill:#16213e,stroke:#0f3460,color:#eee style MUT fill:#0f3460,stroke:#e94560,color:#eee style SYM fill:#0f3460,stroke:#e94560,color:#eee style GRAPH fill:#0f3460,stroke:#e94560,color:#eee style BRE fill:#533483,stroke:#e94560,color:#eee style SYNTH fill:#e94560,stroke:#ff6b6b,color:#fff style OUTPUT fill:#06d6a0,stroke:#118ab2,color:#000 style LLM fill:#ffd166,stroke:#ef476f,color:#000

Roadmap

Phase 1: Foundation ✅
  • MCP server infrastructure
  • Stryker report parsing
  • Run history and PID metrics
  • Flexible region model (hierarchical: file → class → function → lines)
  • mutmut parser integration
  • Framework auto-detection
  • Unified parser interface
Phase 2: Graph Infrastructure ✅
  • Graph models (CodeGraph, Node, Edge)
  • Call graph extraction (AST-based)
  • ASR extractor (import/class analysis)
  • Dependency graph extraction (module-level imports)
  • Laplacian construction from call/dependency graphs
  • Fiedler vector computation (scipy.sparse.linalg)
  • Recursive Fiedler partitioning with virtual sink/source
  • SCC detection and hierarchical condensation
  • Planar subgraph identification (Boyer-Myrvold)
  • Kameda preprocessing for O(1) reachability
  • MCP tools (extract, partition, reachability, hierarchy, find)
Phase 3: Multi-Framework Orchestration ✅
  • Unified mutation framework interface
  • cosmic-ray parser
  • poodle parser
  • universalmutator parser
Phase 4: Belief Revision Engine ✅
  • py-brs library integration (AGM core)
  • Evidence adapter (mutation results → beliefs)
  • Theory manager for curate-ipsum
  • AGM contraction (py-brs v2.0.0 released)
  • Entrenchment calculation (py-brs v2.0.0)
  • Provenance DAG storage and queries
  • Failure mode analyzer
  • Rollback mechanism
Phase 5: Synthesis Loop ✅
  • CEGIS implementation with LLM seeding
  • Genetic algorithm with AST-aware crossover
  • Entropy monitoring and diversity injection
  • Counterexample-directed mutation
  • CEGAR budget escalation (10s → 30s → 120s)
Phase 6: Verification Backends ✅
  • Z3 integration for SMT solving (default backend)
  • angr Docker symbolic execution (expensive tier)
  • CEGAR orchestrator with budget escalation
  • Verification harness builder (C source generation)
  • Mock backend for testing
  • Alternative solvers (CVC5, Boolector)
  • SymPy path condition encoding
Phase 7: Graph Persistence ✅
  • Abstract GraphStore ABC
  • SQLite graph store (primary)
  • Kuzu graph store (optional)
  • Synthesis result persistence
  • Kameda & Fiedler persistence
  • Incremental update engine
Phase 8: RAG / Semantic Search ✅
  • ChromaDB vector store integration
  • sentence-transformers embedding provider (all-MiniLM-L6-v2)
  • Graph-expanded RAG pipeline (vector top-k → neighbor expansion → rerank)
  • Decay scoring for temporal relevance
  • CEGIS integration for context-aware synthesis
Phase 9: Production Hardening ✅
  • CI/CD (GitHub Actions — lint, test matrix, integration, lockfile)
  • Release pipeline (tag push → PyPI + GHCR + MCP registry)
  • uv lockfile (149 packages)
  • pre-commit hooks (ruff format + lint + lock check)
  • MCP bundle packaging (server.json, smithery.yaml, manifest.json)
  • HTML/SARIF reporting
  • IDE extensions (VSCode)
  • Regression detection and alerting

Future Work

Advanced Orchestration (Deferred)
  • Implicit region detection (spe

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx