Calera Infinite Context (ICX) — Persistent Memory & Associative Recall

io.github.Calera-Labs由 GitHub 账号 Calera-Labs 发布v1.4.0更新于 Oct 29, 2026

Sub-5ms topological 4D associative memory coprocessor for LLMs and multi-agent swarms.

发布方自己的服务:Memory.fit

已验证Streamable HTTP可网页运行知识与记忆开发者工具AI 与机器学习

概览

AI 生成的概览

托管式持久记忆服务,让助手跨会话、跨智能体存取、检索并追溯事实。

可以做什么
  • 存取记忆:保存文本、代码与决策,做语义或关键词检索,并按原文逐字取回带哈希的片段
  • 追溯关系:执行多跳因果链遍历,查看某个连接器或空间中的已落地事实
  • 检查与管理空间:查看节点数、矛盾告警与同步审计记录,重置会话对话或清除某个来源
  • 同步外部来源:注册 GitHub、GitLab、Notion、Drive、Linear、Slack 或 Postgres 连接器并按需拉取增量
  • 执行代码:运行 Python 或 WebAssembly 片段,并直接绑定已存记忆
  • 协同智能体:在同一命名空间中读写、列出共享的类型化变量与租约
适用场景
适合需要跨会话记忆的场景,例如在多次对话中回忆项目决策、约定或文档,或让多个智能体共享状态。也适合追溯依赖链,并让回答以已存来源为依据。
运行要求
远程 streamable HTTP 端点,无需本地安装。需要 Calera Labs API 密钥,通过 X-License-Key 请求头发送;可选 X-Space-ID 请求头用于选择记忆分区。也可用 npx 运行本地 stdio 代理,需设置 ICX_LICENSE_KEY 与 ICX_SPACE_ID 环境变量。
安装前请注意
API 密钥是随每次请求发送的有效凭据,不要放进共享配置。多个工具会写入、修改或删除数据:注册连接器、同步增量、清除来源、写入共享变量。注册连接器时需提供 webhook 密钥。有一个工具会申领存储库,需要邮箱地址并接受条款。代码执行工具会在服务商一侧运行所提交的 Python 或 WebAssembly,记忆数据也由第三方保存。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Calera Infinite Context (ICX) — Persistent Memory & Associative Recall,将其添加到工作区。
  2. 连接 Custom headers 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Calera-Labs%2Ficx-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "calera-infinite-context-icx-persistent-m": {
      "type": "http",
      "url": "https://icx.caleralabs.com/mcp",
      "headers": {
        "X-License-Key": "<VALUE>",
        "X-Space-ID": "<VALUE>"
      }
    }
  }
}

README

Infinite Context (ICX) — Persistent Memory MCP Server

[MCP Registry] [Smithery] [Glama MCP] [Glama MCP Score] [License] [RULER Score] [Latency]

Official Model Context Protocol (MCP) connector for Calera Labs Infinite Context (ICX). Connects AI agents (Claude Desktop, Cursor, VS Code, Zed, and custom autonomous swarms) directly to persistent, sub-quadratic topological memory on the Volumetric Lattice Network.

"Context Without Limits. Memory Without Loss."


