Exogram — Personal AI Agent & Workspace

io.github.Richard-Ewing由 GitHub 帳號 Richard-Ewing 發布v0.2.3更新於 Nov 5, 2026

Official MCP bridge to Exogram—the Personal AI Agent for your work, people, and life.

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶溝通與協作

概覽

AI 產生的概覽

Exogram 官方 MCP 橋接:提供個人記憶庫與知識圖譜,並為 Gmail、Drive、行事曆、GitHub、Notion 和 Slack 產生需經核准的草稿。

可以做什麼
  • 在加密記憶庫中搜尋、儲存與更新個人記憶、事實和偏好,並查詢個人知識圖譜中的實體、關係及自然語言問答。
  • 檢查擬執行的代理動作是否安全,將決策寫入具雜湊鏈的稽核帳本,並驗證帳本完整性。
  • 以唯讀方式搜尋 Gmail 郵件、Google Drive 檔案、GitHub issue 與拉取請求、Notion 頁面和 Slack 頻道。
  • 起草郵件、Google 簡報、行事曆邀請、GitHub 拉取請求、Notion 頁面內容和 Slack 訊息,皆需使用者明確核准。
適用情境
適合希望助理長期保留工作、人際與生活層面的個人脈絡,並在已連結的 Google、GitHub、Notion 和 Slack 中備妥待審閱的外送動作,而非由助理直接送出的情境。
執行需求
可作為遠端端點使用,也可透過 mcp-server-exogram 套件(uvx)在本機執行。本機模式免註冊,使用內嵌 SQLite 記憶庫;雲端模式需要 Exogram API 金鑰,置於 EXOGRAM_BEARER_TOKEN 或 Authorization bearer 標頭,並以 EXOGRAM_API_URL 指定 API 位址。Google、GitHub、Notion 和 Slack 工具需先連結對應帳號。
安裝前請注意
API 金鑰屬機密,請勿寫入共用設定。雲端模式會將記憶與查詢傳送至 Exogram 伺服器,部分子任務會轉交第三方模型供應商。寫入類工具僅建立草稿並聲稱需明確核准,但送出或發布前仍應逐筆審閱。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Exogram — Personal AI Agent & Workspace,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.Richard-Ewing%2Fexogram/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "exogram-personal-ai-agent-workspace": {
      "type": "http",
      "url": "https://api.exogram.ai/mcp"
    }
  }
}

README

Exogram Open-Core SDK & FastMCP Server (v0.2.0)

[Exogram Plum Mineral AI Workspace & Personal Neural Network Preview]

[PyPI exogram] [PyPI mcp-server-exogram] [npm @exogram/sdk] [Glama MCP Server Score] [Listed on mcpservers.org] [Indexed on TensorBlock MCP Index] [Exogram Protocol RFC] [MIT License]

Exogram (exogram.ai) is a Personal AI Agent and workspace that understands your whole story across your work, people, and everyday life—coordinating specialist agents, turning plain requests into finished interactive deliverables, and executing real tasks with your approval.

This open-core repository provides the official Python/TypeScript SDKs and MCP bridge (mcp-server-exogram) so external AI tools (Claude, Cursor, Windsurf, VS Code, Google Antigravity) can connect directly into that same Exogram Personal Neural Network, interactive widget engine, and action-approval guardrails.

