The memory and context engine for your agents.
Marrow Core
Most agents fail at company work because their context is out of date.
Core tracks how facts change across your email, documents and chat, flags where sources conflict, and serves each agent the current state alongside its provenance.
- For
- Developers building agents, and every team using Company Brain
- Sources
- Email, documents, chat, spreadsheets and your own systems
- Runs
- Hosted, customer cloud (VPC) or on-premises
- Interfaces
- The API, MCP, the SDKs and the CLI
Sources and facts
Core decomposes documents and messages into discrete, dated facts, so agents reason over sourced statements rather than raw text.
Traceable provenance: every extracted fact links directly to the passage it came from.
Context on request
Core assembles the exact context a task requires within the user’s permissions, and shows where each fact comes from and what it replaced.
Access boundaries hold firm: permissions are checked before retrieval, not after.
Continual learning
Core turns repeated corrections in completed work into reusable procedures for human review.
Tested before approval: each proposed procedure is benchmarked on held-out tasks first, and any approved change can be undone.
Hosting and export
Core runs hosted by Marrow, in your own cloud or on-premises, and you can export every fact, source and procedure at any time.
API, MCP and SDKs
Integrate Core through our hosted MCP server, typed TypeScript and Python SDKs, or directly via the REST API.
curl https://api.marrow.id/v1/ns/ops/search \
-H "Authorization: Bearer $MARROW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "When is the launch, and what has changed?",
"include": {"related": true}}'
{
"method": "tools/call",
"params": {
"name": "search",
"arguments": {
"namespace": "ops",
"query": "When is the launch, and what has changed?"
}
}
}
Connect Core in Claude, ChatGPT, Gemini CLI or Lovable.
import { Marrow } from "@marrowid/sdk";
const client = new Marrow({ apiKey: process.env.MARROW_API_KEY! });
const context = await client.search("ops", {
query: "When is the launch, and what has changed?",
include: { related: true },
});
import os
from marrow import Marrow
client = Marrow(api_key=os.environ["MARROW_API_KEY"])
context = client.search(
"ops",
query="When is the launch, and what has changed?",
include={"related": True})
Uniform interfaces: the same contract whether you connect through MCP, the SDKs, the CLI or the REST API.
