The product
The whole discipline behind one MCP connection
Jackdaws runs as a hosted Model Context Protocol server: 91 tools that verify, grade, design, bridge, and eval Claude Skills, callable from claude.ai, Claude Code, or any MCP client you run. Subscription-gated, metered per user, and built so the generative work runs on your model, not a marked-up one.
What is behind the connection
Deterministic verifiers, generative agents
Layer 1 · verify
The numbered rules, as tools
Preflight, quality grading, hygiene, security posture, doc drift, subagent lint, and the rest of the read-only rule families. Each verifier accepts your skill’s files inline and returns findings that cite a rule id, never a mood. The same engine the toolkit runs against itself, with nothing to install locally.
Layer 2 · generate
Agents that do the authoring
design_skill_from_brief turns a paragraph into a typed design plan. bridge_skills wires hand-offs, generate_skill_evals drafts the eval suite, and optimize_description tightens trigger phrasing. Every output passes back through a deterministic validation gate before it counts as done.
The model question
Bring your own model
Generative tools resolve a model in three tiers, in order. The server never requires you to pay for someone else’s model markup to use the discipline.
- 01
Your client's model, via MCP sampling
Clients that advertise sampling (Claude Code, Claude Desktop, custom harnesses) run the generative agents on their own model. The server contributes the prompts and the rules; the model cost stays yours.
- 02
A server-held key, when provisioned
Operators can configure a server-side Anthropic key as a fallback for clients that cannot sample. Optional, and off by default.
- 03
A generation contract, everywhere else
With neither, the call returns the agent's system prompt, rendered user prompt, and output schema for your own model to execute in-conversation, closed by the deterministic validate_layer2_output gate. Layer 2 is never unavailable to a subscriber.
Run like production software
The boring parts, done properly
OAuth, not API keys in prompts
Authentication is standard OAuth through Scalekit. The claude.ai connector registers via dynamic client registration; automation uses per-user machine-to-machine credentials.
Fail-closed entitlements
Tool calls and workflow prompts are gated on an active subscription with a strict allowlist. Listing stays open, so you can see the surface before subscribing.
Metered and rate-limited per user
Every call lands in a usage ledger keyed to the calling identity, with per-user rate limits. Usage is attributable, not pooled guesswork.
Sandboxed custom rules
Custom verification rules run as hash-pinned WebAssembly modules with no filesystem, network, or environment access, under fuel and memory budgets.
A pinned tool surface
The server's tool definitions are locked in CI. What the catalog says is deployed is what is deployed.
Content-in verifiers
The hosted verifiers accept your skill's files inline, materialized into a bounded sandbox per call. No shared mounts, no uploads that persist.
Getting it
Getting connected
One subscription, one credential
Subscriptions are provisioned during onboarding, not self-serve, so the first step is a conversation. After that the credential works from claude.ai, Claude Code, Google Antigravity, or your own harness.
The connect page carries the per-client steps: configuration shape, which clients lend a model, and what each one meters.
Also inside
A wiki your agents can read
The toolkit’s best-practices deep modules are published as a generated, drift-guarded knowledge bundle in Open Knowledge Format. Remote agents read it as MCP resources, so your assistants cite the same discipline the verifiers enforce.