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 (hosted over https) or findagent_create_local_mcp (started on the buyer machine by a command); an OpenAPI spec becomes tools through findagent_import_openapi before findagent_create_draft; 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

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

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.2/5.0
Behavior4/5

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

Annotations only say readOnlyHint=false and destructiveHint=false; the description adds real behavioral context — the result is a non-destructive 'status=draft' record owned by the caller, the web UI is only a preview and not where submission completes, and credential VALUES must never be sent (only slot shapes). It stops short of stating whether drafts can be re-persisted idempotently or what happens to a partially invalid payload.

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 is front-loaded in sentence one, but the remaining text is a dense run-on that bundles prerequisites, a five-way sibling routing matrix, external GitHub URLs, and a security warning into one paragraph. Much of it is genuinely useful, but the wall-of-text form makes it hard to scan and it is longer than this description needs to be.

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

Completeness4/5

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

For a 21-parameter, nested-object creation tool with an output schema present, the description covers the full workflow: grounding source, prerequisites, alternative draft tools, and the submit-for-review handoff. Return values correctly are not re-explained. It omits only edge-case behavior at failure time, which is minor given the schema and annotations.

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

Parameters3/5

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

Schema description coverage is 100% with 21 parameters, so the schema already documents every field, including the top-level-category/discipline rule and the credential_slots 'definitions only' constraint. The description reinforces the slug-free and category-discipline requirements and the secrets rule, but adds little syntax or semantics the schema does not already carry.

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?

The opening sentence names a specific verb+resource ('Persist a DRAFT marketplace listing you wrote') and states the resulting state ('Creates a status=draft agent owned by you'). It then explicitly separates this tool from every adjacent draft-creation sibling (package, code, remote/local MCP, OpenAPI import), so an agent can route 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 an explicit tool-selection matrix: package files → findagent_create_package_draft, code → findagent_create_code_draft, MCP server → create_remote_mcp/create_local_mcp, OpenAPI → import_openapi first. It also names prerequisites (check_slug, list_categories, import_repo grounding) and the preferred step-by-step front-end (submission_wizard), plus the mandatory follow-up (submit_for_review).

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