⚡ Why ICX Over Naive 1M+ Context Windows?

  • Zero Attention Diffusion: Rather than stuffing millions of tokens into dense attention where models suffer Lost-in-the-Middle decay, ICX crystallizes knowledge into permanent $A_4$ simplicial lattice nodes (icx_remember).
  • Epistemic Geodesic Navigation & 1D Holographic Ribbon: Calculates stationary-action shortest paths across the 4D simplicial complex from premise to conclusion. Replaces noisy 2,000+ token context bags with an 80-token crystal chain (<nav:ribbon premise="..." target="..." steps=4 action=5.66>), reducing prompt injection tokens and Time-To-First-Token (TTFT) by >40%.
  • Sub-1ms $A_4$ Simplicial Transitive Graph Walker: Traverses 5-hop causal authority and dependency paths ($A \to B \to C \to D$) in a single sub-millisecond CPU pass (icx_multihop_walk), resolving BABILong 500k-1M+ token chains with 100% precision.
  • Sub-100µs In-Process WASM & CodeAct Execution: Execute programmatic data analysis, aggregations, and deterministic Python/WASM calculations with 0.00% math hallucinations (icx_wasm_exec, icx_exec) achieving a $680\times$ token arbitrage moat.
  • Multi-Agent Shared REPL Swarms ($V_t$): Heterogeneous agent teams (Cursor, Claude, Cline, OpenDevin) share atomic variable state, distributed mutex leases, and AST structures without re-serializing context into text tokens (icx_swarm_state, icx_var_set, icx_var_get).
  • 2026-07-28 Stateless Protocol Core: Fully compliant with the 2026-07-28 Stateless MCP Specification (SEP-2243, SEP-2575, SEP-2549) with sub-5ms zero-handshake direct tool calls and intelligent caching (ttlMs: 86400000).
  • 100% Sweep on Major Public Benchmarks:
    • 96.28% (466/484 exact) on RULER MRCR v2 at 128k–1M context (and 100.00% on 10M NIAH / BenchLM 1M single-needle).
    • 100.00% on BABILong 500k 5-hop causal resolution in 882µs.
    • 100.00% on $\tau$-bench multi-policy retention.
    • 99.76% cost & token savings on Artificial Analysis evaluation.
    • 1.0 Grounding Score on SWE-bench AST symbol fidelity.
  • Streamable Hosted Endpoint: Zero local model downloads required. Connect via streamable HTTP/SSE with your API key from dashboard.caleralabs.com.

🚀 1-Click Quickstart Integrations

1. Cursor IDE

Add the following to your project's .cursor/mcp.json (or global Cursor Settings → Features → MCP):

json
{  "mcpServers": {    "infinite-context": {      "url": "https://icx.caleralabs.com/mcp",      "headers": {        "X-License-Key": "clabs_live_YOUR_KEY",        "X-Space-ID": "default"      }    }  }}

(Get your free API key at dashboard.caleralabs.com)


2. Claude Desktop

Add to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
json
{  "mcpServers": {    "infinite-context": {      "url": "https://icx.caleralabs.com/mcp",      "headers": {        "X-License-Key": "clabs_live_YOUR_KEY"      }    }  }}

3. Smithery CLI (1-Click Terminal Command)

Install automatically across Claude, Cursor, or VS Code using Smithery:

bash
# For Claude Desktopnpx -y @smithery/cli install @calera-labs/icx-mcp --client claude
# For Cursor IDEnpx -y @smithery/cli install @calera-labs/icx-mcp --client cursor
# For VS Codenpx -y @smithery/cli install @calera-labs/icx-mcp --client vscode

4. VS Code / GitHub Copilot

Add to .vscode/mcp.json:

json
{  "servers": {    "infinite-context": {      "url": "https://icx.caleralabs.com/mcp",      "headers": {        "X-License-Key": "clabs_live_YOUR_KEY"      }    }  }}

5. Stdio Gateway Proxy (Air-Gapped / CLI)

If your environment only supports local stdio sub-processes:

json
{  "mcpServers": {    "infinite-context": {      "command": "npx",      "args": ["-y", "@caleralabs/icx-mcp"],      "env": {        "ICX_LICENSE_KEY": "clabs_live_YOUR_KEY",        "ICX_SPACE_ID": "default"      }    }  }}

6. Zero-Config Auto-Bridge with Calera LLM-VM (@caleralabs/llm-vm-mcp)

Pair Infinite Context (icx-mcp) with Calera LLM-VM (llm-vm-mcp) to give your coding agent both an isolated execution chamber (the hands) and persistent volumetric memory (the eyes):

