Skip to content
Jackdaws

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.

  1. 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.

  2. 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.

  3. 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.