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

GRAFOMEM CGR Capture

โดย GNS-Foundationรุ่น 0.1.0i★ 3 (ดาวรวมทั้งรีโป)iรันบนเครื่อง
ชื่อใน registrycom.grafomem/cgr-capture

วิธีติดตั้ง

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

ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ

  • ต่อแบบ ติดตั้งในเครื่อง
  • บัญชีหรือคีย์ ต้องมี GRAFOMEM_CGR_TENANT_KEY, GRAFOMEM_CGR_TENANT
  • หมวด อื่น ๆ
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Record agent judgments and their real outcomes on GRAFOMEM Cloud. Capture now, score later.

ติดตั้ง

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

ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ

ขั้นแรก: คุณใช้ AI ตัวไหน

เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง

ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน

ต้องมีคีย์ของ GRAFOMEM CGR Capture (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ

  1. ลง Python (uv) ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)

    เปิดหน้าดาวน์โหลด Python (uv) ↗

  2. สมัครและสร้างคีย์ของ GRAFOMEM CGR Capture

    เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ

    เปิดเว็บของ GRAFOMEM CGR Capture ↗

  3. เปิดไฟล์ตั้งค่าของแอป Claude บนคอม

    SettingsDeveloperEdit Config

  4. วางค่าตั้งนี้แล้วบันทึกไฟล์

    กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

    วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร

  5. ปิดแอป Claude แล้วเปิดใหม่

  6. ลองเลย

    ใช้ GRAFOMEM CGR Capture บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude บอกว่ากำลังใช้ GRAFOMEM CGR Capture หรือมีชื่อเครื่องมือของ GRAFOMEM CGR Capture ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ChatGPT ยังต่อ GRAFOMEM CGR Capture ไม่ได้

GRAFOMEM CGR Capture ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ

คุณทำแบบนี้แทนได้

ก · ใช้แอปที่ต่อ GRAFOMEM CGR Capture ได้

  • ต้องมีคีย์ของ GRAFOMEM CGR Capture (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
  • ต้องมีคีย์ของ GRAFOMEM CGR Capture (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
  • ต้องมีคีย์ของ GRAFOMEM CGR Capture (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
  • ต้องมีคีย์ของ GRAFOMEM CGR Capture (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)

ข · ตัวอื่นในหมวด อื่น ๆ ที่ต่อกับ ChatGPT ได้

เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์

ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน

ต้องมีคีย์ของ GRAFOMEM CGR Capture (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)

  1. ลง Python (uv) ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)

    เปิดหน้าดาวน์โหลด Python (uv) ↗

  2. สมัครและสร้างคีย์ของ GRAFOMEM CGR Capture

    เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ

    เปิดเว็บของ GRAFOMEM CGR Capture ↗

  3. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell

  4. วางคำสั่งนี้แล้วกด Enter

    กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

    แก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter

    วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร

  5. พิมพ์ /mcp ใน Claude Code

    ต้องเห็น GRAFOMEM CGR Capture ในรายการและขึ้นว่าเชื่อมต่อแล้ว

  6. ลองเลย

    ใช้ GRAFOMEM CGR Capture บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude Code บอกว่ากำลังใช้ GRAFOMEM CGR Capture หรือมีชื่อเครื่องมือของ GRAFOMEM CGR Capture ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน

ต้องมีคีย์ของ GRAFOMEM CGR Capture (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)

  1. ลง Python (uv) ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)

    เปิดหน้าดาวน์โหลด Python (uv) ↗

  2. สมัครและสร้างคีย์ของ GRAFOMEM CGR Capture

    เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ

    เปิดเว็บของ GRAFOMEM CGR Capture ↗

  3. กดปุ่มนี้เพื่อเปิด Cursor

    กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

  4. ใส่คีย์ในช่องที่ว่างไว้

    ในค่าตั้งของ GRAFOMEM CGR Capture ช่อง GRAFOMEM_CGR_TENANT_KEY, GRAFOMEM_CGR_TENANT, GRAFOMEM_CGR_ROLE_KEYS_JSON, GRAFOMEM_CGR_ROLE_KEYS, GRAFOMEM_CGR_FORBIDDEN_TENANTS, GRAFOMEM_API ยังว่าง ใส่คีย์ของคุณแล้วบันทึก

    วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร

  5. เปิดแชตของ AI ใน Cursor โหมด Agent

  6. ลองเลย

    ใช้ GRAFOMEM CGR Capture บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Cursor บอกว่ากำลังใช้ GRAFOMEM CGR Capture หรือมีชื่อเครื่องมือของ GRAFOMEM CGR Capture ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน

ต้องมีคีย์ของ GRAFOMEM CGR Capture (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)

  1. ลง Python (uv) ในเครื่อง

    ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)

    เปิดหน้าดาวน์โหลด Python (uv) ↗

  2. สมัครและสร้างคีย์ของ GRAFOMEM CGR Capture

    เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ

    เปิดเว็บของ GRAFOMEM CGR Capture ↗

  3. กดปุ่มนี้เพื่อเปิด VS Code

    กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

  4. ใส่คีย์ในช่องที่ว่างไว้

    ในค่าตั้งของ GRAFOMEM CGR Capture ช่อง GRAFOMEM_CGR_TENANT_KEY, GRAFOMEM_CGR_TENANT, GRAFOMEM_CGR_ROLE_KEYS_JSON, GRAFOMEM_CGR_ROLE_KEYS, GRAFOMEM_CGR_FORBIDDEN_TENANTS, GRAFOMEM_API ยังว่าง ใส่คีย์ของคุณแล้วบันทึก

    วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร

  5. เปิดแชตของ AI ใน VS Code โหมด Agent

  6. ลองเลย

    ใช้ GRAFOMEM CGR Capture บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า VS Code บอกว่ากำลังใช้ GRAFOMEM CGR Capture หรือมีชื่อเครื่องมือของ GRAFOMEM CGR Capture ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม

