Skip to main content
Glama

Funkel AI

create_agent

Destructive

Create a new draft agent under the request's scoped app. Two-phase: first call previews every setting; second call after user confirmation creates it. The agent's ICP starts from the app's saved ICP; icp_filters keys you supply override only those keys, every other saved field (job_titles, mandatory_keywords, excluded_companies, company_sizes, ...) is kept as-is. Do not restate the full ICP from memory for a vague request like "set it up" — omit icp_filters entirely to inherit the saved ICP untouched, and only pass the specific keys the user actually asked to change. To deliberately clear a list field, pass it as an empty array. excluded_companies stores exact current employer names. If supplied a LinkedIn company URL, Operator saves its slug name there and retains the URL separately for competitor signals; ask the user to verify the name in the approval. Supply signals only when the user selects exact agent discovery signals; each signal must include its supported platform, category, key, label, enabled state, and config. An explicit empty signals array creates no signals. Without signals, defaults seed from the merged ICP filters. A requested keyword such as product launch can be a keyword_tracking_product_launch signal with config.keyword='product launch'. Ask for missing signal details; never claim a requested setting was saved if this schema cannot represent it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesDisplay name for the new agent (1-100 chars)
typeNoAgent type (default 'signal')
signalsNoExact agent discovery signals. Omit to seed from ICP; use [] for none.
app_nameNoApp name (used in the confirm preview)
icp_filtersNoOptional structured ICP filters. Use job_titles, industries, regions, company_sizes, excluded_keywords, and exclude_service_providers. excluded_companies accepts exact employer names or LinkedIn company URLs. URLs become slug names and remain separately in competitor_urls. Ask the user to verify the employer name. Do not use unsupported excluded_industries.
max_signalsNoCap on enabled signals (default 15)
icp_descriptionNoFree-text ICP description for the new agent
confirmation_tokenNoPhase-2 token (omit on phase-1)
linkedin_account_idsNoLocal UUIDs of the workspace LinkedIn accounts selected for searches. Use [] for none.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only provide the flag set (destructive, non-idempotent, non-open-world); the description adds substantial behavior they do not encode, notably the mandatory two-phase preview/confirm protocol, ICP merge/override semantics, defaults seeding when signals are omitted, and the LinkedIn-URL-to-slug conversion with a user-verification step. It does not explain why the tool is flagged destructive, but the additive behavioral disclosure is unusually rich.

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

Conciseness4/5

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

Front-loaded correctly: purpose and the two-phase rule come first, then ICP merge semantics, then signal semantics. Every sentence carries information, but it runs to roughly eight dense sentences in a single block with no visual grouping, making key rules (like the empty-array clearing convention) easy to skim past.

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 nine-parameter tool with nested signal objects and no output schema, the description covers the genuinely hard parts: the merge/inheritance model, the confirmation flow, and signal construction including the keyword_tracking example. It stops short of explaining what the phase-1 preview returns or how confirmation_token/max_signals are meant to be used in practice.

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 coverage is already 100%, so a 3 is the baseline; the description nonetheless adds real meaning, such as icp_filters overriding only supplied keys while keeping job_titles/mandatory_keywords/excluded_companies/company_sizes, excluded_companies accepting employer names or LinkedIn URLs and storing slug names, and the required field set for each signal. max_signals, type, app_name, icp_description and linkedin_account_ids get no description-level elaboration.

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, resource and scope: 'Create a new draft agent under the request's scoped app.' The 'draft' qualifier and the two-phase flow distinguish it from siblings like draft_icp_edit, enable_agent, and update_icp without the agent needing to open another 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?

Explicit operational rules cover the whole decision space: call twice (preview then confirm), omit icp_filters on a vague request to inherit the saved ICP, pass only the keys the user asked to change, pass an empty array to clear a list, omit signals to seed from ICP, use [] for no signals. It also instructs the agent to ask for missing details rather than fabricate.

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