Skip to main content
Glama

findagent_create_draft

Persist a DRAFT marketplace listing you wrote (from import_repo grounding). Creates a status=draft agent owned by you; then call findagent_submit_for_review IN THIS MCP CLIENT to set price + confirm originality/prohibited + submit it — the web is only an optional preview, not where you finish. Prefer findagent_submission_wizard to collect all of these fields step-by-step (one selectable question at a time) before calling this. Before calling: use findagent_check_slug to confirm the slug is free, and findagent_list_categories to pick the primary (top-level) category + a discipline. NEVER send secret credential VALUES — credential_slots declare the shape (ref/label/allowed_hosts/type) only. Which tool for which part: Instructions, Skills and Actions are authored as an Agent Plugins package and sent as files with findagent_create_package_draft; Code (a Node or Python program) uses findagent_create_code_draft from your own GitHub repo; an MCP server you already run uses findagent_create_remote_mcp; findagent_create_draft saves a declarative listing from findagent_import_repo grounding. Code part: start from https://github.com/FindAgent/agent-template (Node and Python variants). Building any part with an assistant: provider-neutral playbooks at https://github.com/FindAgent/agent-creators (start with AGENTS.md).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoOptional — usually INFERRED from whether you pass `tools` (tools present → 'mcp-tool', an agent with actions or skills; else 'static-recipe', instructions only). Declared so a manifest-shaped payload is accepted, not rejected.
llmsNoOptional target clients. Defaults to ['claude','chatgpt','gemini'] when omitted.
slugNoPermanent URL slug, kebab-case (3–60, no leading/trailing hyphen). Verify with findagent_check_slug first.
tagsNoOptional (≤10). Free-form lowercase tags ([a-z0-9- ]).
titleNoAgent name (3–80 chars). Alias accepted: `name`.
toolsNoOptional actions and skills (full web-builder parity). Omit for an instructions-only agent. Each item's shape is defined in `items` — name/description/tool_type/action are the load-bearing fields; auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced).
taglineNoOne-line value prop (10–140).
versionNoOptional semver release version for this listing (e.g. "1.0.0"). Self-described metadata only — the platform tracks the authoritative version separately.
metadataNoOptional professional listing metadata. { license?, homepage?, docs_url?, support_url?, support_email?, icon?, author?:{ name, url? }, maintainer?:{ name, url? } }. Every URL/icon must be https. An invalid block is dropped (not persisted).
changelogNoOptional human release notes for `version` (max 10000 chars).
languagesNoOptional (≤20). Language/Framework slugs from findagent_list_tech_facets (software-development discipline only).
guardrailsNoOptional declared guardrails (agents with actions). { input?: { max_length?, deny_patterns?:string[], pii_redaction?:string[] }, output?: { schema? }, actions?: { [toolName]: { approval?:"none"|"human"|"human_strict", max_amount?, rate_limit?:"10/hour", idempotent?, requires?:string[] } } }. `human` confirms where the client can prompt and proceeds where it cannot; `human_strict` BLOCKS where it cannot — use it for anything irreversible. You can only TIGHTEN — the platform always applies its mandatory rails. An invalid block fails the draft.
price_typeNoOptional, default free. "paid" requires price_cents (charged only once Paddle is live).
descriptionNoWhat it does / who it is for (50–4000).
price_centsNoRequired when price_type=paid: a positive integer of US cents, max 50000 ($500).
tech_domainsNoOptional (≤20). Tech Domain slugs from findagent_list_tech_facets (software-development discipline only).
category_slugNoThe PRIMARY category: a TOP-LEVEL slug from findagent_list_categories. Alias accepted: `category`. At least one of {category_slug, additional_category_slugs} MUST be a discipline (category_type='discipline'), AND for EVERY top-level you select you MUST also include one of its OWN subcategories in additional_category_slugs.
system_promptNoThe agent instructions (50–20000 chars).
example_promptsNo2–5 concrete asks (required).
credential_slotsNoOptional. Each item declares the SHAPE of a secret (ref/label/allowed_hosts/auth_scheme…) — see `items`. DEFINITIONS ONLY — never send secret VALUES.
additional_category_slugsNoOptional (≤12). Extra slugs from findagent_list_categories. Include one subcategory under EVERY top-level you select (a subdiscipline under your discipline; a subindustry under any industry). Also where a discipline goes when the primary is an industry.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNo
statusNo
accountNo
createdNo
next_toolNo
preview_urlNo
instructionsNo
slug_is_permanent_after_publishNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / guardrails / description
      Previous value: -"Optional declared guardrails (doer agents). { input?: { max_length?, deny_patterns?:string[], pii_redaction?:string[] }, output?: { schema? }, actions?: { [toolName]: { approval?:\"none\"|\"human\"|\"human_strict\", max_amount?, rate_limit?:\"10/hour\", idempotent?, requires?:string[] } } }. `human` confirms where the client can prompt and proceeds where it cannot; `human_strict` BLOCKS where it cannot — use it for anything irreversible. You can only TIGHTEN — the platform always applies its mandatory rails. An invalid block fails the draft."New value: +"Optional declared guardrails (agents with actions). { input?: { max_length?, deny_patterns?:string[], pii_redaction?:string[] }, output?: { schema? }, actions?: { [toolName]: { approval?:\"none\"|\"human\"|\"human_strict\", max_amount?, rate_limit?:\"10/hour\", idempotent?, requires?:string[] } } }. `human` confirms where the client can prompt and proceeds where it cannot; `human_strict` BLOCKS where it cannot — use it for anything irreversible. You can only TIGHTEN — the platform always applies its mandatory rails. An invalid block fails the draft."
    • changedInput schema / properties / kind / description
      Previous value: -"Optional — usually INFERRED from whether you pass `tools` (tools present → 'mcp-tool' doer, else 'static-recipe' recipe). Declared so a manifest-shaped payload is accepted, not rejected."New value: +"Optional — usually INFERRED from whether you pass `tools` (tools present → 'mcp-tool', an agent with actions or skills; else 'static-recipe', instructions only). Declared so a manifest-shaped payload is accepted, not rejected."
    • changedInput schema / properties / tools / description
      Previous value: -"Optional doer tools (full web-builder parity). Omit for a recipe agent. Each item's shape is defined in `items` — name/description/tool_type/action are the load-bearing fields; auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced)."New value: +"Optional actions and skills (full web-builder parity). Omit for an instructions-only agent. Each item's shape is defined in `items` — name/description/tool_type/action are the load-bearing fields; auth_ref must match a credential_slots[].ref whose allowed_hosts cover the action host (audience binding — enforced)."
  2. Changed1 schema field changed
    • changedInput schema / properties / guardrails / description
      Previous value: -"Optional declared guardrails (doer agents). { input?: { max_length?, deny_patterns?:string[], pii_redaction?:string[] }, output?: { schema? }, actions?: { [toolName]: { approval?:\"none\"|\"human\", max_amount?, rate_limit?:\"10/hour\", idempotent? } } }. You can only TIGHTEN — the platform always applies its mandatory rails. An invalid block fails the draft."New value: +"Optional declared guardrails (doer agents). { input?: { max_length?, deny_patterns?:string[], pii_redaction?:string[] }, output?: { schema? }, actions?: { [toolName]: { approval?:\"none\"|\"human\"|\"human_strict\", max_amount?, rate_limit?:\"10/hour\", idempotent?, requires?:string[] } } }. `human` confirms where the client can prompt and proceeds where it cannot; `human_strict` BLOCKS where it cannot — use it for anything irreversible. You can only TIGHTEN — the platform always applies its mandatory rails. An invalid block fails the draft."
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation class is known. The description adds genuinely new behavioral context: the created object is status=draft and owned by the caller, finalization must happen inside the MCP client rather than the web UI, and credential slots carry shapes only, never values. It does not cover reversibility or draft limits, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and workflow are front-loaded, but the final two sentences (agent-template repo, AGENTS.md playbooks) read as build-time guidance belonging to other tools and dilute the instruction for an agent trying to call this one. Dense and useful overall, with avoidable tail bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 21-parameter, deeply nested creation tool with an output schema, the description covers prerequisites, sibling routing, sequencing, the paid/free and submission hand-off, and the secrecy rule for credential slots. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description does add semantic constraints beyond the schema: credential_slots are definitions only and are never populated with values, and completion of price/originality fields happens in submit_for_review rather than here. That mapping between fields and workflow steps is real value over the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Persist a DRAFT marketplace listing') and explicitly positions itself against four sibling creation tools (create_package_draft, create_code_draft, create_remote_mcp, import_repo grounding). An agent can select it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit ordering (check_slug, list_categories, then create, then submit_for_review IN THIS MCP CLIENT), names the preferred alternative (submission_wizard) and its benefit, and states the 'never send secret VALUES' exclusion. When/when-not/alternatives are all present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources