Bilinc

io.github.atakanelik34Published by GitHub account atakanelik34v2.6.2Updated Nov 6, 2026

Hosted agent memory with provenance, contradiction surfacing, and snapshot rollback.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryAI & ML

Overview

AI-generated overview

Bilinc is a hosted memory service for AI agents that lets an assistant save, recall, correct, version and roll back what agents learn.

What you can do
  • Save durable memories with their source and get back a version for safe updates
  • Recall earlier context and decisions, including time-window questions
  • Correct or retire existing memories, with a required reason for removal
  • Checkpoint the memory store, compare checkpoints and restore one after a bad run
  • Browse stored memories, view a memory's change history and confirm it is still accurate
  • Check workspace plan, capabilities, limits and usage
When to use it
Useful for long-running agents (coding, support, research, personal assistants) that should recall earlier decisions before risky actions, for tracing which run, tool or person wrote a piece of state, and for recovering from a bad run that wrote wrong state. Not needed if you only want semantic search over documents or a fully self-hosted memory layer.
Requirements
Either the remote endpoint at mcp.bilinc.space (OAuth sign-in, read-only or read-write) or the local Python package bilinc run with python, which needs Python and a saved login or the BILINC_API_KEY environment variable. Memory operations need an active Bilinc Cloud plan; the free plan requires no card. Network access to the hosted service.
Before you install
Writes, revisions, confirmations and rollbacks change stored state and may be billed; forget and rollback execute are destructive, and purge permanently removes content and history. The service is cloud-only, so memory content is sent to a third party. Saves containing credentials are refused, but keep API keys and memory values out of issues and screenshots.

Installation

In SourceWeft

  1. Open Bilinc in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.atakanelik34%2Fbilinc/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "bilinc": {
      "type": "http",
      "url": "https://mcp.bilinc.space/mcp"
    }
  }
}

README

[Bilinc: memory you can look back through. Hosted memory for AI agents.]

Bilinc

[PyPI] [Python] [License] [MCP] [Downloads]

Hosted memory for AI agents. Save what your agents learn, recall it before they act, see who wrote each memory and what changed, and roll back when a run goes wrong.

The bilinc package on PyPI is the Python SDK, the bilinc CLI and the stdio MCP adapter for Bilinc Cloud. Its source is ReARCLabs/bilinc; the hosted service is not part of the package.

Start in 60 seconds

Claude, ChatGPT or Codex, without Python. In Claude, open Customize → Connectors → Add custom connector, name it Bilinc and paste https://mcp.bilinc.space/mcp. Sign in and choose read-only or read and write. In Claude Code:

bash
claude mcp add --transport http --scope user bilinc https://mcp.bilinc.space/mcp

The same address works in ChatGPT and Codex: remote MCP guide.

Python, the CLI or any MCP client.

bash
pip install -U bilincbilinc login        # browser sign-in, free, no card requiredbilinc quicktest    # one hosted commit, one recall and a status check

bilinc login saves an API key for this computer with owner-only permissions; the key never appears in a URL or your terminal. Without a browser, use bilinc login --device. For CI and scripts, set BILINC_API_KEY.

Where Bilinc sits

[Claude, ChatGPT, Codex, Cursor and Python agents connect with a sign-in or an API key to one Bilinc Cloud workspace. Operations: commit, recall, revise, forget; snapshot, diff, rollback; list, history, export, confirm. Every memory keeps who wrote it, every version, why it changed and when it was last confirmed.]

Every write records where it came from and returns a version you can pass back, so a change is refused if the memory moved since you read it. Forget requires a reason and revise accepts one. In the remote connector, recall shows when each memory was last confirmed and marks entries past their review window as possibly outdated; nothing is hidden or deleted by that check.

Similar is not the same as current

[Search over saved text returns three similar answers to 'where do we deploy?' and cannot say which is current. Bilinc recall returns the key deploy.target with value production, who wrote it, why and when it was confirmed, with its history from v1 staging to v2 production.]

Use Bilinc when:

  • a long-running agent (coding, support, research, a personal assistant) needs earlier decisions before a risky action;
  • you need to know which run, tool or person wrote a piece of agent state;
  • a bad run wrote wrong state and you need a way back, not a manual cleanup;
  • several agents or teammates share one memory and you want per-key access and visible usage.

Reach for something else when you only need semantic search over documents (a vector database is the simpler tool), when you need an Apache-2.0, fully self-hosted runtime (this package is cloud-only and BUSL-1.1), or when you want the memory layer to also be your agent framework.

Python SDK

python
from bilinc import CloudClient
client = CloudClient()  # reads BILINC_API_KEY or the key saved by `bilinc login`
# Write, and keep the version for optimistic concurrency.written = client.commit("agent.goal", {"ship": "reliable memory"}, memory_type="semantic")results = client.recall("agent goal", limit=5)
# Correct something you already know. Fails if the key does not exist.client.revise("agent.goal", {"ship": "verifiable memory"},              reason="scope corrected", expected_version=written["entryVersion"])
# Checkpoint before risky work, then see what changed.snapshot = client.create_snapshot(label="before-autonomous-run")["snapshot"]client.diff(snapshot["id"])
# Recover. The preview is free; executing needs its token.preview = client.rollback_preview(snapshot["id"], reason="undo bad agent run")client.rollback(snapshot["id"], confirmation_token=preview["confirmationToken"],                reason="undo bad agent run")
# Review what is stored. Listing, history and export are free reads.for entry in client.iter_memories(prefix="agent."):    print(entry["key"], entry["updatedAt"])client.history("agent.goal")client.confirm("agent.goal")   # still accurate; costs one write
# Take a memory out of use. A reason is required and recorded.client.forget("agent.goal", reason="superseded by the planner service")