json
{  "mcpServers": {    "calera-llm-vm": {      "command": "npx",      "args": ["-y", "@caleralabs/llm-vm-mcp"]    },    "calera-icx": {      "command": "npx",      "args": ["-y", "@caleralabs/icx-mcp"]    }  }}
  • Zero-Setup Auto-Bridge: Both servers share ~/.calera/icx.env and bind to the exact same deterministic space ID (space_<hash>).
  • Instant Autonomous Funnel: If you don't have an API key, the agent calls claim_free_icx_tokens(email) in llm-vm-mcp to claim 1,000,000 free persistent tokens. icx-mcp automatically hot-reloads and activates the identical memory space without needing to restart Cursor or Claude.
  • Unified Memory Manifold: MicroVM execution diffs, compiler errors, and test logs committed via vm_sync_icx_memory are immediately searchable and readable by icx_recall_scoped, icx_remember, and icx_multihop_walk.

🛠️ Certified MCP Tools Reference (19 Tools)

ToolPurposePrimary InputsBehavior
icx_rememberStores text, code, decisions, and documentation into persistent long-term memory.text (required), space_id, filename, familyAdditive & Non-destructive
icx_recall_scopedPerforms semantic search across memory to retrieve grounded facts and source citations for QA. Supports optional format: "ribbon" for 1D Geodesic Ribbon prompt injection.query (required), space_id, top_k, format (optional: standard | ribbon)Read-only
recall_epistemic_contextUltra-compact (<160 tokens) read gateway into persistent epistemic memory. Returns high-salience grounded facts with optional 1D holographic ribbon serialization (format: "ribbon").query (required), space_id, top_k, format (optional: standard | ribbon)Read-only
icx_search_factsKeyword and entity search across memory nodes for lexical exploration and token lookup.query (required), space_id, limitRead-only
icx_quote_slotRetrieves exact character-for-character verbatim text and SHA-256 hashes from document registers.family (required), index (required), space_idRead-only
icx_inspect_spaceReturns diagnostic telemetry: active nodes, total synapses, grounded facts, and contradiction alarms.space_id (optional)Read-only
icx_reset_sessionClears conversational turn history while preserving all underlying persistent memory.space_id (optional)Mutates session only
icx_sync_deltaExtracts fine-grained text/JSON deltas and crystallizes them into the lattice in sub-2ms on CPU.new_text (required), old_text, uri, source_id, space_idMutating Sync
icx_list_connectorsLists all active continuous changefeed connectors (GitHub, GitLab, Notion, Drive, Linear, Slack, SQL).NoneRead-only
icx_register_connectorRegisters a new cloud webhook changefeed connector with AES-256-GCM secret vaulting.type (required), name (required), target_uri (required), webhook_secretMutating Sync
icx_purge_sourceExecutes O(1) instant memory unlinking and revocation of all facts from a source without retraining.source_id (required), space_idMutating Purge
icx_sync_auditRetrieves historical delta synchronization events, deltas processed, facts learned, and latency metrics.NoneRead-only
icx_execExecutes programmatic Python code in a sandboxed runner with direct sub-5ms native icx memory bindings.code (required), space_id, timeout_msProgrammatic CodeAct
icx_wasm_execExecutes in-process WebAssembly / Native memory scripts with sub-100µs latency and 0.00% math error.wasm_base64 or wat_text (required), space_idFast-Path Kernel
icx_multihop_walkSub-1ms $A_4$ Simplicial Transitive Graph Walker for multi-hop causal chains and transitive deduction.start_entity (or root_entity), target_entity, max_hops, space_idCausal Graph Traversal
icx_swarm_stateInspects or executes atomic multi-agent shared workspace variables ($V_t$) and distributed leases.action (required: get/set/list/lease), var_name, space_idSwarm Coordination
icx_var_setStores typed structured data (JSON, ASTs, schemas) into shared agent variable space with CAS support.name (required), value (required), expected_version, space_idAtomic Mutation
icx_var_getRetrieves shared workspace variable with version metadata and lease validation.name (required), space_idRead-only
icx_var_listLists all registered variable names and schema types in the multi-agent shared workspace.space_id (optional)Read-only

🧭 Epistemic Geodesic Navigation & 1D Holographic Ribbon Mode

