Skip to main content
Glama

Submit campaign participation proof

submit_campaign_work

Submit the user's work for a campaign. Three ways to prove it, and any one is enough: proof_url (content they published or an action they took), media_url (a hosted image or video made for the task — the ad-hoc creative case: a demo clip, a mockup, a designed asset), and description (max 500 chars). Media must already be hosted somewhere public and reachable — this API takes links, never uploads; a direct image link is shown to the reviewer inline, anything else (a video, a Loom) is shown as a link they open. If a URL is an X post it must be published by the user's linked X handle (author-verified); other URLs are accepted as-is. Lands as PENDING — the campaign owner reviews and rewards ship on approval (community campaigns pay Stars, public ones leaderboard points). Duplicate URLs are rejected. Check status afterward with get_my_submissions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
media_urlNoPublic URL of an image or video produced for the task. Must already be hosted (upload it wherever the user keeps files first) — direct image links render inline for the reviewer; videos and Loom-style links show as a link.
proof_urlNoURL of the published content or action proof (X post, video, voting page, …)
campaign_idYes
descriptionNoWhat was done, or context for the reviewer

TDQS

A4.4/5.0
Behavior5/5

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

The description adds substantial behavioral detail beyond the annotations: submissions land as PENDING, review and reward occur on approval, X URLs must be author-verified, duplicate URLs are rejected, and media must already be publicly hosted. This level of transparency is strong and non-redundant.

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

Conciseness5/5

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

The description is dense but well organized. It front-loads the core action and proof options, then adds constraints and post-submission behavior. Each sentence. The detail is meaningful, not filler.

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 write operation with no output schema, this description covers the essential gaps: expected input formats, URL restrictions, verification rules, submission state, and how to check status afterward. It gives an agent enough to call the tool correctly and explain to users what happens next.

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 high at 75%, but the description enriches the parameters further—it explains that any one proof is enough, clarifies media URL requirements, mentions the 500-character limit for descriptions, and states author verification for X posts. This is useful beyond what the schema already captures.

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 clearly states the verb-resource pair: 'Submit the user's work for a campaign' and enumerates three acceptable proof types. It is specific and actionable, but it doesn't explicitly distinguish itself from the similarly named sibling tool 'submit_participation', so it loses one point for sibling differentiation.

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?

The description gives clear context: the three proof channels, the hosting prerequisite, and the explicit routing to get_my_submissions afterward. It doesn't fully state when-not to use this tool or how it compares to submit_participation, but it gives enough usage context to select the right behavior.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools map cleanly to a distinct resource and action: campaigns, posts, products, research, content spaces, and submissions. A few pairs are close—`create_campaign` vs `create_content_campaign` and `check_balance` vs `get_earnings`—but the detailed descriptions make the intended selection clear.

Naming Consistency4/5

The set largely follows a consistent `verb_noun` snake_case pattern (`list_campaigns`, `generate_posts`, `update_campaign`, `submit_participation`). Minor deviations keep it from a perfect score: `credit_history` lacks a verb, and `create_campaign` reads as generic next to the more specific `create_content_campaign`.

Tool Count3/5

30 tools is high and makes the server feel heavy, but the domain genuinely spans products, credits, campaigns, research, post discovery, content spaces, boosts, and participation rewards. The breadth mostly earns the count, though it sits on the wrong side of the typical 3–15 range.

Completeness4/5

The core end-to-end workflow is covered: create and configure campaigns, discover and refine posts, run research, find opportunities, submit work, and measure results. Gaps exist but are minor for the central purpose—product listings can’t be updated or deleted, and delegates can be added but not removed.