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 分