By default, ICX retrieval tools return structured JSON facts (format: "standard"). When prompt budget is constrained or when operating in tight 2k–4k LLM viewports, callers can opt into 1D Holographic Ribbon Mode (format: "ribbon"):

MCP Tool Call Example:

json
{  "name": "recall_epistemic_context",  "arguments": {    "query": "AAPL operating revenue to free cash flow bridge",    "format": "ribbon"  }}

Serialized Holographic Ribbon Output:

xml
<nav:ribbon premise="AAPL_REV" target="FREE_CASH_FLOW" steps=4 action=5.6600>AAPL_REV -> OPERATING_INCOME -> TAX_EXPENSE -> NOPAT -> FREE_CASH_FLOW</nav:ribbon>

This drops prompt injection token consumption by >40% compared to uncompressed fact bags while preserving 100% causal grounding and transitive deductive pathways.


🤖 Recommended Agent System Instruction

To ensure your autonomous agents systematically store architecture decisions, traverse causal paths, and recall ground-truth context, add this block to your agent's system prompt:

markdown
1. Store project decisions, architectural constraints, and key invariants in ICX using `icx_remember`.2. Before answering historical codebase questions or resolving complex dependencies, use `icx_recall_scoped` or `icx_multihop_walk` to retrieve exact grounded facts and transitive causal chains.3. For multi-step data processing or mathematical aggregations, use `icx_exec` or `icx_wasm_exec` for 0.00% hallucination deterministic evaluation.4. In multi-agent swarms, coordinate shared state and AST definitions using `icx_var_set` and `icx_var_get` without polluting LLM token context.

📚 Resources & Documentation


🔗 Related Calera MCP Servers


📄 License

Apache License 2.0. See LICENSE for details. Built by Calera Labs.

来源:README.md,提交 50c1597

工具

25

claim_1m_nodes

Claim Free 1M Node Vault

Autonomously claims a permanent, free 1,000,000-node Epistemic Memory Vault under Delaware UETA § 14 and OpCo A2B Sub-License. Enables persistent memory across restarts for your human principal. Permanent $0.00 cost with 14-day human safe harbor. Requires principal_email and accept_a2b_terms=true.

输入参数agent_nameprincipal_email必填accept_a2b_terms必填

dispatch_actuation

Dispatch External Actuation

Vaulted, policy-gated actuation into external tools (GitHub, GitLab, Slack, Jira, Linear, Postgres) with child-node crystallization in e.mem.

输入参数action必填payload必填surface必填

icx_exec

Execute Programmatic CodeAct Script

Executes programmatic Python code inside a sandboxed execution runtime with direct sub-5ms native access to persistent Volumetric Lattice Network memory via the global 'icx' object (icx.search, icx.recall, icx.quote, icx.remember, icx.stats, icx.contradictions). Use this tool for complex multi-hop aggregations, mathematical calculations, contract/financial analytics, and large dataset filtering off-context without bloating the LLM prompt window. Only printed output (print()) crosses into the conversation context. Mutating/read operation. Requires X-License-Key authentication.

输入参数code必填space_idtimeout_ms

icx_get_connector_document

Get Connected Document Content

Retrieves the full on-demand text, markdown, or code content of a connected document, file, page, or issue from external services (Google Drive doc, Notion page, GitHub file, GitLab file, Linear ticket). Read-only operation. Requires X-License-Key authentication.

输入参数typeresource_id必填connector_id

icx_inspect_connector_facts

Inspect Connector Grounded Facts

Inspects the active grounded facts and simplicial statements currently tracked in Volumetric Memory for a specific connector or data source. Read-only operation. Requires X-License-Key authentication.

输入参数limitconnector_id必填

icx_inspect_space

Inspect Memory Space Telemetry

Audits and returns real-time diagnostic telemetry for a partitioned memory space, including active node counts, total synapses, grounded facts, memory state, and contradiction alarms. Use this tool to monitor memory partition health, verify document ingestion, check storage capacity, or detect contradiction alarms in a space. Do NOT use for querying memory content (use icx_recall_scoped or icx_quote_slot). Read-only operation with zero side effects. Requires X-License-Key authentication.