ดูโปรแกรมที่ใช้ MCP ทั้งหมด →

ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง

ติดตรงไหน? ถามคนที่ใช้ GRAFOMEM CGR Capture อยู่💬 พูดคุย →
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON

ติดตั้งในเครื่อง

Claude Code

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

Claude Desktop (claude_desktop_config.json)

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

Cursor (~/.cursor/mcp.json)

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

VS Code (mcp.json)

กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน

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

  • GRAFOMEM_CGR_TENANT_KEY ความลับ จำเป็น env
    Your GRAFOMEM Cloud tenant API key (X-API-Key). Needs decisions:read for the durability guard.
  • GRAFOMEM_CGR_TENANT จำเป็น env
    The tenant id you expect that key to resolve to. If the key resolves to any other tenant, every write is refused.
  • GRAFOMEM_CGR_ROLE_KEYS_JSON env
    Role handles to public agent_key (64-hex Ed25519), inline as JSON. Example: {"cc-builder@acme":"<64-hex>"}. Use this or GRAFOMEM_CGR_ROLE_KEYS.
  • GRAFOMEM_CGR_ROLE_KEYS env
    Path to a JSON file with the same role-handle to public agent_key mapping. Use this or GRAFOMEM_CGR_ROLE_KEYS_JSON.
  • GRAFOMEM_CGR_FORBIDDEN_TENANTS env
    Comma-separated tenant ids to always refuse, even if pinned by mistake. Put your production tenant here.
  • GRAFOMEM_API env
    GRAFOMEM Cloud base URL. Defaults to https://api.grafomem.com.

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

สรุป

ดาว GitHubi
3 (ดาวรวมทั้งรีโป)
รีโปนี้มี MCP หลายรายการ ดาวนับในอันดับแค่รายการเดียว
ดาวน์โหลดต่อสัปดาห์i
19/สัปดาห์
โดเมนที่ยืนยัน
✓ grafomem.com
การเชื่อมต่อ
รันบนเครื่อง
รุ่นล่าสุดi
0.1.0
หมวดi
อื่น ๆ
ส่งเข้า registryi
25 ส.ค. 2569
แก้โค้ดล่าสุดi
13 พ.ย. 2569
ผู้ทำ
GNS-Foundation
แพ็กเกจ
pypi: grafomem-cgr
เว็บผู้ทำ
grafomem.com
สถานะใน registry
ใช้งานอยู่

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

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ติดตั้งบนเครื่องได้ใน

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

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

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

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

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

  • ✓ ผ่าน

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

    ชื่อใน registry ยืนยันโดเมน grafomem.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด วันนี้

  • ✓ ผ่าน

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

    ใช้ MIT

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

