Which channel does this customer prefer?
CRM sync and support both report it. The next agent reads one accepted value and the source behind it.
Managed database for applications and AI agents
Support, sales and billing agents all read and update the same customer record. When a fact changes, every agent sees the new value, and you can see who changed it, when, and what it was before.
CRM sync · 10:32 UTC“New customer: they are based in Berlin.”
Added to the record.
Six updates from four agents, with the answer ConceptMem actually gives each one.
Connect from the MCP clients your team already uses, or call the REST API.
01 / Why a record
Chat history and retrieved passages keep every version of a fact side by side, so the agent has to work out which one still holds. ConceptMem keeps one accepted value per field and moves the rest into history.
Customer 1042 is based in Berlin, Germany. Growth plan, renewal in Q4.
similarity 0.82“We moved the office to Lisbon last month, can you update our account?”
similarity 0.79Berlin HQ, follow up on the growth plan next week.
similarity 0.77Berlin or Lisbon? Nothing in the result says which still holds.
customer:crm_1042cityLisboncurrent · Support · 11:45 UTC · confidence 0.97memory_get returns Lisbon, who said so, and when Berlin stopped holding.
| Chat history and memory notes | Document retrieval (RAG) | ConceptMem | |
|---|---|---|---|
| Ask what is true now | Replays the conversation; the model works out the latest value. | Returns the most similar passages, old and new alike. | Returns the accepted current value. |
| A value changes | The new message sits beside the old one. | A new chunk is indexed; the old one still matches. | The new value supersedes the old one, which stays in history. |
| Several agents work on it | Each conversation or notes file keeps its own copy. | Agents share an index, not a current value. | Every authorized agent reads and proposes updates to the same record. |
| Where a value came from | Somewhere in the transcript. | The source document, if you stored it with the chunk. | Source, actor, confidence and time on every change. |
| What may be written | Whatever the model writes down. | Whatever you index. | Your types, fields and policies decide. Refusals are reported. |
| Passages from long documents | Only what was pasted into the conversation. | What it is built for. | Not offered. Use ConceptMem beside your document retrieval. |
02 / How it works
Give every writer the same entity types, fields, and relationships. Choose the constraints that govern incoming updates.
citystring · singleplanstarter · growth · scaleowner→ PersonReconcile proposed updates with existing facts. Keep repeated values unchanged and apply, reject, or review changes under your policy.
Query accepted facts for the next action. Follow relationships or inspect earlier values and their sources when you need more context.
memory_get('customer:crm_1042')03 / Connect
Hosted REST and MCP share one access key and one set of rules, so every proposed update is checked the same way whichever client sends it. The TypeScript SDK is in preview.
Sign up on the free plan and copy its access key.
Add the hosted endpoint to your MCP client, or call the REST API from your application.
Send one observation with its source. Check the receipt, then read the record and its history.
{
"mcpServers": {
"conceptmem": {
"url": "YOUR_WORKSPACE_MCP_ENDPOINT",
"headers": {
"Authorization": "Bearer YOUR_WORKSPACE_KEY"
}
}
}
}Use your workspace endpoint and access key from Connections. The MCP guide walks through proposing an update, reading the accepted record, and inspecting its history.
Read the MCP guide04 / Built for B2B SaaS teams
Pick the workflow where two systems or teams keep updating the same fields. Map those fields once, and support and operations read the same accepted record.
CRM sync and support both report it. The next agent reads one accepted value and the source behind it.
Support resolves it, operations reads it. A reopened case supersedes the resolved status, and both stay in history.
A handoff from sales lands as a dated, sourced change, so the next agent never has to guess.
05 / Built like a database
Agent memory is usually a notes file or a vector index. ConceptMem is a managed database: writes are checked, ordered and receipted, and no value is overwritten in place.
A change supersedes the earlier value instead of sitting beside it. A field holds several values only when you declare it.
Source, actor, confidence and time are required on each mutation and kept in the changelog.
Each result lists what was applied, skipped, refused or held for review. There is no silent write.
Concurrent agents cannot interleave half-applied changes. Each observation commits in order with its own receipt.
Every plan carries an idempotency key. A retry resumes at the observation that failed instead of replaying confirmed ones.
Export current records with their evidence at any time, as JSON or markdown. An export is a view; the record stays yours.
06 / Pricing
Every plan includes governed writes, current-state reads, history, provenance, review and export. Plans differ in operations, storage and databases, with no automatic overage charges.
Compare plansGood questions
Where ConceptMem fits, how updates work, and how to get started.
ConceptMem is a managed ontological database for applications and AI agents. It checks proposed updates against your model and policies, consolidates them into current records, and preserves the history and provenance of changes.
A conversation log tells you what was said. ConceptMem gives you the accepted current record for a customer, project, or case. When a value changes, the earlier value stays in history and the mutation records its source.
ConceptMem offers exact lookup, text search over current entities and facts, and traversal of typed relationships. It does not offer vector search. Use it alongside document retrieval when your agent also needs passages from source material.
Yes. Authorized agents in a workspace can query the same current records and propose updates under the same rules. Use stable entity references so each agent writes about the same customer, project, or case.
Start with one entity type and a few useful fields, or explicitly apply the starter vocabulary. Open classes allow undeclared fields. Choose strict classes or enforce individual fields when you need stronger constraints.
By default, an accepted update to a single-value field replaces the current value and preserves the earlier one in history. You can configure confidence-weighted decisions, rejection, or review. Write results show what was applied, skipped, or flagged.
ConceptMem maintains the state accepted under your configured rules and received observations. It preserves the evidence behind changes; source quality and reported confidence remain your integration’s responsibility.
No. Your application or agent can submit structured observations for deterministic consolidation. Hosted AI is used when the requested feature or configured policy calls for it, such as text extraction, synthesis, or assisted conflict decisions.
Yes. Export current records with their evidence from the console, the REST API or the memory_export tool, as JSON or markdown. An export is a derived view: editing it does not change the record, and a correction goes back through a proposed update.
Additional data operations pause until the next UTC month or an upgrade. There are no automatic overage charges, your data is preserved, and export remains available. An upgrade raises the allowance without resetting usage.
Create a workspace access key and connect through the hosted MCP endpoint or REST API. The Connections page and integration guides show the setup. The TypeScript SDK and public types are in preview; public npm publication is pending.
Start with one shared record
Create a database on the free plan, connect an agent over MCP or REST, and propose your first update.