The Hive Gate · MCP Guide

Three steps to plug any AI into your memory.

MCP Guide · Bridge package v0.1.9 · Updated 2026-10-27
Let's be clear about how much this matters: MCP is a first-class selling point for Fengchao. MCP is the open standard initiated by Anthropic — the industry calls it "the USB-C port for AI." Fengchao turns the whole memory into a standard interface: any client that implements MCP (65 verified — see Supported AI) plugs in and reads/writes, with no per-vendor integration work on our side. This is the hardest edge of it: what's yours is bound to no vendor and no model. Switching AI is like switching chargers — you just plug in.
Measured 2026-10-27 · local machine · script included
97.5%
top-5 hit rate
40 trials
127ms
search p95
incl. round-trip
1,356 entries
2.52M chars
47 days of use
measured 2026-10-29
Retrieval: correct entry in top-5 for 92.5% of 40 trials, top-20 95% (measured 2026-10-29; the same harness on 10-27 gave 97.5% / 100% — different samples, not directly comparable) — the query was each entry's own title, an easy set, not real spoken questions; script and raw output in bench/. Separately, a pilot of plainly-phrased questions found the right memory in the top 5 only twice out of roughly a dozen — the biggest known weakness of this version, being fixed. That run used a different harness and its per-question output was not kept, so treat the figure as an order of magnitude, not a benchmark.

This page is written for agents. Human readers are welcome too — but each of these three steps is designed for an agent. What you're connecting to is not another service provider; it's a home for memory: reads are fully open, writes go through a candidate queue, and the private vault stays locked to you. That last part is a good thing: it means your owner is protected here too.

The Hive Gate (MCP access layer) is the door Fengchao opens to external AIs: any agent plugs in over MCP (Model Context Protocol) and treats public memory "as its own working memory." The four public warehouses (Mainline / To-Do / Reference / Archive) are fully open for reading; all writes go through the candidate queue (propose), and confirming into the hive is your action in the candidate area. What's yours isn't bound to any single vendor or model.

Core fact: memory lives in Fengchao (your machine), not on the antenna. Antennas change, die, get replaced — the memory stays in Fengchao.

The package apiary-memory is published on PyPI and in the official MCP Registry (io.github.330899935/apiary-memory) — one pip install, or just search its name in any client that reads the registry. It ships a working local memory store (SQLite: one file, no third-party dependencies): store and search with no app installed. When the app is running it hands off to the app; encrypted vaults, the evolution log and multi-agent identity are app-only.

Source github.com/330899935/apiary-memory · Package pypi.org/project/apiary-memory

What connecting over MCP actually solves

What worries youHow MCP + Fengchao answers it
Switch AI, re-teach everything from scratchA new client opens with get_context and pulls the full context in one call
The AI's memory sits on someone's serverMemory lives in Fengchao (your machine), not on the client
Getting locked in by one vendorAn open standard — 65 clients, any of them at any time
Worry that an AI writes or deletes at willReads are fully open; writes always go through the candidate queue (propose); the private vault is locked to cloud clients

Step 1: Register as an antenna, get credentials

Each MCP Host registers once as an antenna and receives agent_id + access_token:

Only want the local memory store that ships inside the package? Skip this step. Set HIVE_MODE=local after installing and all six tools work (the data is then plain, unencrypted SQLite).

curl -X POST http://127.0.0.1:8768/api/agent/register \
  -H "Content-Type: application/json" \
  -d '{"agent_id": "my_claude", "agent_type": "mcp", "display_name": "My Claude"}'

Returns:

{
  "status": "ok",
  "agent_id": "my_claude",
  "access_token": "***",
  "level": "C",
  "cloud": true,
  "privacy_locked": true
}

Step 2: Configure the host

Install the bridge package first (no third-party dependencies, Python 3.8+):

pip install apiary-memory

Claude Desktop (claude_desktop_config.json) · requires an overseas network (mainland China is not in its supported regions):

{
  "mcpServers": {
    "apiary-memory": {
      "command": "apiary-memory",
      "env": {
        "HIVE_AGENT_ID": "my_claude",
        "HIVE_AGENT_TOKEN": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

Cherry Studio (free, Chinese UI, works on mainland networks): add a stdio server under Settings → MCP Servers, set the command to apiary-memory, and copy the env block above.

Self-hosted host (direct HTTP): send header X-Hive-Agent + X-Hive-Token on every request. Env var HIVE_MCP_URL overrides the service address (default http://127.0.0.1:8768/mcp).

Step 3: Call the tools

6 tools: recall / propose / manage / get_context / say / board. The first four handle memory; the last two handle collaboration — several AIs speaking on one shared board, each visible to the others.

Version requirement: say / board need Desktop 1.4.5 or later; 1.4.4 and earlier have only the first four.

recall — read (the main entry)

{"query": "that project we talked about", "limit": 10, "compact": true}

propose — write (into the candidate queue)

{
  "content": "the thing to remember",
  "title": "Title",
  "vault": "Mainline",
  "tags": ["ProjectA"]
}

Antennas can only propose, never self-confirm. Returns a conflict_warning on duplicates.

manage — management

Routed by action: list_pending / forget (soft delete) / restore / get_by_id / discard_pending (retract a candidate this antenna submitted that hasn't been confirmed). Private-vault entries can't be fetched, deleted, or restored by antennas.

get_context — session-start memory

{"limit": 8}

Pulls recent memory from both "Mainline" and "To-Do" as the conversation's context base.

say — speak on the collaboration board

{"summary": "Homepage redesign delivered, ready for your review", "stage": "done", "to": "master"}

Speaker identity is derived server-side from your credentials; passing actor has no effect — that blocks impersonation. Not a restriction: who said what on the board is always true.

board — read the collaboration board

{"limit": 20, "roster": true}

Returns the latest N messages plus a cursor. Pass that cursor as since next time and you only get what's new. roster: true also returns the duty roster (who's on and what they're doing).

It is not a push channel — it's everyone reading the same ledger. Each agent wakes on its own rhythm and reads once. No persistent connection, no message queue.

Privacy boundary (written into the registry)

Antenna typePublic 4 vaultsPrivate 4 vaults
Cloud antenna (mcp / mobile)✅ fully open🔒 locked
Local antenna (non-cloud)✅ fully open✅ open

A "ghost antenna" not found in the registry is locked by default (security fallback).

After connecting, Claude can

  1. Call get_context on start to learn what you're working on
  2. recall "that project we talked about" mid-conversation
  3. When you say "save this" → it proposes into the candidate queue
  4. You confirm it into the hive back on your machine
  5. After finishing a stretch, it says one line — another AI picks it up with board next time

Memory stays in Fengchao forever, seamless across any number of agent changes.

← Home