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

Osiris

โดย MlkBlk-ITรุ่น 0.1.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.MlkBlk-IT/osiris

ติดตั้ง

ภาพรวม

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

Cache-aware context engine for AI agents: server-side payload filtering, honest context ledger.

สามเสาของ PopNx MCP

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

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

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

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: บัญชี การเงิน และภาษี

ติดตั้ง

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

ก่อนติดตั้ง

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

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

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

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

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

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "osiris": {
      "command": "npx",
      "args": [
        "-y",
        "osiris-mcp"
      ],
      "env": {
        "OSIRIS_HOME": "ใส่ค่าของคุณ",
        "OSIRIS_ROOTS": "ใส่ค่าของคุณ",
        "OSIRIS_CACHE_TTL_S": "ใส่ค่าของคุณ",
        "OSIRIS_PRUNE_THRESHOLD_TOKENS": "ใส่ค่าของคุณ",
        "OSIRIS_DISPATCH_ONLY": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

claude mcp add osiris --env OSIRIS_HOME='ใส่ค่าของคุณ' --env OSIRIS_ROOTS='ใส่ค่าของคุณ' --env OSIRIS_CACHE_TTL_S='ใส่ค่าของคุณ' --env OSIRIS_PRUNE_THRESHOLD_TOKENS='ใส่ค่าของคุณ' --env OSIRIS_DISPATCH_ONLY='ใส่ค่าของคุณ' -- npx -y osiris-mcp

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

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "osiris": {
      "command": "npx",
      "args": [
        "-y",
        "osiris-mcp"
      ],
      "env": {
        "OSIRIS_HOME": "ใส่ค่าของคุณ",
        "OSIRIS_ROOTS": "ใส่ค่าของคุณ",
        "OSIRIS_CACHE_TTL_S": "ใส่ค่าของคุณ",
        "OSIRIS_PRUNE_THRESHOLD_TOKENS": "ใส่ค่าของคุณ",
        "OSIRIS_DISPATCH_ONLY": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "osiris": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "osiris-mcp"
      ],
      "env": {
        "OSIRIS_HOME": "ใส่ค่าของคุณ",
        "OSIRIS_ROOTS": "ใส่ค่าของคุณ",
        "OSIRIS_CACHE_TTL_S": "ใส่ค่าของคุณ",
        "OSIRIS_PRUNE_THRESHOLD_TOKENS": "ใส่ค่าของคุณ",
        "OSIRIS_DISPATCH_ONLY": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

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

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

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

  • OSIRIS_HOME env
    Repertoire d'etat OSIRIS : base SQLite, rapports, caches. Defaut ~/.osiris.
  • OSIRIS_ROOTS env
    Racines autorisees pour la lecture de fichiers, separees par ';'. Vide = aucune lecture de fichier.
  • OSIRIS_CACHE_TTL_S env
    TTL du cache en secondes.
  • OSIRIS_PRUNE_THRESHOLD_TOKENS env
    Seuil de prune en tokens.
  • OSIRIS_DISPATCH_ONLY env
    1 = n'expose que l'outil osiris.call (table d'outils stable pour le prefix cache).

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

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

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

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

เทียบกับตัวอื่นในหมวด บัญชี การเงิน และภาษีi

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

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

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

Osiris ปลอดภัยไหม?

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

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

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

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

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

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

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 5 วันที่ผ่านมา

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

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

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

ในหมวดเดียวกันมี Finance Toolkit, SolidInvoice, Korea Tax Calculator

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

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

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

Finance Toolkit

โดย JerBouma

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

บนเครื่องหรือคลาวด์★ 5,496MITอัปเดต เมื่อวาน
ติดตั้ง

SolidInvoice

โดย SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

รันบนคลาวด์★ 981MITอัปเดต 7 วันที่ผ่านมา
ติดตั้ง

Korea Tax Calculator

โดย UpstageAI

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

รันบนเครื่อง★ 97MITอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

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

OSIRIS

Cache-aware context engine & state governor for AI agents. Standard MCP server, local-first, independent of any model provider.

OSIRIS makes AI agents cheaper, faster, and more reliable: fewer tokens, fewer loops, zero unnecessary tools, and zero loss of context.

What's new — 2026-11-04

ChangeWhat it means
P0–P5 landedAdaptive thresholds, conditional schema, token calibration, reference pruning, loop credit and the net-gain module.
Dashboard rebuiltLiquid UI, live updates, plus concurrency and ledger tests.
Stale task pointer clearedget_task now drops the current-task pointer when the task no longer exists.
4 bugs fixed (2026-11-04)LoopGuard escalates (warn 3 / block 5 + precheck deny), structured plan constraints enforced, handoff ref leak removed, honest unverified integrity.
v0.1.1 released on GitHubValidated 2026-11-03; tag and release v0.1.1 are published. PyPI and npm still serve 0.1.0 until the packages are uploaded.

OSIRIS does not replace your other MCP servers (filesystem, Git, GitHub, shell, browser…). It coexists alongside them and drastically cuts what they cost in prompt context.


1. The Core Architectural Constraint

An MCP server never sees the final prompt assembled by the client host. It only sees what the agent sends to it. Therefore, OSIRIS cannot:

What we would wantWhat a standard MCP server can actually do
Write directly into the promptProduce canonical state and have the agent carry it
Erase past conversation turnsDecide what to externalize for future turns
Hide another MCP server's toolsRecommend via Tool Compass
Hard-cap prompt tokensBlock an action (invariants, budget enforcement)

The promise is honest: OSIRIS provides stable state and an enforceable safety contract, not a client prompt builder.


2. Sealed Manifest — The Core Design

osiris.plan returns a deterministic block (~120 tokens) that the agent carries at a fixed position in its context window:

OSIRIS/1 task=7c3f obj="fix PowerShell profile bug" plan=3/7

inv=4 files=6 refs=9 dec=2 budget=ok SEAL=sha256:3f9a1c…c21b

The SEAL is a SHA256 digest of stable zones. The agent passes it on every turn to osiris.observe: OSIRIS recomputes and detects any state drift immediately.

This is OSIRIS's passive transport: even if the agent stops calling tools, it carries the essential state cleanly.

Three Hashes Because Prompt Cache is Prefix-Based
head_hash   = sha256(system_head ‖ rules)                       immutable

zoneB_hash = sha256(objective ‖ global_plan ‖ tool_contract) quasi-stable tail_hash = sha256(constraints ‖ pinned_decisions) append-only prefix_hash = sha256(head_hash ‖ zoneB_hash) ← cached prefix zoneA_hash = sha256(head_hash ‖ tail_hash) ← full ZONE A

ChangeVerdictCache Cost
head_hashCRITICAL DRIFTFull re-prefill
zoneB_hashMinor driftRe-prefill delta only
tail_hash (append)Normal growthRe-prefill delta only
Pinned item rewrittenCRITICAL DRIFT (semantic)Cache intact, task state corrupted

Appending a constraint or decision changes tail_hash but not prefix_hash: the prompt cache holds, only the new tokens are prefilled.

Rewriting a pinned decision is explicitly caught: OSIRIS checks collection identity, flagging a semantic break (semantic_break: true, cause: pinned_rewrite).


3. The 6 MCP Tools

Access footprint: 1,019 tokens of schemas and descriptions in model context (measured via bench/run_bench.py). Paid on task start, amortized across the session — pays off on the very first turn with ≥800 token payloads.

ToolRoleTypical Response
osiris.planStart / update / resume / status of a task; produces sealed manifest~160 tok
osiris.precheckAuthorize or deny an action (invariants, budget, deduplication)~70 tok
osiris.observeLog actions, loop detection, offload large data, update memory~50 tok
osiris.recallRehydrate refs (server-side filtered: grep, range, outline)variable
osiris.checkpointSnapshot, resume, completion report, reversible compaction~80 tok
osiris.handoffExecutable delegation contracts and structured results~200 tok

osiris.observe combines logging, loop protection, payload externalization, memory registry, and automated pruning in a single call so the agent always reports back seamlessly.

Extended Operations
CallBehavior
osiris.observe(kind="dropped", result= )Drop receipt: agent confirms payload was evicted from prompt → token savings are proven and credited
`osiris.observe(kind="head"\"contract", result=…)`Records system prompt head / client contract and detects cache-busting volatile tokens (timestamps, UUIDs)
`osiris.recall(op="grep"\"range"\"head"\"tail"\"outline"\"aggregate"\"jsonl")`Server-side filtering: only requested matches enter the context window
osiris.plan(mode="status")Context pressure breakdown (measured vs declared vs unknown)
`osiris.checkpoint(mode="compact"\"trim"\"clear")`Reversible session compaction preparation
osiris.precheck → suggest_alternativeActive collision resolution for duplicate operations
Resources & Prompts
  • osiris://task/{task_id}/manifest — Active zones, drift status, objective
  • osiris://task/{task_id}/status — Real-time context pressure
  • osiris://ref/{ref} — Raw byte content of any referenced payload
  • Prompt osiris/task-resume — Clean agent recovery template after crashes

4. Architecture

┌──────────────────────────────────────────────────────────────┐

│ Agent (Claude Code, Cursor, MiniMax Code, Codex, Cline…) │ │ Context: system │ tools │ OSIRIS MANIFEST │ history │ └───────────────────────────┬──────────────────────────────────┘ │ MCP stdio — 6 tools, ~1,019 tok schema ▼ ┌──────────────────────────────────────────────────────────────┐ │ osiris-mcp (server.py) │ │ plan · precheck · observe · recall · checkpoint · handoff │ └───────────────────────────┬──────────────────────────────────┘ │ ┌───────────────────────────▼──────────────────────────────────┐ │ core/ │ │ task_state Typed TaskState (objective, plan, decisions) │ │ memory Typed memory registry by kind and scope │ │ refs Content-addressed store (verified on read) │ │ prefix Zones, 3-hash system, drift, PrefillPlan │ │ prune Reversible externalization, 4 modes │ │ query Server-side payload filtering (grep, range...) │ │ compaction trim / compact / clear (lossless) │ │ pressure Context pressure metrics & tracking │ │ loopguard Fingerprinting, 5 loop patterns detection │ │ invariants TOML rule engine (guard rails) │ │ compass Tool Compass (dynamic relevance scoring) │ │ handoff Executable agent delegation contracts │ │ events Append-only event journal + checkpoints │ │ ledger Tokens / cost / savings / OSIRIS overhead │ │ fileops Sandboxed file inspection (roots, size limits) │ │ redact Secret scrubbing before any hashing │ │ policy Budget policies & token enforcement │ └───────────────────────────┬──────────────────────────────────┘ ▼ ~/.osiris/osiris.db + ~/.osiris/reports/


5. Memory Model

Deterministic, typed, content-addressable memory — not an opaque vector database.

TaskState

├── objective immutable ├── constraints[] append-only ├── decisions[] append-only, pinned verbatim ├── plan completed / active / remaining steps ├── files{} path, SHA-256 hash, mtime, last access, ref ├── tool_results{} cache_key, ref, size, token cost, TTL ├── failures{} error signature, tool, args hash, attempts, lesson ├── lessons[] general behavioral rules learned ├── handoffs{} cross-agent delegation contracts └── budget estimated vs consumed tokens and cost

Scopes: task → project → agent → global.


6. Cache-Aware Pruning

Security Invariant: Pruning moves payload data to content-addressed refs (`mem://sha256:…`). It NEVER deletes.

ZONE_A_pruning_cost = pruned_tokens

ZONE_C_or_D_pruning_cost = 0 ← always zero cost net_savings = pruned_tokens − (prefix_tokens × P(cache_dead) × prefix_pruned)

ModeTriggerEvictsCache ImpactUse Case
cache_ttl (default)Δt > TTLC/D, and A/B only if cache expiredNeutralRecommended default
conservativeVery high thresholdWorking zone (C/D) onlyZeroHigh-cost API models
balancedModerate thresholdC/D + cold historical turnsZeroStandard agent workflows
aggressiveLow thresholdEverything rehydratableMinor prefill riskFast local LLMs

7. LoopGuard Protection

fingerprint = sha256(tool ‖ canonical_args ‖ result_signature)
DetectionTrigger SignalVerdict
Exact duplicateIdentical fingerprintsuggest_alternative
Repeated failureSame error signature (≥3 times)block + required_action
Loop patternSame error across varying argswarn
OscillationAlternating A/B/A/B patternwarn
RunawayN calls with zero state progresswarn / block

8. Invariants (Guard Rails)

Define project safety rules in .osiris/invariants.toml:

[[invariant]]

id = "tests-before-commit" when = { tool = "git.commit" } require = { state = "tests_passed" } message = "Cannot commit while tests are failing"

[[invariant]] id = "no-test-edit" when = { path_glob = "tests/**" } verdict = "block" message = "Modifying test suites requires explicit approval"


9. Lossless Verification & Non-Loss Proof

OSIRIS guarantees full auditability for offloaded data:

  1. Self-verifying refs: mem://sha256: . Reads re-verify data integrity against the hash before returning.
  2. Zero deletion paths: data is relocated to the local store, never pruned permanently.
  3. Reproducible audit:
   python -m osiris audit --task <task_id>

Outputs cryptographic proof of non-loss:

   {"lossless": true, "items_externalized": 14, "items_verified": 14, "items_missing": 0, "integrity_violations": []}

10. Verified Benchmarks

Real measurements from python bench\run_bench.py running an automated coding workflow:

Payload SizeBaseline ContextFixed OSIRISAdaptive OSIRISNet ImprovementOSIRIS ModeOverhead
200 tok1,5832,6691,649−4.17%bystander33 tok
800 tok3,8513,7513,255+15.48%light1,808 tok

| 2,000 tok | 9,015 | 5,215

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

ถาม PopNx