Give every agent your company’s memory. Give every team control of it.
Connect what your company knows, let agents keep what they learn, and decide who can read what before anything is ranked.
500 retrievals a month, free. Self-hosting has no limits and no licence check.
Interactive demo: the Contextely retrieval console. Switch the asker below to see a memory object sealed into a withheld state when they are not entitled to it. Illustrative data.
what are we committed to on the Acme renewal?
3 considered · 3 returned · 0 withheld
Acme Industrial: renewal terms
refreshedRenews 2027-01-31 at $48,000 a year, on a 14 month term.
Engineering compensation bands
freshQ3 churn commitments to Acme
fresh
Illustrative data. Switch the asker to watch entitlement applied inside the ranking.
Customers trust Contextely
GradeHackJob13JobPlumbLearnawayLedgerageLedgeraryLedgerler
LedgeurLikeWardLugbirdMealaryMeteraryModelCharterPatent77PatientaryPermitBirdPortRobinRenewBirdRotaBayScouternScreen100SourceorySpend7TableHelmThreadCampTrial0UnderhausVouchityWageCoach
WatermarkRemoverProWhy this exists
Three things go wrong when a company turns AI on
Each one is a different problem, and a memory layer that only solves the first is the one most companies have already bought.
01 Connected
Knowledge is scattered
The answer lives in a database, a ticket and somebody's Claude session, so a colleague redoes work that was already done last week.
Two connectors reach everything: any MCP server, or a read-only SQL query.
02 Remembered
What agents learn is thrown away
An agent works something out on Monday and starts from nothing on Tuesday, paying for the same tokens to reach the same answer.
It keeps what it learned, with the source attached and a date on it.
03 Governed
Access is all or nothing
Turning AI on across a company usually means every agent can read everything, which is why most of them are still turned on for one team.
Per person, per team, per memory. Anyone you did not share with is multiplied by zero.
# store it
curl -s https://www.contextely.com/api/v1/memory \
-H "Authorization: Bearer ctx_sk_..." \
-H "Content-Type: application/json" \
-d '{"text":"Northwind asked for net-60 terms. Priya is handling it."}'
# find it
curl -s https://www.contextely.com/api/v1/search \
-H "Authorization: Bearer ctx_sk_..." \
-H "Content-Type: application/json" \
-d '{"query":"northwind payment terms"}'The boundary
Entitlement is a factor, not a filter
An object the asker may not see scores exactly zero and leaves with the irrelevant ones. Nothing downstream ever holds it.
const entitlementFactor = entitled ? 1 : 0; const score = relevance * (1 - W + W * freshness) * entitlementFactor; // 0 never ranks
The unit
What a memory holds
A fact, its neighbours, and the address of the original. Three small objects, not forty documents.
Acme Industrial: renewal terms
Renews 2027-01-31 at $48,000/yr on the Growth plan. Owner Priya Raman. Negotiating a 14 month term for a 6% uplift.
related memory
Q3 churn commitments to Acme
0.78Support SLA by plan tier
0.41
where the full record lives
- source
- crm_postgres
- ref
- accounts/acme-industrial
- cite
- crm.internal/accounts/acme
Illustrative object. Real shape, invented company.
The fact, condensed
What is true right now, in a few lines. This goes into the prompt, not forty chunks of a document.
Links to related memory
Shared entities make an edge, so an agent that finds one memory walks to its neighbours rather than searching again.
The address of the original
When the summary is not enough, one call returns the whole current record over the same connector.
Step three
Four sources and four AI tools is sixteen integrations
Contextely makes it eight. Connect each side once, and only the layer in the middle knows about both.
Point it at what you have
A read-only SQL query, or any MCP server. Two connectors reach everything.
It condenses and links
Each record becomes one memory object with edges to its neighbours.
It stays current
Every object carries the TTL its source sets, and re-fetches past it.
Every way in
One pipeline, three doors
An agent, a backend service and a person in a terminal run the same retrieval and get the same labels on it.
Generated from the same catalogue: OpenAPI 3.1 · llms.txt
{
"mcpServers": {
"contextely": {
"url": "https://www.contextely.com/api/mcp",
"headers": { "Authorization": "Bearer ctx_sk_..." }
}
}
}Reads are half of it
Agents write to your systems too
Every tool your MCP servers expose goes behind the same entitlement your reads already run through.
The log row is claimed first
Before entitlement, before arguments, before anything can say no. The insert is the lock.
Then entitlement, then the arguments
A read grant never implies a write one.
Then the hold, if you asked for one
Performed from the arguments as they were sent, sealed, never from the redacted audit copy.
Entitlement again, right before the effect
Approval can sit for a day, and a person's scopes can change inside it.
Charged last, so a refusal is free
Nothing is metered until the moment before the write leaves.
Memory objects
4 of 100Acme Industrial: renewal terms
fetched 4s ago
Q3 churn commitments to Acme
fetched 3m ago
Support SLA by plan tier
fetched 2h ago
Northwind pricing sheet v4
fetched 1h 12m ago
One object is past its TTL. The next query that selects it re-reads the record before answering.
Never silently stale
Every memory knows how long it may be believed
A query that selects an object past its window re-fetches the record and serves the current truth before answering.
When it cannot, the answer says stale_refresh_failed rather than a confident timestamp.
Pricing
Priced on what costs us money
Not on your headcount. Free is a real tier, and self-hosting has no limits at all.
Free
$0/mo
Enough to store real memory, scope it to real people, and prove the whole shape works.
- 100 memory objects, stored directly or condensed from a source
- Scope any memory so only the people you name can retrieve it
- 1 connected system of record
- 500 retrievals / month across app, API and MCP
- 250 staleness refreshes / month
- Entitlement enforced at retrieval time, by role
- Full MCP server and REST API access
- Self-host it yourself with no limits at all
Contextely Pro
from$20/mo
Starts at $20 a month and grows only as you use it: production volume, near-real-time freshness, and per-scope entitlement.
- $20 a month includes 10,000 retrievals, 10,000 staleness refreshes and 2,000 actions
- Past that you keep going and pay for what you use: $1.20 per 1,000 retrievals, $12.50 per 1,000 refreshes, $2.00 per 1,000 actions
- 10 connected systems of record
- 5,000 condensed memory objects
- TTLs down to 60 seconds for near-real-time working memory
- Per-scope entitlement grants, not just roles
- Retrieval audit log: every query, every entitlement refusal
- 25 products in one account, sharing memory and connections by consent
- 100 members
What happens when you hit a limit is on the pricing page.
Store one memory. Scope it. Two calls.
No sales call, no pilot, no seat minimum.