Skip to main content
Glama

devtune_draft_agent_picks_tool

Draft one tool's signals for a custom Agent Picks job from package registries and its own site: the packages, config names, import patterns, config files, config patterns and domains that name it in a run. Pass tool_key, name, domain (or null) and the job line, and other_tools (tool_key and name of the job's other tools) to have the draft propose which of them run inside one another. Shares the project's 60-an-hour draft allowance with the app (rate_limited when spent). Returns draft_id, status, tool_key, signals, relationships, sources, rejected and failure. Each relationship (tool_key, yields_to, quote, url) is a proposal read from the drafted tool's own site, never registry text: tool_key, another of the job's tools, yields to yields_to, the drafted tool, so a run that uses both counts as yields_to; quote is the sentence that says so and url the page. Apply one by adding yields_to to that tool's signals.yieldsTo. Pass the draft's signals and draft_id in devtune_save_agent_picks_job. Refused while the account is paused. Requires actions.write and Agent Picks. The OAuth member, or the member who created the API key, needs project management rights.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "tool_key": "<tool_key>",
      "name": "<name>",
      "job": "<job>"
    },
    "name": "devtune_draft_agent_picks_tool"
  }
}

Input Schema

NameRequiredDescriptionDefault
jobYes
nameYes
domainNo
tool_keyYes
other_toolsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / job / minLength
      Previous value: -8New value: +1
    • changedInput schema / properties / other_tools / maxItems
      Previous value: -7New value: +35
  2. Changed1 schema field changed
    • addedInput schema / properties / other_tools
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "name": {
      +        "maxLength": 100,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "tool_key": {
      +        "maxLength": 63,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "tool_key",
      +      "name"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 7,
      +  "type": "array"
      +}
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare a non-read-only, open-world, non-idempotent, non-destructive write, and the description is consistent while adding material context they cannot carry: a shared 60-an-hour draft allowance with rate_limited signalling, refusal while the account is paused, the required actions.write scope plus Agent Picks, and the project-management rights needed by the OAuth member or API-key creator. It also enumerates the response fields (draft_id, status, tool_key, signals, relationships, sources, rejected, failure) and constrains relationship provenance to the drafted tool's own site, never registry text.

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 purpose is front-loaded, but the body is a dense run of long sentences that mix parameter guidance, return fields, relationship semantics, follow-up steps, rate limits, and permissions without structure. The relationship explanation in particular ('yields to yields_to, the drafted tool, so a run that uses both counts as yields_to') takes several passes to parse and could be split or bulleted.

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 five-parameter drafting tool with no output schema and no schema descriptions, the definition still covers inputs, return fields, error/refusal conditions, quota behavior, authorization requirements, and what to do with the output. An agent could call it and consume the result without consulting anything else.

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 0%, so the description carries the full burden and largely does: it identifies tool_key, name, domain (explicitly nullable), the job line, and other_tools as tool_key/name pairs of the job's other tools used to propose intra-run containment. It does not cover the schema's bounds such as other_tools maxItems 35 or field length limits, so it adds meaning but not full coverage.

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: draft one tool's signals for a custom Agent Picks job, sourced from package registries and the tool's own site. The enumerated signal types (packages, config names, import patterns, config files, config patterns, domains) and the phrase 'one tool's signals' distinguish it from the sibling devtune_draft_agent_picks_job, which drafts the job itself.

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

Usage Guidelines4/5

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

Gives concrete call guidance (pass tool_key, name, domain or null, the job line, and other_tools) and a downstream step: apply a relationship by adding yields_to to that tool's signals.yieldsTo, then pass signals and draft_id to devtune_save_agent_picks_job. It also names exclusions (refused while paused, rate_limited when the shared 60/hour allowance is spent). It never explicitly states when to prefer this over devtune_draft_agent_picks_job, leaving that ordering inferable rather than stated.

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