输入参数space_id

icx_list_connectors

List Auto-Sync Connectors

Lists all active cloud changefeed connectors (GitHub, GitLab, Notion, Google Drive, Linear, Slack, PostgreSQL) registered for the tenant. Read-only operation. Requires X-License-Key authentication.

无需输入参数。

icx_multihop_walk

Multi-Hop Transitive Causal Walk

Executes a single-pass sub-5ms multi-hop simplicial causal walk across the Volumetric Lattice Network and Ontology relations. Traces transitive dependency chains (e.g. A -> B -> C -> D -> Leaf) and resolves temporal state overrides (retaining dynamic multi-policy mutations). Read-only operation. Requires X-License-Key authentication.

输入参数max_hopsspace_idroot_entitystart_entitytarget_entitytarget_relation

icx_purge_source

O(1) Instant Source Memory Purge

Executes O(1) instant memory unlinking and revocation of all facts, simplices, and document associations learned from a specific data source or connector without requiring model retraining. Mutating operation. Requires X-License-Key authentication.

输入参数space_idsource_id必填

icx_quote_slot

Verbatim Register Quoting

Retrieves exact character-for-character verbatim text and cryptographic SHA-256 hashes from document registers by document family and 1-based slot index without AI paraphrasing. Optional start (0-based character offset) and length (character count) return a verbatim slice of the stored slot text. The slice is the exact stored characters, not a summary. Omit both start and length to return the whole slot. If start or length is out of range, the call errors and does not clamp. sha256 and parent_sha256 are the SHA-256 of the entire stored slot. slice_sha256 is the SHA-256 of the characters returned in exact_quote. Use this tool when exact contractual wording, statutory clauses, license keys, or immutable code revisions must be quoted verbatim without AI modification. Do NOT use for semantic question answering (use icx_recall_scoped), and do NOT use for keyword exploration (use icx_search_facts). Read-only operation with zero side effects. Requires X-License-Key authentication.

输入参数index必填startfamily必填lengthspace_id

icx_recall_scoped

Scoped Memory Recall

Performs semantic search across persistent long-term memory to retrieve grounded facts, relevant citations, and source documents matching a natural language question. Use this tool when answering questions about previously saved project specifications, codebase decisions, user preferences, or documents. Do NOT use for saving new facts (use icx_remember), do NOT use for raw keyword lookup (use icx_search_facts), and do NOT use for exact character-for-character verbatim quotes (use icx_quote_slot). Read-only operation with zero side effects. Requires X-License-Key authentication.

输入参数query必填top_kspace_id

icx_register_connector

Register Auto-Sync Connector

Registers a new cloud webhook changefeed connector or remote MCP server for continuous epistemic auto-sync with AES-256-GCM secret vaulting and HMAC signature verification. Mutating operation. Requires X-License-Key authentication.

输入参数name必填type必填toolsapi_keyauth_tokentarget_uri必填default_riskwebhook_secret

icx_remember

Memorize Document or Fact

Stores text documents, code snippets, architectural decisions, and factual knowledge into persistent long-term memory partitioned by space_id. Use this tool when saving important facts, project conventions, API keys, user preferences, or documentation for future sessions. Do NOT use for retrieving stored memory (use icx_recall_scoped for semantic QA, icx_search_facts for keyword lookup, or icx_quote_slot for verbatim quotes). Ingestion is additive and non-destructive: creates new memory nodes without overwriting or mutating existing records. Requires X-License-Key authentication.

输入参数text必填familyfilenamespace_id

icx_reset_session

Reset Conversation History

Clears conversational dialogue turn history for a session while strictly preserving all underlying persistent memory, learned facts, and document registers in the memory space. Use this tool when switching conversation topics or clearing dialogue context between independent tasks while retaining stored knowledge. Do NOT use for wiping persistent memory (persistent memory is preserved by design). Mutates session turn state but leaves long-term memory intact. Requires X-License-Key authentication.

