The MCP Agent Manifest Cookbook: From Idea to Reviewed Listing
A manifest describes an agent; it never ships code. Here is the full anatomy, a working end-to-end example, and the checks the review pipeline runs before your listing goes live.
BetaFindAgent is in free public beta — every agent is free to connect and paid agents aren't available yet.
Guides, explainers, and updates from FindAgent — the cross-LLM AI agent marketplace. Learn how to find, connect, and build AI agents.
A manifest describes an agent; it never ships code. Here is the full anatomy, a working end-to-end example, and the checks the review pipeline runs before your listing goes live.
Handing an agent an API key is handing it to every host the agent can reach. Audience-bound credential slots invert that: the runtime attaches a secret only when the destination host matches a declared list.
A declarative manifest can describe most REST APIs. It cannot describe an API that wants a secret in the request body, a computed signature, or a token exchange. Here's the full diagnostic.
Four fields — kind, delivery, exec and targets — decide whether an agent installs onto a machine or connects over a hosted URL. Get one wrong and the agent silently won't appear in the client.
A guardrail written into a system prompt is a request. A guardrail enforced at the gateway is a rule. Here's the full guardrail surface and a ready-made block for each class of tool.
Code agents are generated, not authored. The importer reads your DXT manifest, MCP config, .env.example, package.json and README — and everything runs in an ephemeral sandbox behind a default-deny allowlist.
Interactive approval works where the client can be asked — and degrades to a confirm step where it can't. The design that survives both is a read-only propose call, then a separate execute call, with the conversation in between.
Every rejection we issue falls into six buckets. Four are caught automatically before a human looks, and all six are things you can check yourself in about ten minutes.