Skip to content
Contextely
New: a memory graph, and teams to share it with

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.

contextely.com/app

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?

asking as

3 considered · 3 returned · 0 withheld

  • Acme Industrial: renewal terms

    refreshed

    Renews 2027-01-31 at $48,000 a year, on a 14 month term.

  • Engineering compensation bands

    fresh
  • Q3 churn commitments to Acme

    fresh

Illustrative data. Switch the asker to watch entitlement applied inside the ranking.

Why 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 a fact in one call
# 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.

absent answers not_foundunentitled answers not_foundscored before any refresh
src/lib/retrieval/score.ts
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.

memory object
requires salesfresh
01

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.

02

related memory

  • Q3 churn commitments to Acme

    0.78
  • Support SLA by plan tier

    0.41
03

where the full record lives

source
crm_postgres
ref
accounts/acme-industrial
cite
crm.internal/accounts/acme

Illustrative object. Real shape, invented company.

01

The fact, condensed

What is true right now, in a few lines. This goes into the prompt, not forty chunks of a document.

02

Links to related memory

Shared entities make an edge, so an agent that finds one memory walks to its neighbours rather than searching again.

03

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.

Two connectors reach all of it: any MCP server, and a read-only SQL query.
01

Point it at what you have

A read-only SQL query, or any MCP server. Two connectors reach everything.

02

It condenses and links

Each record becomes one memory object with edges to its neighbours.

03

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.

a key resolves to a personnever to the workspace

Generated from the same catalogue: OpenAPI 3.1 · llms.txt

Claude, Cursor, Zed, your own agent
{
  "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.

approving is not a toolevery refusal is a row
1

The log row is claimed first

Before entitlement, before arguments, before anything can say no. The insert is the lock.

2

Then entitlement, then the arguments

A read grant never implies a write one.

3

Then the hold, if you asked for one

Performed from the arguments as they were sent, sealed, never from the redacted audit copy.

4

Entitlement again, right before the effect

Approval can sit for a day, and a person's scopes can change inside it.

5

Charged last, so a refusal is free

Nothing is metered until the moment before the write leaves.

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
Start

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
Start

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.