Build agents that share memory without owning it.
Dijin gives AI agents a common, user-owned memory layer. Agents can recall approved context, verify claims with evidence, propose new memories, and leave final control to the user.
Dijin is the memory provider layer beneath AI tools. Your app connects through scopes, not raw credentials.
One endpoint. Every MCP client.
Point any Model Context Protocol client at Dijin. One endpoint, one namespace.
https://mcp.dijin.co/mcpAdd the endpoint to any MCP-compatible client. The user grants scopes over OAuth 2.1, and every answer returns evidence or a typed refusal.
OAuth 2.1
PKCE + Dynamic Client Registration. The user grants scopes when they connect. You never see their password, and they can revoke access any time.
mcp__dijin__*
Every tool lives under mcp__dijin__*. No split surfaces, no per-feature endpoints.
Hosted access is rolling out. Self-host and local dev are available today.
Lock B partner status
Every answer Dijin returns to a partner client is cryptographically signed. Below is which clients are at which Phase of the partner trust chain.
| Client | Vendor | Phase | Last verified | Transport |
|---|---|---|---|---|
| Claude Desktop | Anthropic | Phase 1, Signed Footer | MCP_SSE | |
| ChatGPT (Desktop) | OpenAI | Phase 1, Signed Footer | MCP_SSE | |
| Cursor | Anysphere | Phase 1, Signed Footer | MCP_SSE | |
| Zed | Zed Industries | Phase 1, Signed Footer | MCP_SSE | |
| Continue | Continue.dev | Phase 1, Signed Footer | MCP_SSE | |
| Gemini (CLI) | Pending | Not verified yet | MCP_SSE |
Partner clients are listed only after at least one successful evidence-bearing round-trip against mcp.dijin.co/mcp, no aspirational logos.
What your agent can ask
Read tools over MCP. Every result comes back with the evidence behind it, or a typed refusal.
Available now
searchMemoryRecall by meaning
Search everything the user has saved, by meaning and not just keywords.
listEntitiesPeople, projects, topics
List the entities Dijin has learned from the user's memory.
getDecisionsDecisions
What was decided, with the evidence and the date.
getConflictsConflicts
Where memory disagrees with itself, surfaced for review.
getAuditLogAudit log
Every AI access, logged in a hash-chain the user can verify.
whoamiIdentity
Confirms which account the agent is connected to.
Coming soon
getDailySummaryComing soonDaily digest
A grounded recap of any day.
getWeeklyReviewComing soonWeekly review
What stood out across the week, with sources.
Least privilege, by default
The user grants exactly what your agent needs. Sensitive scopes are Pro-gated and shown at consent. They're the same 8 canonical scopes you'll see in the trust center.
memory.summaryRead high-level summaries only.
memory.decisionsRead confirmed decisions and their rationale.
memory.entitiesRead people, projects, and things in your memory graph.
memory.evidenceRead the evidence pack behind an answer.
memory.conflictsRead where claims disagree or were superseded.
memory.auditRead the tamper-evident access log.
memory.raw_source.read 🔒ProRead raw source text. Highest-trust scope. Pro-gated, device-confirmed, and never granted by default.
memory.write 🔒Promemory.write proposes memory, corrections, or links. It never silently mutates the graph; proposals pass through the worker, policy checks, and review gates.
The dijin CLI
Connect, verify, and optionally attach code provenance, all from your terminal.
dijin connectAuthorize an AI client over OAuth 2.1.
dijin shadow --opt-inComing soonAttach signed code-decision provenance. Default OFF; you enable it per repo.
dijin verify <file.dmf>LiveCheck an Ed25519 signature offline, with no network and no account.
Connect in under a minute
Add the endpoint to your MCP client config, and with the user's consent, Dijin becomes a memory provider.
~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"Dijin": {
"url": "https://mcp.dijin.co/mcp"
}
}
}Rate limits & fair use
Calls are metered as Memory Processing against the user's plan. Read tools are generously limited; writes always go through the worker, never direct to the graph. No hidden quotas. Usage is visible in the app.
See the full reference →Why Dijin and not a vector database?
Open standard, not a black box
DMF is published, versioned, and portable. The user can switch AI tools without losing their memory.
Evidence on every answer
Each result links back to its source, so your agent can show its work or refuse when it can't.
The user stays in charge
Every connection is consent-based. Every access is logged. They can revoke at any time.
Agent Memory Interface
Dijin is more than a searchable memory store. It gives agents a governed interface for memory:
searchMemory()availableRecall by meaning across approved memory.
getEvidence()availableReturn the proof pack behind a claim.
getDecisions()availableFetch confirmed decisions and their rationale.
getConflicts()availableSurface contradictory or superseded claims.
getProjectState()availableResolve current project context for coding agents.
proposeMemory()proSuggest a new memory, correction, or link. Never writes directly.
requestScope()comingAsk the user for a new permission grant.
getAuditLog()availableShow what the agent accessed and when.
How agents share context through Dijin
Agent A proposes memory
Example: Cursor links a commit to a product decision.
Dijin checks the proposal
Scopes, evidence, source, confidence, and policy are evaluated.
Memory becomes reviewable
The user or authorized workflow confirms what should be remembered.
Agent B recalls it later
Claude or ChatGPT can retrieve the approved memory with evidence.
Agents never pass private memory directly to each other. Dijin is the governed memory layer between them.
MCP is the first connection surface, not the whole product.
Dijin Memory Core is the platform. MCP lets AI clients reach it. DMF makes memory portable. The permission engine controls access. The audit chain proves what happened.
Evidence Pack
Every grounded recall can include:
memory_idclaim_idsource typesource referenceevidence snippettimestampvalid timeconfidencescope usedrefusal reason when blockedaudit event id
Proposal Lifecycle
Agent proposes
The agent submits a proposed memory, correction, or link.
Dijin checks
Dijin checks scope, source, evidence, confidence, conflict, and policy.
Memory waits
The proposal is stored as pending memory or a reviewable correction.
User or policy confirms
Approved flows decide what becomes active.
Audit records it
The proposal, confirmation, and future recalls are logged.
Agent Memory Error Codes
Dijin is not a generic vector database. These typed responses tell agents exactly why recall failed.
NO_EVIDENCEDijin has no evidence-backed memory for the request.
POLICY_WITHHELDA relevant memory may exist, but the current agent does not have the required scope.
SCOPE_REQUIREDThe agent must request an additional scope before continuing.
RAW_SOURCE_BLOCKEDRaw source exists but raw source access is off by default or not granted.
CONFLICT_FOUNDDijin found contradictory memories and will not guess.
STALE_MEMORYThe memory exists but may be superseded or no longer current.
TRANSPORT_ERRORThe agent request failed before policy or recall could complete.
Build on a memory the user owns.
Open standard. Evidence-bound. Portable across every AI.