Self-hosted Cloudflare Worker remote backend for context-keeper (D1, streamable-HTTP).
Self-hosted Cloudflare Worker remote backend for context-keeper (D1, streamable-HTTP). Exposed over MCP by the context keeper (remote) mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.
A remote MCP server on Cloudflare Workers that exposes context-keeper's rationale store (decisions, pipelines, constraints) over Streamable HTTP. It works as a claude.ai custom connector, including on mobile, so your project's decisions and constraints are available from any Claude session — no PC left running, no tunnel.
npm on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Everything the assistant can do here goes through one of these:
config — Read or write config: op='get' reads a key, op='set' writes it (value required). Use key default_project (global scope, no project) to pick therecord_entry — Unified write: record a decision, constraint, or pipeline. Required field depends on kind — decision needs summary, constraint needs rule, pipelinerecord_decision — Deprecated alias for record_entry(kind='decision'): summary, problem, why_chosen, what_we_tried, tradeoffs, tagsrecord_constraint — Deprecated alias for record_entry(kind='constraint'): a rule that must hold — rule, reason, tagsrecord_pipeline — Deprecated alias for record_entry(kind='pipeline'): a reusable process — name, purpose, steps (extra fields kept verbatim)get_context — Relevance-ranked retrieval for a query (keyword scoring; excludes deprecated unless include_deprecated)query_entries — Structured filters: id, kind, tags (all must match), status (active/deprecated/all), free text, and limitget_project_summary — One-call orientation: entry counts by kind and status, the ids present, the active constraints (compact), and the most recent decisionslist_projects — The org registry: every project with entries, plus per-project active counts (decisions/constraints/pipelines), active/deprecated totals, andupdate_entry — Merge patch fields into an entry's payload; optionally change statusdeprecate_entry — Mark deprecated, optionally linking superseded_byreload_constraints — Compact list of the active constraintsYou will need 4 environment variables: AUTH_TOKEN, CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, WORKER_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Plenty of cloud and infrastructure servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Context Keeper (Remote)'s toolset — config, record_entry, record_decision and 11 more — is a fair guide to whether it matches your workflow. It is maintained by jarmstrong158; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| config | Read or write config: op='get' reads a key, op='set' writes it (value required). Use key default_project (global scope, no project) to pick the project used when a call omits project. |
| record_entry | Unified write: record a decision, constraint, or pipeline. Required field depends on kind — decision needs summary, constraint needs rule, pipeline needs name. |
| record_decision | **Deprecated** alias for record_entry(kind='decision'): summary, problem, why_chosen, what_we_tried, tradeoffs, tags. |
| record_constraint | **Deprecated** alias for record_entry(kind='constraint'): a rule that must hold — rule, reason, tags. |
| record_pipeline | **Deprecated** alias for record_entry(kind='pipeline'): a reusable process — name, purpose, steps (extra fields kept verbatim). |
| get_context | Relevance-ranked retrieval for a query (keyword scoring; excludes deprecated unless include_deprecated). |
| query_entries | Structured filters: id, kind, tags (all must match), status (active/deprecated/all), free text, and limit. |
| get_project_summary | One-call orientation: entry counts by kind and status, the ids present, the active constraints (compact), and the most recent decisions. |
| list_projects | The org registry: every project with entries, plus per-project active counts (decisions/constraints/pipelines), active/deprecated totals, and last-updated time. Enumerates the whole org in one call — discover exact, case |
| update_entry | Merge patch fields into an entry's payload; optionally change status. |
| deprecate_entry | Mark deprecated, optionally linking superseded_by. |
| reload_constraints | Compact list of the active constraints. |
| prune_stale | Delete old deprecated entries (**dry run by default**; pass dry_run=false). |
| verify_quality | Flag entries missing rationale-bearing fields. |
{
"mcpServers": {
"context-keeper-remote": {
"command": "npx",
"args": ["-y", "npm"],
"env": {
"AUTH_TOKEN": "your-value",
"CLOUDFLARE_API_TOKEN": "your-value",
"CLOUDFLARE_ACCOUNT_ID": "your-value",
"WORKER_URL": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| AUTH_TOKEN | Credential the server authenticates with. | Yes |
| CLOUDFLARE_API_TOKEN | Credential the server authenticates with. | Yes |
| CLOUDFLARE_ACCOUNT_ID | Configuration value read at startup. | Optional |
| WORKER_URL | Endpoint or connection string the server talks to. | Yes |
Manage your whole Supabase project in conversation — database, auth, storage, Edge Functions and branches.
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.
AWS Labs' official server suite — current AWS docs, CDK guidance, cost analysis and service tools.
Cloud browsers for AI agents — automation sessions that run in Browserbase's fleet, not on your machine.
Workers, KV, R2 and D1 by conversation — Cloudflare's official remote servers for building and observability.
Dashboards, Prometheus and Loki queries, incidents and alerts — observability by conversation.