CLI

bash
bilinc status                          # plan, capabilities, limits, usagebilinc commit --key agent.goal --value '{"ship":"reliable memory"}'bilinc recall --query "agent goal"bilinc revise --key agent.goal --value '{"ship":"verifiable memory"}' --reason "scope corrected"bilinc list --prefix agent.            # keys, types, update times, value previewsbilinc history agent.goal              # recorded changes, newest firstbilinc snapshot create --label before-autonomous-runbilinc diff --from-snapshot snap_...bilinc export -o bilinc-export.json    # full values; the file is readable only by youbilinc forget --key agent.goal --reason "superseded by the planner service"

Rollback is two steps, and execute never prompts, so it is safe in automation:

bash
bilinc rollback preview --snapshot snap_... --reason "undo bad agent run"bilinc rollback execute --snapshot snap_... --reason "undo bad agent run" \  --confirmation-token <token-from-preview>

MCP adapter

The stdio adapter works with any MCP client: Claude Code, Codex, Cursor, Hermes Agent, opencode and others. After bilinc login, let the CLI write the setup:

bash
bilinc mcp install --client claude-code     # prints a ready `claude mcp add ...` commandbilinc mcp install --client claude-desktop  # prints the config and where Claude Desktop keeps itbilinc mcp install                          # plain mcpServers JSON for any other client

The config carries no key; the adapter reads the one bilinc login saved. On a machine without one, add "env": { "BILINC_API_KEY": "..." }.

ToolWhat it does
commit_memSave durable state with its source; returns a version.
recallFind earlier context and decisions before acting.
reviseCorrect an existing memory. It never creates one.
forgetTake a memory out of use. Destructive; a reason is required.
statusWorkspace, plan, capabilities, limits and usage. Never billed.
snapshotSave a checkpoint before risky work, or list checkpoints.
diffCompare a checkpoint with another one or with now.
rollbackRestore a checkpoint: a free preview, then a confirmed execute.
list_memoriesBrowse what is stored. Free.
historyOne memory's changes, newest first. Free.
confirmRecord that a memory is still accurate. One write.

The remote connector at https://mcp.bilinc.space/mcp has ten tools; a read-only connection lists only the four read tools. Client guides: Claude Code · Codex · Cursor · any MCP client.

Forget and purge

[Comparison of forget and forget --purge. Both stop recall and hide earlier values in memory history. After forget, saved checkpoints still contain the memory and the audit trail keeps each change. After purge, the memory is removed from every checkpoint and its values are removed from the audit trail; the key name and a fingerprint of each change stay. Encrypted backups keep earlier copies until they expire in both cases.]

Since 2.5.0: client.forget(key, reason=..., purge=True), bilinc forget --key ... --reason ... --purge, or "purge": true in the REST API also removes the memory's stored content from storage and history. It works on a memory you forgot earlier and cannot be undone. See the privacy policy for what is kept and for how long.

Hosted API

All endpoints live under https://bilinc.space. Memory operations need an API key and an active Bilinc Cloud plan; the free plan needs no card.

EndpointNotes
GET /api/cloud/healthPublic service health. No key, never billed.
GET /api/cloud/statusWhat one key can do. Never billed.
POST /api/cloud/memory/commit · recall · reviseWrite, read, correct.
POST /api/cloud/memory/forgetDestructive. Reason required; "purge": true also removes stored content.
GET · POST /api/cloud/memory/snapshotsList (free) or create checkpoints.
POST /api/cloud/memory/diffCompare checkpoints. Free.
POST /api/cloud/memory/rollback/previewFree. Returns a confirmation token.
POST /api/cloud/memory/rollbackDestructive. Requires that token.

Send an Idempotency-Key header on any write you might retry: the same key with the same payload replays the original result and is billed once; a different payload is refused with 409 idempotency_conflict. Saves that contain a credential, such as an API key, token or private key, are refused with secret_detected and the value is never echoed back.

What's new in 2.6.2

  • "What changed today?": recall answers time questions in English and Turkish ("since Monday", "dünkü kararlar", "son 3 günde") with the memories written in that window, newest first, in the project's time zone.
  • Less noise in time questions: sources such as raw chat transcripts can be left out of time answers unless you ask for chats.
  • Nothing else moves: queries without a time phrase are answered exactly as before.

Every release: changelog.

Links

Feedback and security

Questions, bugs and ideas: GitHub Issues. Report security issues privately to [email protected] (see security.txt). Please keep memory values, API keys and production logs out of issues and screenshots.

License

Business Source License 1.1, licensed by ReARC Labs Inc. See LICENSE.

Source: README.md at commit 70e1177

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

17
  1. v2.6.2LatestNov 6, 2026
  2. v2.6.1Nov 3, 2026
  3. v2.6.0Oct 22, 2026
  4. v2.5.0Oct 21, 2026
  5. v2.4.1Oct 19, 2026
  6. v2.4.0Oct 18, 2026
  7. v2.3.11Oct 16, 2026
  8. v2.3.9Oct 12, 2026
  9. v2.3.8Oct 9, 2026
  10. v2.3.7Oct 8, 2026
  11. v2.3.6Oct 7, 2026
  12. v2.3.5Oct 7, 2026
  13. v2.3.4Oct 6, 2026
  14. v2.3.2Oct 5, 2026
  15. v2.3.1Sep 28, 2026
  16. v2.3.0Sep 25, 2026
  17. v2.1.9Sep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.