This open-core repository ships the runnable client libraries, local SQLite WAL engine, FastMCP server, and A2UI Living Tile JSON schemas:

  • python/ (exogram v0.2.0) — Python SDK with Zero-Signup Local SQLite WAL Mode (~/.exogram/vault.db) and Cloud API routing (https://api.exogram.ai).
  • typescript/ (@exogram/sdk v0.2.0) — TypeScript & Node.js SDK with CJS/ESM/DTS builds and zero-signup local mode.
  • mcp-server/ (mcp-server-exogram v0.2.0) — FastMCP Server for Claude Desktop, Cursor, Google Antigravity, and OpenAI Agents.
  • schemas/living-tiles-v5.schema.json — Canonical JSON Schema for all Composable A2UI Living Tiles and the 6 First-Party Kernels.

60-Second Zero-Signup Quickstart (Local SQLite WAL & Cloud)

Every SDK and MCP tool runs immediately on your machine using an embedded SQLite WAL vault (~/.exogram/vault.db) with zero account signup or API key required. When you set EXOGRAM_API_KEY, the exact same code routes to Exogram Cloud (https://exogram.ai).

1. Run the Python SDK in 30 Seconds

bash
pip install exogram
# Or install directly from source:
pip install git+https://github.com/Richard-Ewing/exogram-sdk.git
python
from exogram import ExogramClient

# Automatically initializes ~/.exogram/vault.db (SQLite WAL) when no API key is set,
# or routes to https://api.exogram.ai when api_key="exo_live_..." or EXOGRAM_API_KEY is set.
client = ExogramClient()

# 1. Store memory claims across Work, People, and Life spheres
record = client.vault.store(
    "Architecture decision: Production edge deploys to Cloudflare Workers via OpenNext",
    namespace="work",
    sphere="Work",
    confidence=0.98,
    temporal_horizon="durable_trait",
)
print(f"Stored {record.id} | State Hash: {record.state_hash}")

# 2. Traverse the Personal Neural Network (Infinite-Hop Spreading Activation + HippoRAG 2 PPR)
context = client.neural_network.retrieve(
    query="How does our production edge deploy?",
    spheres=["Work", "People", "Life"],
    max_hops=4,
)
print(f"PPR Converged: {context.ppr_converged} | Claims: {len(context.claims)}")

# 3. Deterministic 0.07ms State-Hash & Instinct Pre-Mutation Action Gate
judgment = client.governance.evaluate_action(
    agent_id="deployment-sentinel",
    action_type="deploy_cloudflare_worker",
    parameters={"service": "exogram-edge", "environment": "production"},
    state_hash=context.state_hash,
)

if judgment.permitted:
    receipt = client.actions.execute(judgment.execution_token)
    print(f"Committed! Ledger Hash: {receipt.ledger_hash}")

Or run the self-contained demo script directly from this repository:

bash
python examples/quickstart_local_and_cloud.py

2. Connect Claude Desktop, Cursor, or Antigravity via FastMCP (<30s)

Option A: Zero-Signup Local SQLite WAL Mode (~/.exogram/vault.db)
json
{
  "mcpServers": {
    "exogram": {
      "command": "uvx",
      "args": ["mcp-server-exogram", "--local"]
    }
  }
}
Option B: Hosted Exogram Cloud MCP (https://exogram.ai/api/mcp)
json
{
  "mcpServers": {
    "exogram": {
      "command": "uvx",
      "args": ["mcp-server-exogram"],
      "env": {
        "EXOGRAM_API_KEY": "exo_live_your_key_here",
        "EXOGRAM_API_URL": "https://api.exogram.ai"
      }
    }
  }
}

3. TypeScript / Node.js Quickstart (@exogram/sdk)

bash
npm install @exogram/sdk
typescript
import { ExogramClient } from '@exogram/sdk';

const client = new ExogramClient(); // Zero-signup local mode or pass { apiKey: process.env.EXOGRAM_API_KEY }

const rec = await client.vault.store('Deploy target is Cloudflare Workers Global Edge', {
  namespace: 'work',
  sphere: 'Work',
  confidence: 0.96,
});

const context = await client.neuralNetwork.retrieve('What is our deploy target?', {
  spheres: ['Work', 'People', 'Life'],
  maxHops: 4,
});

const judgment = await client.governance.evaluateAction({
  agentId: 'ts-agent',
  actionType: 'deploy_worker',
  parameters: { target: 'cloudflare' },
  stateHash: context.stateHash,
});

if (judgment.permitted && judgment.executionToken) {
  const receipt = await client.actions.execute(judgment.executionToken);
  console.log('Committed Ledger Hash:', receipt.ledgerHash);
}

Architecture Overview (Master Plan v5)

┌──────────────────────────────────────────────────────────────────────────────┐
│                     User Prompt / External MCP Agent Call                    │
└──────────────────────────────────────┬───────────────────────────────────────┘
                                       ▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ 1. Laya System 1 Deterministic Fast-Path (<15ms In-Memory Understanding)     │
│    Resolves vault subjects, intent, sphere routing (Work · People · Life),   │
│    and search queries in <15ms over profileDigest + priorTurns.              │
└──────────────────────────────────────┬───────────────────────────────────────┘
                                       ▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ 2. Personal Neural Network (Infinite-Hop Spreading Activation + HippoRAG 2)  │
│    • Hybrid RRF Retrieval (Vector + BM25 + Entity Overlap)                   │
│    • Personalized PageRank (PPR, damping α = 0.85) across multi-hop edges    │
│    • 3-Horizon Episodic Memory (ephemeral_episode, recurring_event, durable) │
│    • Read-Time/Write-Time Scalar Conflict Supersession & /api/memory/undo    │
└──────────────────────────────────────┬───────────────────────────────────────┘
                                       ▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ 3. Two-Tier Inference Gateway & 6 Honest First-Party Kernels                 │
│    • PERSONAL Subtasks → Paid Gemini 3.x (Zero PII leaves encrypted boundary)│
│    • PUBLIC_ONLY Subtasks → PII-stripped & compressed before Free-Token Pool │
│    • Post-Synthesis Citation Verification (Complete · Cited vs Standby)      │
└──────────────────────────────────────┬───────────────────────────────────────┘
                                       ▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ 4. Instinct Pre-Mutation Governance (0.07ms Gate) & A2UI Living Tiles        │
│    • Deterministic SHA-256 State-Hash Drift Guard before any tool mutation   │
│    • Progressive JSON Patching (AG-UI) & Claim-Predicate Entailment Scoring  │
└──────────────────────────────────────────────────────────────────────────────┘

The 6 First-Party Cognitive Kernels

Every turn is orchestrated by six specialized first-party kernels and audited by verifyAgentContributionsAgainstTurnOutput so only kernels whose outputs are genuinely cited in the final synthesis display Complete · Cited:

KernelResponsibility
Neural Graph KernelTraverses multi-hop associative paths across Work, People, and Life using Spreading Activation and HippoRAG 2 Spectral PPR.
Generative UI KernelSynthesizes and validates Composable A2UI Living Tiles against schemas/living-tiles-v5.schema.json.
Live Web & Places ScoutExecutes PII-stripped public web & place verification for PUBLIC_ONLY subtasks.
Action & Draft KernelPrepares governed emails, calendar events, and external tool mutations gated by the 0.07ms Instinct Action Gate.
Analytical Synthesis KernelPerforms multi-constraint reasoning, tradeoff matrices, and structured comparisons.
Grounded Citation KernelEnforces contrastive claim-predicate entailment (scoreClaimPredicateEntailment) and Perplexity-style [1], [2] citations.

Composable A2UI Living Tiles (schemas/living-tiles-v5.schema.json)

Exogram dispatches structured inline Living Tiles validated for epistemic provenance:

  • action_draft — Governed outbound drafts (email, message, calendar, PR) with approval controls.
  • checklist — Interactive execution checklists anchored to vault goals.
  • decision_matrix — Multi-criteria weighted scoring tables.
  • curated_places — Grounded venue & location cards with verified ratings.
  • comparison_table — Side-by-side technical or product breakdowns.
  • retail_deals_tile — Verified merchant pricing and availability cards.
  • media_watch_tile — Film, series, book, and podcast recommendations with streaming provenance.
  • occasion_countdown_tile — Recurring event (RRULE:FREQ=YEARLY) countdowns and preparation steps.
  • memory_undo_tile — Transparent memory consolidation card with one-click /api/memory/undo.
  • agent_hud_tile — Real-time telemetry of the 6 First-Party Kernels (Complete · Cited vs Standby).
  • branded_diagram_tile — Publication-grade Plum Mineral (#FAF7F2, #201B20, #4C2B4B, #AEBD9A) SVG diagrams.
  • hyperframes_video_tile — Frame-accurate deterministic HTML/CSS/SVG motion briefings (window.__renderFrame).
  • instinct_computer_tile — Stateful browser/errand operator HUD with Approve Step and Take Over controls.

Repository Structure & Verification

text
exogram-sdk/
├── python/                  # Official Python SDK (pip install exogram)
├── typescript/              # Official TypeScript SDK (npm install @exogram/sdk)
├── mcp-server/              # FastMCP Server (uvx mcp-server-exogram)
├── schemas/                 # JSON Schemas (living-tiles-v5.schema.json)
├── examples/                # Runnable Local & Cloud Quickstart scripts
└── docs/assets/             # Plum Mineral UI previews & architecture diagrams

Run the Test Suites Locally

bash
# 1. Run the 60-second quickstart script
python examples/quickstart_local_and_cloud.py

# 2. Run Python SDK unit tests
pytest python/tests/

# 3. Run FastMCP Server unit tests
pytest mcp-server/tests/

# 4. Run TypeScript SDK unit tests
cd typescript && npm test

License

MIT — see LICENSE for details.

來源:README.md,提交 72c347b

工具

22

search_vault

Semantic and keyword search across stored personal records, facts, and memories in the private vault.

輸入參數query必填top_k

search_memory_vault

Search the Exogram Personal Neural Network and encrypted memory vault across facts, people, preferences, and commitments.

輸入參數query必填top_k

store_memory

Anchor a new fact, code convention, project invariant, or personal memory to your encrypted vault.

輸入參數content必填namespace

update_memory_vault

Persist or supersede a personal fact, commitment, or preference in your encrypted Exogram memory vault.

輸入參數content必填namespace

get_neural_cluster

Look up an entity in Exogram's Layer 2 Knowledge Graph. Returns connected entities and directional relationships.

輸入參數entity_name必填

list_entities

Retrieve active entities and concepts mapped in the personal knowledge network.

輸入參數limit

check_action_safety

Verify whether an agent action is safe and complies with active execution invariants before running.

輸入參數action必填params

record_decision

Record an execution decision into the tamper-evident cryptographic audit ledger.

輸入參數action必填paramsreasondecision必填

verify_audit_trail

Verify the cryptographic SHA-256 hash chain integrity of the ledger from genesis to head.

無需輸入參數。

query_graph

Ask a natural language question against the knowledge graph and receive a structured answer with entity paths and gap analysis.

輸入參數query必填max_hops

gmail_search_messages

Search personal or workspace emails via Gmail API with query syntax (read-only).

輸入參數query必填max_results

gmail_create_draft

Create an email draft in Gmail. Does NOT send the email without explicit user confirmation.

輸入參數ccto必填body必填subject必填

drive_search_files

Search documents, presentations, and files in Google Drive (read-only).

輸入參數query必填max_results

drive_create_presentation

Create a new Google Slides presentation draft with structured slides.

輸入參數title必填slides必填

calendar_list_events

List upcoming meetings, agenda items, and schedule availability from Google Calendar (read-only).

輸入參數querymax_results

calendar_create_meeting

Draft a new Google Calendar meeting invite. Does NOT send invites without explicit user confirmation.

輸入參數title必填end_time必填attendeesstart_time必填description

github_search_issues

Search issues and pull requests across connected GitHub repositories (read-only).

輸入參數repoquery必填

github_create_pr_draft

Draft a GitHub Pull Request proposal. Does NOT open or publish the PR without explicit user approval.

輸入參數basebody必填head必填repo必填title必填

notion_search_pages

Search pages and databases in the user connected Notion workspace.

輸入參數query必填filter_type

notion_append_block

Draft new content or notes to append into an existing Notion page. Gated by explicit user approval.

輸入參數content必填page_id必填block_type

slack_list_channels

List accessible channels in the connected Slack workspace.

輸入參數types

slack_post_message_draft

Draft a message to a Slack channel. Does NOT post without explicit user approval.

輸入參數channel必填message必填thread_ts

版本歷史

2
  1. v0.2.3最新Oct 29, 2026
  2. v0.1.3Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分