พูดคุย

ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์

ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย

ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx

เข้าสู่ระบบด้วย Google เพื่อโพสต์

รีวิวจากผู้ใช้

ยังไม่มีรีวิว

เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิว

เทียบกับตัวอื่นในหมวด อื่น ๆi

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

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

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

GRAFOMEM CGR Capture ปลอดภัยไหม?

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

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

ต้องใส่ค่าเหล่านี้: GRAFOMEM_CGR_TENANT_KEY, GRAFOMEM_CGR_TENANT

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

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

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

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

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

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

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

ในหมวดเดียวกันมี World Monitor, Claude Flow, Windmill

ตัวอื่นในหมวดเดียวกัน

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

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

World Monitor

ข่าวกรองโลกแบบเรียลไทม์: ความขัดแย้ง ตลาด พลังงาน การค้า การขนส่ง และไซเบอร์

โดย koala73ใช้กันมาก★ 90.6Kอัปเดต วันนี้

รันบนคลาวด์✓ เจ้าของบริการ · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

โดย ruvnetใช้กันมาก↓ 13.5K/สัปดาห์★ 81.6Kอัปเดต 14 เดือนที่ผ่านมา

รันบนเครื่อง

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

โดย windmill-labsใช้กันมาก★ 18.6Kอัปเดต เมื่อวาน

รันบนคลาวด์

README จากผู้ทำ

เปิดอ่าน README

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

grafomem-cgr

An MCP server that lets a coding agent record its own judgments and how they turned out, against your GRAFOMEM Cloud tenant.

The model is capture now, score later. Every time your agent makes a call it could be wrong about — "this deploy is safe", "this scan is clean", "this review finding is real" — it records the judgment. Later, when reality settles, it records the outcome. The two are joined by a work_item_id you choose. What accumulates is an append-only, attributable record of judgments and their results.

This package is the capture half only. It writes to your tenant; it does not compute, serve, or display scores.

cgr.cosign.v1 verifier (optional extra)

Beside the capture client, this package also ships a reference verifier for the cgr.cosign.v1 two-party co-signature envelope — grafomem_cgr.cosign_verify.verify(record, registry, ledger, trusted_issuers), implementing docs/cgr/cgr-cosign-v1-spec.md §8 (amended by decisions 0010 and 0011). trusted_issuers is required (§8.2a issuer pinning): a collection of issuer key ids with no default and no trust-everything path — omitting it or passing an empty set rejects, rather than trusting the record's self-declared issuer. It is the second, independent reference implementation (the first is @gns-foundation/cgr-verify, JS); both pass the same 28-vector conformance corpus at conformance/cgr-cosign-v1/ with zero verdict disagreements. Install its deps with the extra:

pip install grafomem-cgr[verify]      # rfc8785 + cryptography

Capture does not depend on it; the extra is verifier-only.

What it is not

  • It does not score anything at capture time, and it does not read scores back into your session.
  • It does not make your agent safer or gate anything. Nothing is blocked, approved, or prevented.
  • It is not a compliance, audit, or security product.
  • Scoring on GRAFOMEM Cloud is single-dimension today: all judgment/certify decisions score under one dimension regardless of domain. The domain you pass is stored durably per decision (see below), so it can be attributed later — but it is not scored separately yet.

Requirements

A GRAFOMEM Cloud account. The free tier is sufficient — expected volume is a handful of decisions per day. Note that governed decisions meter as real usage on your plan; the server prints your current usage on startup so this is never a surprise.

Install & configure

One command, plus environment variables — no repo checkout, no launcher script.

Claude Code:

claude mcp add grafomem-cgr --scope user \

--env GRAFOMEM_CGR_TENANT_KEY=sk_your_api_key \ --env GRAFOMEM_CGR_TENANT=your_tenant_id \ --env GRAFOMEM_CGR_ROLE_KEYS_JSON='{"cc-builder@acme":"<64-hex public key>"}' \ -- uvx grafomem-cgr

Or any MCP client that reads a JSON config:

{

"mcpServers": { "grafomem-cgr": { "command": "uvx", "args": ["grafomem-cgr"], "env": { "GRAFOMEM_CGR_TENANT_KEY": "sk_your_api_key", "GRAFOMEM_CGR_TENANT": "your_tenant_id", "GRAFOMEM_CGR_ROLE_KEYS_JSON": "{\"cc-builder@acme\":\"<64-hex public key>\"}" } } } }

Environment
VariableRequiredMeaning
GRAFOMEM_CGR_TENANT_KEYyesYour tenant's X-API-Key. Needs decisions:read for the durability guard.
GRAFOMEM_CGR_TENANTyesThe tenant id you expect that key to resolve to. If the key resolves anywhere else, every write is refused.
GRAFOMEM_CGR_ROLE_KEYS_JSONone ofRole handles → public agent_key, inline as JSON.
GRAFOMEM_CGR_ROLE_KEYSthese twoSame mapping, as a path to a JSON file.
GRAFOMEM_CGR_FORBIDDEN_TENANTSnoComma-separated tenant ids to always refuse, even if pinned by mistake. Put your production tenant here.
GRAFOMEM_APInoBase URL. Defaults to https://api.grafomem.com.
Role keys

A role handle (cc-builder@acme) is the identity a judgment is attributed to. Its agent_key is a stable Ed25519 public key, 64 hex characters — the subject the record binds to. Generate one per role:

openssl genpkey -algorithm Ed25519 -out cc-builder.pem

openssl pkey -in cc-builder.pem -pubout -outform DER | tail -c 32 | xxd -p -c 64

Keep the private half. This version does not use it — it binds to the public key only — but per-decision proof-of-possession is planned hardening, and holding the private key is what will let you prove the identity is yours.

Tools

`cgr_record_decision` — record a judgment.

arg
work_item_idstable join key you choose (PR number, task id, run id)
agent_handleone of your configured role handles
domaindeploy-verification \security-scan \adversarial-review
decisioncertify \reject
verifiability_tagjudgment (default) \rule
reason_code, reason_textoptional
agent_confidenceoptional, accepted but not yet persisted — see below

agent_confidence is accepted by the tool schema for forward compatibility but is not currently written to the decision record. Don't rely on it being stored.

Only judgment + certify moves a score. A rule decision is deterministic and carries no reputational weight — tag honestly.

`cgr_record_outcome` — record how it turned out.

arg
work_item_idthe same join key used at decision time
resulta result label, e.g. deploy_succeeded, ci_failed, vuln_found, review_confirmed
sourceoptional provenance string

An unrecognised `result` is a deliberate no-op. The decision stays pending rather than being resolved on a guess — falsely resolving a decision corrupts the record permanently. Mapped labels are: deploy_succeeded, deploy_healthy, ci_passed, migration_applied, merge_landed, pr_merged, scan_clean, no_vuln_confirmed, review_confirmed, finding_correct, bug_confirmed (success); deploy_failed, deploy_rolled_back, migration_failed, ci_failed, merge_reverted, vuln_found, secret_found, review_refuted, finding_wrong, bug_not_real (failure).

Safety properties

  • Tenant pinning. You declare the tenant up front. The pin is enforced at startup *and* re-checked against the tenant the API actually resolved on every decision response — so a rotated or mistaken key cannot quietly write somewhere else.
  • Denylist. GRAFOMEM_CGR_FORBIDDEN_TENANTS refuses named tenants outright.
  • Key custody. The caller picks a role *handle*; the server injects that role's key. A tool call can never supply an arbitrary key or target another tenant.
  • Fail-open. If the server is misconfigured it exits non-zero and simply doesn't load. Your session continues unblocked, with no tools registered. A refused tool call returns an error as normal tool output rather than crashing the MCP server.
  • Domain durability. domain is sent as a dedicated field and stored server-side, per decision, in the never-encrypted CGR-readable decision parameters as cgr_domain — in the signed decision record, not in a client-side log. selftest includes a durability guard that re-reads the decision it just wrote and aborts loudly if cgr_domain did not round-trip, rather than silently recording a domainless decision.

CLI

grafomem-cgr                 # run the stdio MCP server (the default)

grafomem-cgr setup # register your role identities on the tenant (idempotent) grafomem-cgr selftest --handle cc-builder@acme --domain deploy-verification

selftest closes the loop once — decision → durability guard → outcome → score read — and prints the movement and the meter. Run it before wiring the server into a session.

Links

MIT licensed.