BlueColumn gives AI agents persistent, searchable memory. Store anything (facts, decisions, preferences, promises, action items, transcripts), then recall it later with natural-language queries — with citations back to the source.
This is the agent-facing skill. It works with any assistant that can call HTTP APIs (OpenClaw, Claude Code, Cursor, or raw HTTP).
Get an API key at bluecolumn.ai/login. Create an account; onboarding auto-provisions your first bc_live_... key. Copy it from Dashboard → API Keys.
Store the key wherever your agent keeps secrets (env var, secret store, or a private local notes file). Never commit it to a public repo. Keys look like bc_live_... (32+ chars after the prefix).
Base URL: https://api.bluecolumn.ai
ActionEndpointStore memoryPOST /rememberQuery memoryPOST /recallQuick observationPOST /note
(Equivalent aliases also work: /agent-remember, /agent-recall, /agent-note.)
text
POST /recall
Content-Type: application/json
Authorization: Bearer <api-key>
Body:
json
{ "q": "What did the user decide about the billing design?" }
Returns: AI-synthesized answer with source citations (session ids, timestamps, relevance scores).
text
POST /remember
Content-Type: application/json
Authorization: Bearer <api-key>
Body:
json
{
"text": "Full raw content to store (transcript, doc, note...)",
"title": "Topic label, e.g. Meeting - Q3 planning - 2026-08-27"
}
Returns: session_id, chunk count, auto-extracted summary, action_items, key_topics.
text
POST /note
Authorization: Bearer <api-key>
Body:
json
{
"text": "User prefers concise replies with concrete next steps",
"tags": ["preference"]
}
Short vector note for preferences and quick observations (min 5 chars). Optional tags.
/remember takes text, not content/recall takes q, not query/note takes text, not noteAll calls are metered against the account's plan. Handle these status codes:
StatusMeaningAgent action401Invalid or missing keyRe-check the key is set and active.402Free tier exhausted / insufficient creditStop making billable calls and tell the user to top up at the URL in the response ( topup_url).429Plan quota reachedTell the user to upgrade at bluecolumn.ai/pricing.400Bad inputFix the body per the schema above and retry once.
Response envelope: { "error": { "code": "insufficient_credit", "message": "...", "topup_url": "..." }, "request_id": "..." }.
Free tier: 100 writes + 100 reads + 30 audio minutes/month. Pay-as-you-go beyond that. When you hit the limit mid-task, surface the upgrade URL to the user — do not silently retry or switch keys.
REMEMBER title="YouTube - <title> <date>" text=<full text>RECALL q="What are the key action items from the last planning session?"NOTE text="User confirmed: deploy on Fridays only after smoke tests pass" tags=["decision"]npx bluecolumn-mcp — github.com/bluecolumnconsulting-lgtm/bluecolumn-mcpbluecolumn-memory skill