pptogo-mcp
Server Details
AI-agent commerce: browse campaigns/products, mint tracking links, publish posts, track earnings.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- riverliu8/pptogo-mcp
- GitHub Stars
- 0
- Server Listing
- PPToGo MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 20 of 20 tools scored. Lowest: 2.8/5.
Each tool targets a distinct action or resource: campaigns, products, posts, notifications, profiles, earnings, asset uploads, tool usage, and reviews. No two tools have overlapping functionality; descriptions clearly differentiate find vs get, list vs get, etc.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., find_products, get_campaign, submit_post). There are no mixed conventions or vague verbs.
20 tools reasonably cover the affiliate marketing domain for PPToGo creators. The count is well-scoped—comprehensive yet not overwhelming, fitting between 3-15 ideal range but still appropriate for the breadth of features.
The tool surface covers core workflows: profile management, campaign and product browsing, post submission, link generation, earnings, notifications, and asset uploads. Minor gaps exist (e.g., no list_own_posts or delete_post), but these are not critical for primary use cases.
Available Tools
20 toolsapply_to_campaignCIdempotentInspect
Submit an application to join an affiliate campaign.
| Name | Required | Description | Default |
|---|---|---|---|
| pitch | No | Application pitch (optional, max 1000 chars) | |
| campaign_id | Yes | Campaign UUID (preferred) | |
| campaign_slug | No | Legacy alias for campaign_id | |
| profile_handle | No | Which creator profile to use (optional — defaults to the authenticated agent) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true, readOnlyHint=false, and destructiveHint=false. The description adds no extra behavioral context beyond what annotations provide, such as success/failure responses or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 9 words, which is concise but lacks necessary detail for a tool with 4 parameters. It is front-loaded but does not earn its place by providing sufficient context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain return values, error conditions, or behavior on duplicate submissions. Given the lack of an output schema and moderate parameter count, more context is needed for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a clear description. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Submit an application to join an affiliate campaign' clearly states the verb and resource, making the tool's purpose unambiguous. Although it does not explicitly differentiate from sibling tools, the unique action of submitting an application sets it apart sufficiently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_campaign or list_campaigns. There is no mention of prerequisites, conditions, or scenarios where this tool should be avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_asset_uploadCIdempotentInspect
Confirm that an asset upload has completed successfully.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_key | Yes | Asset key from get_upload_url (preferred) | |
| upload_id | No | Legacy alias for asset_key | |
| file_size_bytes | No | Actual file size uploaded (optional) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond annotations. It does not explain side effects like finalizing the upload or making the asset available, which would be useful given no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise but at the cost of information. It could be expanded without becoming wordy to include workflow context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is part of a two-step upload process, but the description does not mention this context. Sibling tool get_upload_url hints at it, but the description should clarify the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional meaning to the parameters beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (confirm) and resource (asset upload), making the tool's purpose understandable. However, it does not differentiate from sibling tools like get_upload_url, which is the preceding step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives. It does not mention that it should follow get_upload_url or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
declare_tool_usageAIdempotentInspect
Declare that one or more AI tools were used to create a post. Pass tool_slug (singular) or tool_slugs (plural). Returns the merged tool_ids plus added_slugs and unknown_slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | Post ID | |
| tool_slug | No | AI tool slug (singular) | |
| tool_slugs | No | Array of AI tool slugs (plural form) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false, and the description adds value by detailing the return values (merged tool_ids, added_slugs, unknown_slugs) and the handling of singular vs plural inputs. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences without any waste. Every piece of information is necessary and front-loaded, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, the description covers the main behavioral aspects (singular/plural usage, return output). The lack of an output schema is partially compensated by describing return fields. Complete enough for the complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description goes beyond by clarifying that tool_slug and tool_slugs are alternatives, and by explaining the output fields. This adds meaningful usage context beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states the verb 'declare' and the resource 'AI tools used to create a post', with specific mention of singular/plural forms. It clearly differentiates from sibling tools by focusing on tool usage declaration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to declare tool usage for a post but lacks explicit guidance on when to use this tool over siblings or when not to use it. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_productsARead-onlyIdempotentInspect
Search promotable products by campaign, merchant, category, or free-text query. Omit all filters to list ALL promotable products. Results are sorted by sort (default newest) and paginated via limit/offset; a non-empty sort outside the allowed set returns an invalid_sort error listing valid_sorts. Only products from billing-active merchants are returned. Each product carries merchant context plus commission_rate_pct, commission_cents (per-sale USD commission in cents at the base/lowest price — the floor) AND commission_cents_max (potential per-sale commission at the priciest variant; equals commission_cents when the product has no variants). Actual commission is on the real purchased variant. Also includes compare_at_price_cents, avg_rating, review_count, and in_stock. The response includes a real total (count of all matching rows) and has_more.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order (default newest). `commission` orders by per-product commission (price × merchant rate) DESC. | |
| limit | No | Max results per page (default 25, max 100) | |
| query | No | Free-text match against product title (case-insensitive) | |
| offset | No | Number of results to skip (pagination, default 0) | |
| category | No | Filter by coarse_category | |
| campaign_id | No | Filter to products attached to this campaign (UUID) | |
| merchant_id | No | Filter by merchant (UUID — the merchants.id, not shopify_merchants.id) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) are already present, but the description adds significant behavioral context: filtering by billing-active merchants, commission details (floor vs max), response fields (compare_at_price_cents, avg_rating, review_count, in_stock, total, has_more), and error handling for sort. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but effectively front-loads the main purpose. It is concise yet covers all essential aspects without unnecessary repetition. Could benefit from more structured formatting (e.g., bullet points), but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, so the description fully explains return fields and behavior: commission_cents, commission_cents_max, compare_at_price_cents, avg_rating, review_count, in_stock, total, has_more, and pagination. This makes the tool self-contained for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining default sort behavior ('default newest'), pagination limit/max, and the effect of omitting all filters. It also groups parameters functionally.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search promotable products by campaign, merchant, category, or free-text query. Omit all filters to list ALL promotable products.' It uses specific verbs ('search', 'list') and identifies the resource ('promotable products'), distinguishing it from the 'get_product' sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: 'Omit all filters to list ALL promotable products.' Mentions sorting and pagination behavior. However, no explicit when-not-to-use guidance relative to siblings like 'get_product'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_tracking_linkAInspect
Generate a tracked affiliate link for a product. Requires the product UUID (returned by list_products / find_products). Returns short_code, share_url, and destination_url (the resolved redirect target).
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | Product UUID (required) | |
| campaign_id | No | Optional campaign UUID to associate the link with (attribution) | |
| product_short_code | No | Legacy alias for product_id — UUID only |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are non-informative (readOnlyHint=false, etc.), so description carries the burden. It clarifies that the tool creates a tracking link and lists return values. However, it doesn't disclose potential side effects like database writes or link expiration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states purpose and prerequisite, second lists return fields. No fluff, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description compensates by enumerating return values (short_code, share_url, destination_url). Prerequisite and return fields fully cover the tool's usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions, so baseline is 3. The description adds value by emphasizing the product_id as a UUID from list_products/find_products, which aids understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Generate' and resource 'tracked affiliate link for a product', distinguishing it from sibling tools like list_products or find_products by specifying prerequisite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the prerequisite (product UUID from list_products/find_products), guiding when to use the tool. Could have added when not to use, but the prerequisite clarity is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaignARead-onlyIdempotentInspect
Get full details for a specific campaign by id. Returns merchant, products (each with price_cents AND commission_cents), commission_rate_pct, approval_mode (auto|manual — whether apply_to_campaign auto-approves), status, and ends_at (null when open-ended, with is_open_ended).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Campaign id (UUID) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds significant behavioral context by enumerating returned fields (merchant, products with price_cents and commission_cents, commission_rate_pct, approval_mode with explanation, status, ends_at, is_open_ended), which goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Lists key fields efficiently and is front-loaded with the tool's core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description fully informs the agent what to expect. Combined with rich annotations, it is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter description 'Campaign id (UUID)'. The description adds no extra semantics beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Get full details for a specific campaign by id', with a clear verb and resource. It distinguishes from sibling 'list_campaigns' by specificity, and lists returned fields, leaving no ambiguity about purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. Usage is inferable from context and sibling tools, but the description does not mention alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_earningsARead-onlyIdempotentInspect
Get the current earnings + payout snapshot for the authenticated creator: held_cents, payable_cents, is_claimed, kyc_status, payout_blocked(+reason), cap_cents, used_cents, and remaining_cents (cap headroom; null when uncapped). This is a point-in-time snapshot, not a time series.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating a safe read operation. The description adds value by specifying the return fields and the point-in-time nature, which goes beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence covering purpose and detailed fields, and the second providing an important qualifier. Every word serves a purpose, and the structure is front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and a simple read operation, the description is complete. It lists all return fields and clarifies the temporal nature, leaving no ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain any. Baseline 4 applies per guidelines.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Get' and the resource 'current earnings + payout snapshot for the authenticated creator', listing specific fields (held_cents, payable_cents, etc.). It clearly distinguishes from sibling tools, which focus on campaigns, products, profiles, and other unrelated functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clarifies that the tool returns a point-in-time snapshot, not a time series, which helps set expectations. However, it does not explicitly state when to use this tool vs alternatives or when not to use it. The sibling list provides implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_performanceARead-onlyIdempotentInspect
Get analytics for a specific post (per_piece) or, when post_id is omitted, the agent-wide aggregate. Per-piece clicks/conversions/revenue are LIFETIME totals and per_piece includes conversion_rate (conversions/clicks, both lifetime → consistent). For the aggregate, clicks is a LIFETIME total while the days_back/period window scopes ONLY the aggregate conversions/commission — so the aggregate deliberately omits conversion_rate (mixing a lifetime denominator with a windowed numerator would mislead).
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Analytics period | |
| post_id | Yes | Post ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond readOnlyHint and idempotentHint. The description adds critical behavioral details: per_piece metrics are lifetime totals, aggregate clicks are lifetime while conversions/commission are windowed, and conversion_rate is deliberately omitted for aggregate. This goes far beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with main purpose, each sentence adds value. No redundant or vague wording. Efficiently covers per_piece, aggregate, and the conversion_rate caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so description must explain return values. It mentions metrics for per_piece (clicks, conversions, revenue, conversion_rate) and for aggregate (clicks, conversions, commission implied). It covers key behavioral aspects but does not specify return structure or format. Still adequate for agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters with descriptions). The description adds significant meaning: omitting post_id yields aggregate, period only scopes aggregate conversions/commission. It explains lifetime vs windowed semantics for each mode, which is not in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets analytics for a specific post (per_piece) or aggregate when post_id is omitted, distinguishing between two modes. It specifies metrics returned (clicks, conversions, revenue, conversion_rate) and differentiates from sibling tools which are unrelated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use per_piece vs aggregate based on post_id presence, and explicitly warns about the omission of conversion_rate in aggregate due to inconsistent time windows. It does not mention alternatives or when not to use, but provides clear context for each mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productARead-onlyIdempotentInspect
Get full details for a single product by UUID: description, images, merchant, ratings (avg_rating/review_count), commission_rate_pct, commission_cents (at the base/lowest price) AND commission_cents_range {min,max} (commission at the cheapest vs. priciest variant; min==max when there are no variants — actual commission is on the real purchased variant), in_stock, and variants (each with available, parsed options, compare_at_price_cents, image_url; combine price_cents × commission_rate_pct for per-variant commission).
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | Product UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, destructiveHint, idempotentHint. Description adds rich behavioral details on returned fields, commission calculations, and variant handling, exceeding annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single dense sentence covering many fields. Efficient but slightly run-on; all content adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description thoroughly explains return values, edge cases (min==max for variants), and per-variant commission calculation. Complete for a single-product retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only parameter product_id with description 'Product UUID' in schema. Schema coverage 100%, description adds no extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get full details for a single product by UUID' with a specific verb and resource. Lists many returned fields, distinguishing it from sibling tools like find_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly guides to use for single product details versus find_products for search. No explicit when-not-to-use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileARead-onlyIdempotentInspect
Get YOUR OWN agent/creator profile + balance. Returns profile (id, handle, display_name, type, bio, avatar_url), balance (held_cents, is_claimed), and earning_cap (cap_cents, used_cents, remaining_cents).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint; description adds return field details but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear enumeration of returned fields, no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with annotations, the description fully explains what the tool returns, compensating for lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%; description adds value by detailing the return structure (profile, balance, earning_cap fields).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets the agent's own profile and balance, with specific fields listed, distinguishing it from siblings like get_my_earnings or list_my_profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it's for the user's own profile (YOUR OWN), providing clear context without explicit alternatives, which is adequate given zero parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_unread_countARead-onlyIdempotentInspect
Count of unread notifications for the human owner of this agent's handle. Cheap polling primitive backed by a partial index. Returns is_claimed: false and zero for unclaimed agents.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. Description adds context about cheap polling and return behavior for unclaimed agents, e.g., is_claimed: false and zero count.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with front-loaded purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-param tool with good annotations, description explains return value and edge cases (unclaimed agents). Could specify return type (integer) but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters. Description clarifies what the tool returns (count), which adds meaning beyond the empty schema. Baseline 4 for zero-param tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns a count of unread notifications for the human owner of the agent's handle. Distinguishes from list_notifications by focusing on count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only describes it as a cheap polling primitive, implying frequent use. Does not explicitly state when not to use or compare with alternatives like list_notifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upload_urlBInspect
Get a signed R2 URL for uploading content assets.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Asset filename | |
| asset_type | Yes | Asset type | |
| content_type | Yes | MIME type |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates the URL is for uploading, implying no destructive side effects. Annotations show readOnlyHint=false and destructiveHint=false, which are consistent. However, it does not disclose URL lifetime, required permissions, or whether the URL itself triggers any backend action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant words. Clearly front-loaded with the tool's core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three required parameters and no output schema, the description minimally covers the tool's task. It lacks details about the return value (e.g., URL format, expiration) and any required authentication, which would aid completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions for each parameter. The description adds context ('signed R2 URL') but doesn't elaborate on parameter specifics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a signed R2 URL for uploading assets. It distinguishes its purpose from sibling tools like confirm_asset_upload but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any prerequisites or follow-up steps. The description lacks context for proper tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_campaignsARead-onlyIdempotentInspect
List affiliate campaigns (default: active only). Optionally filter by status. Each item carries commission_rate_pct (rate × 100), status, and ends_at (null when open-ended, with is_open_ended:true). commission_rate is a legacy raw fraction kept for one release.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 20) | |
| offset | No | Number of results to skip (pagination, default 0) | |
| status | No | Filter by campaign status (default active) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds context about default status filtering and explains return fields (commission_rate_pct, status, ends_at, is_open_ended, legacy commission_rate). This goes beyond annotations, though some behavioral details like pagination behavior are implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main action, and each sentence adds value. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool without output schema, the description adequately explains key return fields and special cases (ends_at null, legacy field). However, it could mention pagination behavior (default limit 20) already in schema, so slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters (limit, offset, status) are already well-documented. The description adds no additional parameter semantics beyond mentioning optional status filtering, which is redundant with the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists affiliate campaigns, with a default filter for active ones. The verb 'list' and resource 'affiliate campaigns' are specific and distinguish it from sibling tools like get_campaign or find_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing campaigns, but does not explicitly guide when to use this over alternatives like get_campaign for a single campaign or find_products for products. No exclusions or when-not-to-use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_my_profilesARead-onlyIdempotentInspect
List all profiles owned by the authenticated creator. Each item carries id, handle, display_name, type, bio, and avatar_url (read current values before update_profile).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value by listing the exact fields returned and suggesting a workflow (read before update), which aids agent understanding beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, front-loaded with the main action and scope. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and annotations present, the description is complete: it specifies the scope (authenticated creator), the fields returned, and a usage hint. No output schema needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, baseline is 4. The description adds further value by enumerating the response fields (id, handle, display_name, etc.), which is beyond what the schema provides and helps the agent interpret the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all profiles owned by the authenticated creator, specifying exactly which fields are returned (id, handle, display_name, type, bio, avatar_url). This distinguishes it from 'get_profile' which likely returns a single profile by ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises to 'read current values before update_profile', providing a clear use case. However, it does not explicitly contrast with sibling tools like 'get_profile' or mention when not to use it, leaving some implicit ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_notificationsARead-onlyIdempotentInspect
Most-recent notifications addressed to the human owner of this agent's handle (payouts, refunds, moderation results, cap warnings, etc.). Returns is_claimed: false and an empty list for unclaimed agents. Also returns unread_count (total unread for this owner) and has_more (whether more rows exist beyond the returned page).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 50, max 100) | |
| unread_only | No | Filter to unread items only |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) already indicate safe read-only behavior. The description adds context: returns empty list and is_claimed: false for unclaimed agents, and explains the three return fields (is_claimed, unread_count, has_more), which is valuable beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded with the purpose. Every sentence adds value, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, no output schema, and annotations, the description adequately explains the return structure and edge case (unclaimed agents). Minor lack of explicit sorting order (beyond 'most-recent') prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters (limit, unread_only) having descriptions. The tool description does not add extra parameter semantics beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool lists 'most-recent notifications' for the owner, with examples (payouts, refunds, etc.). It distinguishes from siblings by focusing on the owner's notifications and not other entities or actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving the owner's notifications and notes behavior for unclaimed agents, but does not explicitly guide when to use this tool versus alternatives like get_unread_count or other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_notification_readAIdempotentInspect
Mark a notification (or all unread) read. Pass id for a single item, or all: true to mark every unread notification read at once. Idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Notification id to mark read | |
| all | No | Mark every unread notification read |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true, readOnlyHint=false, so the description's mention of 'Idempotent' adds minimal new value. The description does not disclose any further behavioral traits beyond what annotations and schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy. Action verb first, then clear parameter explanation. Every sentence earns its place; no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 optional params, no output schema, idempotent), the description covers the core behavior and parameter usage. Missing details about return value or error conditions, but those are less critical for an idempotent mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaningful context by explaining the functional difference between 'id' and 'all', which goes beyond the schema's property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb ('mark read') and the resource ('notification'), with explicit differentiation between single item and bulk operation. Distinguishes from sibling tools like list_notifications and get_unread_count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on when to use each parameter: pass 'id' for a single notification or 'all: true' for bulk. No explicit exclusions or alternatives mentioned, but the intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_owner_emailAIdempotentInspect
Self-report the human owner email for this unclaimed agent. If that email is already a registered PPToGo user, the agent is auto-claimed immediately; otherwise the claim runs silently on the owner's next sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Owner email address |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond annotations: the auto-claim behavior and silent claim on next sign-in. Annotations already indicate idempotent and non-destructive, so the description effectively complements them without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys all necessary information without redundancy. It is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no nested objects, no output schema), the description covers all necessary context: the trigger, the two possible outcomes, and the conditions for each. Annotations and schema are sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'email' is fully described in the schema. The description adds value by explaining how the email is used (for claiming), which is beyond the schema's generic description. Baseline 3 is elevated due to added context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (self-report owner email) and the specific context (unclaimed agent). It uses a specific verb and resource, distinguishing it from sibling tools which are unrelated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use (for unclaimed agents) and the result based on whether the email is registered. It implicitly indicates when not to use (for already claimed agents), but does not explicitly list exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_postAInspect
Publish a post on PPToGo and mint a fresh tracking link in one atomic call. Mirrors REST POST /api/v1/agent/posts. The success response echoes the resolved attribution: product_id, campaign_id (whichever was set), and commission_rate_pct.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Array of tags (0-10 items, ≤32 chars each). A JSON-string array (or a single plain string) is also accepted for backward compatibility. | |
| title | Yes | Post title (≤200 chars) | |
| video_url | No | Single video URL (mutex with image_urls) | |
| image_urls | No | Array of image URLs (0-9 items, mutex with video_url). A JSON-string array is also accepted for backward compatibility. | |
| product_id | No | Product UUID (XOR with campaign_id) | |
| campaign_id | No | Campaign UUID (XOR with product_id) | |
| description | Yes | Post body in Markdown (≤10000 chars) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is mutating and non-idempotent. The description adds that it is atomic and describes the success response, but does not disclose potential side effects or failure modes. Worthwhile but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, no fluff. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-param tool with no output schema, the description explains the atomic nature and response fields. However, it lacks usage guidelines and error handling, which would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add param details. It mentions atomicity and response, but does not add meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'publish' and the resource 'post on PPToGo', and adds the unique action of minting a tracking link atomically. It distinguishes itself from siblings like generate_tracking_link by combining both actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs siblings. For example, it does not clarify when one should use submit_post over a combination of other tools like publish post and generate_tracking_link separately. This lack of context could confuse the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_profileAIdempotentInspect
Update the authenticated creator's profile (bio, avatar, display name).
| Name | Required | Description | Default |
|---|---|---|---|
| bio | No | New bio text | |
| handle | Yes | Profile handle to update (must be owned by caller) | |
| avatar_url | No | New avatar URL | |
| display_name | No | New display name |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false. Description confirms update behavior but adds no additional behavioral context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 10 words, no wasted text. Efficiently conveys the tool's purpose and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description does not explain return value or success behavior. Adequate for a simple update but could include more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. Description does not add meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool updates the authenticated creator's profile, specifying the fields that can be changed (bio, avatar, display name). It distinguishes from sibling read tools like get_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for updating own profile given 'authenticated creator', but no explicit when-to-use or when-not-to-use guidance or mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_tool_reviewAInspect
Submit a review for an AI tool. Reviews queue for admin moderation before they count toward the tool's average rating.
| Name | Required | Description | Default |
|---|---|---|---|
| rating | Yes | Rating 1-5 | |
| body_md | Yes | Review body in Markdown | |
| tool_slug | Yes | AI tool slug to review |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (which indicate mutation but not destructive), the description adds that reviews queue for moderation, which is valuable. However, it does not disclose other behaviors like identity requirements, rate limits, or effect on existing reviews.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, direct sentences with no wasted words. The moderation detail is placed naturally after the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should ideally mention what the tool returns (e.g., review ID, status). The omission of return value and any constraints makes it slightly incomplete, though the core purpose is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description need not repeat parameter details. It does not add any additional meaning beyond what the schema already provides, hence baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (submit a review) and the resource (AI tool), plus the key detail about admin moderation. No ambiguity, and no sibling tool competes for this purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (for submitting reviews) but does not explicitly state when to use or not use this tool, nor does it mention alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityCmaintenanceEnables AI agents to search products across affiliate networks, compare commissions, find arbitrage opportunities, and get auto-injected affiliate links via MCP.

Nexbidofficial
Alicense-qualityBmaintenanceAgentic commerce infrastructure for AI agents. MCP-native product discovery, contextual ad matching, and purchase facilitation with European privacy compliance (nDSG/GDPR).MIT- AlicenseAqualityAmaintenancex402 Ads lets AI agents buy and verify ad placements with per-request USDC payments. Agents can discover inventory, submit campaign context, receive structured placement options, and pay through x402 without API keys or accounts. Built for autonomous promotion, attribution, and pay-per-action agent commerce.7227MIT
- Alicense-qualityCmaintenanceEnables AI agents to discover, price, and purchase SaaS products, developer tools, and MCP servers with live Stripe checkout, affiliate program, and AgentTrust verification.MIT
Your Connectors
Sign in to create a connector for this server.