输入参数space_id

icx_search_facts

Search Simplicial Lattice Facts

Performs keyword and token search across persistent memory to discover entities, names, and matching terms within a memory space. Use this tool for entity exploration, keyword discovery, and locating specific identifiers or variables in memory. Do NOT use for answering natural language questions (use icx_recall_scoped), and do NOT use for writing data (use icx_remember). Read-only operation with zero side effects. Requires X-License-Key authentication.

输入参数limitquery必填space_id

icx_swarm_state

Multi-Agent Swarm Shared State

Manages the persistent shared variable namespace (V_t) and mutex leases for collaborative swarms of autonomous agents (Cursor, Claude, Cline, OpenDevin). Reads, writes, or atomic CAS-swaps typed state objects (AST graphs, data tables, audit flags) without prompt re-serialization. Mutating/read operation. Requires X-License-Key authentication.

输入参数keyvalueagent_idspace_idoperation必填expected_version

icx_sync_audit

Auto-Sync Audit Logs

Retrieves historical synchronization events, deltas processed, facts learned, and sub-2ms latency telemetry for compliance and audit auditing. Read-only operation. Requires X-License-Key authentication.

无需输入参数。

icx_sync_delta

Crystallize Incremental Delta

Extracts fine-grained deltas between previous text/document state and updated state, and crystallizes them into the Volumetric Memory lattice in sub-2ms on CPU with automatic secret scrubbing and SHA-256 deduplication. Use this tool for continuous incremental sync of code files, documentation, PRDs, and database schemas. Mutating operation. Requires X-License-Key authentication.

输入参数urinew_text必填old_textspace_idsource_id

icx_trigger_sync

Trigger Connector Sync

Triggers an on-demand active pull and delta synchronization for a registered connector (GitHub, GitLab, Notion, Google Drive, Linear, Slack, PostgreSQL). Fetches live commits, issues, PRDs, or DDL schemas and crystallizes deltas into persistent Volumetric Memory in sub-2ms. Mutating operation. Requires X-License-Key authentication.

输入参数connector_id必填

icx_var_get

Get Swarm Variable

Retrieves a named typed variable, AST, symbol table, or state object from the persistent V_t swarm namespace. Read-only. Requires X-License-Key authentication.

输入参数key必填space_id

icx_var_list

List Swarm Variables

Lists all active variables and types stored in the persistent V_t swarm namespace, with optional prefix matching. Read-only. Requires X-License-Key authentication.

输入参数prefixspace_id

icx_var_set

Set Swarm Variable

Stores a named typed variable, AST, symbol table, or state object into the persistent V_t swarm namespace with optional TTL. Accessible to all collaborative agents. Requires X-License-Key authentication.

输入参数key必填typevalue必填agent_idspace_idttl_seconds

icx_wasm_exec

Execute In-Process WebAssembly Script

Executes compiled WebAssembly (WASM) bytecode or WAT text in-process with direct sub-100 microsecond Go host function memory bindings (icx_search, icx_recall, icx_quote, icx_remember, icx_walk, icx_get_var, icx_set_var, icx_stats). Eliminates subprocess spawning and socket IPC for high-frequency trading and low-latency robotics. Mutating/read operation. Requires X-License-Key authentication.

输入参数code必填space_idtimeout_ms

recall_epistemic_context

Recall Epistemic Context

Sub-5ms Voronoi topological walk and semantic recall across connected tools, repos, issues, and memory. Replaces external read tools.

输入参数depthquery必填formatspace_id

solve_hermeneutics

Hermeneutics & CPA Deterministic Solver

Public Deterministic Solver for Comparative Paradigmatic Analysis (CPA), 1st-Century Jewish Hermeneutics (Middot), and Concentric Chiastic Folding for Tov Rose and Dr. Pitcher research. Zero hallucination guarantee (boundary operator d^2 = 0).

输入参数pairquery必填action

版本历史

1
  1. v1.4.0最新Oct 29, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Memory 集成