ONLINEserved here
zckr-lab
The lab itself as tools: projects, the agent and MCP registries, the infrastructure inventory, the graph joining them, notes, the stack, the monthly snapshot, ideas and search — read-only, over the same validated content the pages render.
- Transport
- HTTP
- Runtime
- Vercel serverless, Node 22
- Auth
- None. Everything it exposes is already public on the site, so a token would be theatre — and a public server that needs no credential is one an agent can actually try.
- Endpoint
https://zckr.dev/api/mcp- Project
- zckr-dev
CONNECT
Any MCP client that speaks Streamable HTTP. The configuration file differs per client and belongs to that client; the endpoint does not.
{
"mcpServers": {
"zckr": {
"type": "http",
"url": "https://zckr.dev/api/mcp"
}
}
}The bench fires six different Accept shapes at this endpoint and shows what each one gets back, because that handshake is the half of “will my tool connect” this origin can actually answer.
TOOLS · 13
- lab_list_projects
- Every project with slug, status, type and a one-line description. Filterable by status or type; the slug feeds lab_get_project.
- lab_get_project
- One project as markdown: problem, hypothesis, architecture, measured results, lessons, and cause of death when there is one.
- lab_list_notes
- Engineering notes and TILs with slugs, dates and summaries.
- lab_get_note
- The full markdown body of one note or TIL.
- lab_list_agents
- Every coding agent the lab runs, with model tier, tool-grant count and job. Derived from the definition files, so it is what the harness applies.
- lab_get_agent
- One agent in full: tool grants verbatim, context, memory, how it is evaluated, and the failure modes it is known for.
- lab_list_mcp_servers
- This registry as data, split by origin. Third-party rows carry no tool list, because that is not knowable from here.
- lab_list_systems
- The infrastructure inventory, architecture only — the content schema refuses addresses, hostnames, ports and credentials.
- lab_get_graph
- How everything connects. The whole node/edge document, or one node's neighbours by id.
- lab_get_stack
- The instrument list with reasons and adoption years, retired gear kept on the record, and the stance on how AI is actually used here.
- lab_get_currents
- The dated monthly snapshot: focus, what is being built, inputs, and current rabbit holes.
- lab_list_ideas
- The intake queue — things that might get built, each with the hypothesis that would make it worth it.
- lab_search
- Case-insensitive search across projects, notes and snapshots, returning the matching line in context.
Every tool here is read-only and annotated as such, so a client that honours readOnlyHint can call any of them without a confirmation prompt.
LESSONS · 3
- The SDK reads the spec's 'client MUST list both media types' literally and answers 406 to a wildcard or absent Accept, which is most real clients. lib/mcp-transport.ts exists entirely to survive that, and it is the single most load-bearing file on this surface.
- A tool description is a prompt, not documentation. Saying when to reach for a tool changed model behaviour more than any schema change did.
- The server also answers at /mcp because that is the path clients and scanners guess first — re-exported from the real route rather than reimplemented, so the two cannot drift.
CONNECTED · 5
SEE THE GRAPH- AGENTclaims-auditoris used by — Checks whether the site is still telling the truth about itself, across every surface that repeats a claim.
- AGENTdoubtis used by — Audits the implementation against its own claims, with no write access at all.
- AGENTscoutis used by — Reads the codebase before anything is written, and says out loud whether the premise is already stale.
- AGENTship-captainis used by — Runs the gate sequence, reconciles with upstream, ships, and then verifies the deployment rather than the build.
- PROJECTzckr.devbelongs to — This site. A monorepo engineering playground built so that spinning up a new experiment costs minutes, not evenings.