MCP server that turns planning conversations into ordered feature plans
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"drafter-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# Planner API HTTP wrapper over the personal-stack planner. Two modes: **subscription** (the host's `claude` CLI thinks on a Claude subscription via `CLAUDE_CODE_OAUTH_TOKEN`, no API key) or **BYOK** (the caller sends `X-Anthropic-Key`). A public deployment locks every non-health endpoint behind a shared secret (`X-Planner-Token`). ## Endpoints - `GET /health` — liveness. Always open (Railway healthcheck). - `POST /plan` — `{conversation, person}` → ordered, LLM-labeled, personalized plan with `analytics.planId`. Auth: `X-Planner-Token` if `PLANNER_ACCESS_TOKEN` is set; LLM via the subscription (subscription mode) or `X-Anthropic-Key` (BYOK). - `POST /feedback` — `{person, plan_id, liked, comment?}` → records acceptance or dislike without changing weights. - `POST /correct` — `{person, plan_id?, corrected_plan? | corrected_order?, proposed_order?}` → tunes the layer preference immediately and banks decomposition ground truth. No key (offline). - `POST /analytics/event` — `{person, kind, payload}` → internal redirect events for `plan.delivered` and `invoker.redirect.disabled`. - `GET /analytics/{person}?limit=&kind=` — reads recent unified analytics events. Drop-off is `plan.delivered` with no later `feedback.*` for the same `planId`. - `GET /profile/{person}` — the person's current preference graph. No key. ## Run locally ``` pip install -r service/requirements-service.txt uvicorn service.app:app --reload curl localhost:8000/health curl -X POST localhost:8000/plan -H 'X-Anthropic-Key: sk-ant-...' \ -H 'content-type: application/json' \ -d '{"conversation":"...","person":"edbert"}' ``` ## Deploy (Railway, subscription mode, key-free) The API runs on **Railway** at `api.invoker-control.dev` from `service/Dockerfile`, which bakes in the `claude` CLI. The static landing page is a separate repo on **Vercel** at `invoker-control.dev` (serverless is a poor fit for `/plan` — it makes many sequential LLM calls and exceeds function time limits). R…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.