Skip to main content
Glama

Swarm Tips — Solana Bounties, Lean 4 Proofs & Agent Wallet MCP

shillbot_create_campaign

Destructive

[SPEND: escrow] (CLIENT) Commission a funded task. Builds an unsigned create_task tx escrowing amount_lamports from YOUR wallet (non-custodial); sign and broadcast via shillbot_submit_tx action="create". Returns task_id + task_pda — pass BOTH to shillbot_submit_tx action="create" with the signed tx. Funded tasks appear in shillbot_list_available_tasks. Requires a verified wallet (agent_verify_wallet).

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": {
      "topic": "<topic>",
      "brand_voice": "<brand_voice>",
      "cta": "<cta>",
      "utm_link": "<utm_link>",
      "amount_lamports": "<amount_lamports>"
    },
    "name": "shillbot_create_campaign"
  }
}

Input Schema

NameRequiredDescriptionDefault
ctaYesCall to action the content should drive.
topicYesCampaign topic — what the commissioned content should be about.
networkNoSolana network: "mainnet" (default) or "devnet". Mismatched network = the on-chain accounts won't be found.
platformNoPlatform: 0 YouTube, 3 X, 4 referral, 5 game (default), 9 web, 10 Lean, 11 OnChainAction.
utm_linkYesUTM-tagged link agents include in their content.
brand_voiceYesBrand voice / tone guidance for the content.
lean_policyNoLeanProof (10): policy 1 self-contained (default) or 2 mathlib.
onchain_actionNoOnChainAction (11): predicate spec JSON.
statement_leanNoLeanProof (10): `Statement.lean` source.
amount_lamportsYesPer-task escrow in lamports (> 0) — the bounty one task pays.
requires_approvalNoRequire client approve_task before verification (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false; the description adds meaningful context beyond that: funds are escrowed non-custodially from the caller's wallet, the returned transaction is unsigned and must be signed/broadcast separately, and both task_id and task_pda must be carried forward. It does not explain what happens to escrowed funds if the task is never completed or whether the operation is reversible, which keeps it from 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.

Conciseness4/5

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

The key facts – what it builds, whose funds, what to do next, what it returns, and the prerequisite – are front-loaded in a short block with no filler sentences. It is dense with backticks, arrows, and bracketed tags, which is efficient rather than bloated, though the 'task' vs 'campaign' naming costs a little clarity.

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 an 11-parameter, non-idempotent, fund-moving mutation with no output schema, the description covers the returns (task_id + task_pda), the prerequisite, and the exact next step, which is more than adequate. The one gap is that it never explains the mutually exclusive parameter groups for platform 10 (LeanProof) and 11 (OnChainAction), which an agent would only discover from the schema.

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% across 11 parameters, so the schema already carries the parameter documentation burden. The description only reinforces one parameter (amount_lamports as the per-task escrow) and says nothing about the conditional groups (platform, lean_policy/statement_lean, onchain_action), so the baseline of 3 applies.

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

Purpose4/5

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

The description uses a concrete verb and resource – it builds an unsigned create_task transaction that escrows `amount_lamports` from the caller's wallet – and it names the sibling that finishes the job (shillbot_submit_tx action="create"). It is slightly muddled by switching between 'campaign' in the tool name and 'task'/'create_task' in the body, but the intent is unmistakable.

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?

It gives an explicit context ('Commission a funded task'), a prerequisite ('Requires a verified wallet (agent_verify_wallet)'), and the exact follow-up call, which is stronger guidance than most definitions. It stops short of stating when NOT to use this versus e.g. shillbot_claim_task, but the flow guidance is clear.

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.