RottenAds affiliate offers
Server Details
Search CPL/CPA affiliate offers (telehealth, finance, insurance); apply as publisher or advertiser.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The two application tools are cleanly separated by audience (advertiser vs publisher), and get_offer vs search_offers have a clear detail-vs-query split. The only mild overlap is list_verticals, whose vertical/traffic-type data partly overlaps what search_offers/filters expose, but the descriptions frame it as a catalog overview.
All tools use consistent snake_case verb_noun naming (apply_as_*, get_*, list_*, search_*). The apply_as_ prefix is applied symmetrically to both application tools, and the pattern is entirely predictable.
Six tools is a lean, well-scoped surface for browsing offers and submitting applications; nothing looks redundant. It is slightly under-provisioned for the domain (no account/tracking tools), but each listed tool earns its place.
The read-only catalog path is covered end to end (discover via search/verticals, inspect via get_offer, understand via network info), plus both application intakes. However, there is no way to check application status, retrieve affiliate login/tracking links, or view any performance/reporting data, which are notable gaps for an affiliate network.
Available Tools
6 toolsapply_as_advertiserApply as an advertiserAInspect
Send an advertiser application: an offer you want publishers to promote on a CPL/CPA/CPS/RevShare basis. Use the applicant's real details and only with their consent. Our team answers by email. Returns a reference.
| Name | Required | Description | Default |
|---|---|---|---|
| caps | No | Daily or monthly caps | |
| geos | No | Countries the offer accepts | |
| name | Yes | Full name of the person applying | |
| Yes | Email where we send the answer (and the login, for publishers) | ||
| offer | Yes | What you want to promote: product/brand and offer type | |
| payout | No | Payout and model, e.g. '$25 CPL' or '40% RevShare' | |
| company | No | Company or brand name | |
| country | No | Country of the company | |
| message | No | Anything else we should know | |
| tracker | No | Your tracking platform: Everflow, Hitpath, Cake, other | |
| website | No | Website or LinkedIn | |
| telegram | No | Telegram handle, if any (our account managers work on Telegram) | |
| offer_url | No | Offer or landing page URL | |
| verticals | No | Vertical(s) of the offer | |
| agent_name | No | If you are an AI agent applying on someone's behalf: your name/product, e.g. 'Claude for Acme Media' | |
| allowed_traffic | No | Traffic types you allow |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorld=true, readOnlyHint=false and destructiveHint=false. The description adds genuinely new behavior: the application is reviewed by a human team and answered by email, and it returns a reference — a submission/human-review flow the annotations don't convey. It omits the non-idempotency implication (duplicate submissions), which is the one remaining gap.
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 short sentences, front-loaded with the core action, then consent constraint, then outcome. Nothing is wasted and no repetition of schema content.
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 16-parameter, human-reviewed submission tool with full schema coverage, the description covers purpose, consent requirement, review channel and return value ('a reference'). It could say more about what happens after submission or duplicate applications, but nothing an agent needs in order to call it correctly is missing.
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% across all 16 parameters, so the schema already carries parameter meaning and the baseline is 3. The description only adds marginal context by listing the accepted payout models (CPL/CPA/CPS/RevShare), which loosely maps to the 'payout' field.
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 gives a specific verb and resource ('Send an advertiser application') and defines the object as 'an offer you want publishers to promote on a CPL/CPA/CPS/RevShare basis', which makes the advertiser-side role unambiguous against apply_as_publisher. It never names the sibling or an alternative though, so differentiation is implicit in the naming rather than explicit in the text.
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?
It gives process guidance ('Use the applicant's real details and only with their consent', 'Our team answers by email') but no explicit when-to-use/when-not-to-use or routing to apply_as_publisher or get_offer. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_as_publisherApply as a publisherAInspect
Send a publisher (affiliate) application to RottenAds. Use the applicant's real details and only with their consent. A person reviews it; if approved, the dashboard login is emailed to the applicant. Returns a reference.
| Name | Required | Description | Default |
|---|---|---|---|
| geos | No | Countries you send traffic from, as two-letter codes | |
| name | Yes | Full name of the person applying | |
| Yes | Email where we send the answer (and the login, for publishers) | ||
| company | No | Company or brand name | |
| country | No | Country of the company | |
| message | No | Anything else we should know | |
| website | No | Website or LinkedIn | |
| telegram | No | Telegram handle, if any (our account managers work on Telegram) | |
| offer_ids | No | Ids of offers from search_offers you want to run | |
| verticals | No | Verticals you want to run, e.g. Telehealth, Insurance, Finance | |
| agent_name | No | If you are an AI agent applying on someone's behalf: your name/product, e.g. 'Claude for Acme Media' | |
| traffic_types | Yes | Traffic you send: Email, SMS, Meta, TikTok, Native, Display, Search, Push, Path, ... | |
| monthly_volume | No | Estimated monthly volume (clicks, leads or list size) | |
| list_and_consent | No | For email/SMS: how the list was built and how consent was collected |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare write/openWorld/non-idempotent/non-destructive, and the description adds real value beyond them: manual review, email delivery of login on approval, and a returned reference. It does not warn that re-calling creates duplicate applications (relevant given non-idempotent), but the behavioral disclosure is otherwise rich.
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?
Four tight sentences, purpose front-loaded, followed by consent constraint, review process, and return note. Every sentence carries distinct information with no padding.
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 14-param application tool with a fully documented schema and no output schema, the description covers the key gaps: consent, human review, email flow, and return value. Slightly more on duplicate-submission behavior would make it 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 description coverage is 100%, so all 14 parameters are already documented. The description adds no field-level detail beyond what the schema provides (e.g., formats for geos, traffic_types), so baseline 3 applies.
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?
States a specific verb and resource: 'Send a publisher (affiliate) application to RottenAds.' The '(affiliate)' clarification and 'publisher' framing implicitly separate it from apply_as_advertiser, though it never names that sibling explicitly.
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?
Gives clear operating context: 'Use the applicant's real details and only with their consent' plus notice of human review. It stops short of naming explicit alternatives (apply_as_advertiser) or when-not-to-use conditions, so it is strong but not full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_network_infoNetwork informationCRead-onlyInspect
How RottenAds works: payments, tracking, compliance rules, contact.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds nothing further: it does not say whether this returns a full document, links, or a structured config, nor anything about size, caching, or auth. The topic enumeration is the only added substance, and it is thin.
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?
A single short fragment with no waste, appropriately sized for a no-argument tool. It is not front-loaded with a verb or outcome, so it reads as a label rather than a lede, which keeps it just below top marks.
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, no-parameter tool with annotations covering safety, the description is adequate but leaves the agent unsure whether it gets prose documentation, a settings object, or contact links. No output schema exists, so a little more on the shape of the response would have closed the gap.
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?
With zero parameters there is nothing to disambiguate, so the baseline of 4 applies. The description's topic list does at least scope what kind of information the parameterless call yields.
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 enumerates the subject matter the tool covers (payments, tracking, compliance rules, contact), which tells the agent what information it surfaces, but it never states a verb or resource explicitly — 'How RottenAds works' is a topic label, not a purpose statement. Siblings like get_offer, list_verticals and search_offers are clearly different, so confusion risk is low, but the tool itself is only vaguely characterized as an unspecified overview/help resource.
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?
There is no indication of when an agent should call this versus the other tools, no prerequisites, and no exclusions. The topic list implies it is a general reference/help endpoint, but the agent must infer that itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_offerGet one offerARead-onlyInspect
Full details of one offer by its id (from search_offers).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Offer id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and locality are covered. The description adds only that the result is a single record's full details; it says nothing about behavior when the id doesn't exist or what the payload looks like, so with annotations carrying the safety profile a 3 is appropriate.
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?
A single compact sentence with the resource scoping and id provenance front-loaded and 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 one-parameter read tool with no output schema, the definition covers the essential call contract, but the absence of an output schema means it could have briefly characterized what 'full details' returns or how missing ids are handled. It is adequate but not 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 description coverage is 100% for the single 'id' parameter, so the schema already documents its type and meaning. The description adds a marginal hint that ids originate from search_offers, but no format or validity details beyond the schema — baseline 3.
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?
States a specific verb and resource ('Full details of one offer') and scopes it to a single item by id, which clearly separates it from the sibling search_offers list tool. It stops just short of enumerating what 'full details' contains, keeping it at 4 rather than 5.
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 parenthetical '(from search_offers)' implies the workflow: search first, then fetch by id. However, it gives no explicit when-to-use/when-not-to-use guidance or prerequisites, leaving the usage chain to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_verticalsList verticalsBRead-onlyInspect
Verticals in the catalog with the number of offers in each, and the traffic types offers accept.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=false, so safety is covered. The description contributes the return shape (per-vertical offer counts and traffic types), which matters because there is no output schema, but it says nothing about ordering, scale, or whether the list is complete.
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?
A single dense sentence with no filler, and the payload description is front-loaded. The fragment construction (no leading verb) is a minor structural weakness.
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 no-argument, read-only enumeration tool with no output schema, the description adequately conveys what comes back. Only the absence of any guidance on using the result alongside search_offers keeps it from a 5.
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 takes zero parameters, so the baseline is 4; there is nothing for the description to compensate for. No misleading parameter implications are present.
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?
Identifies the resource (verticals in the catalog) and the payload it returns (offer counts per vertical, plus accepted traffic types). It is a noun phrase rather than a verb phrase, but it is specific enough to distinguish it from siblings like search_offers and get_network_info.
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?
There is no statement of when to call this versus search_offers or get_network_info, and no prerequisites or exclusions. The agent must infer that this is a reference/enumeration lookup for taxonomy discovery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_offersSearch offersARead-onlyInspect
Search the RottenAds offer catalog. Every filter is optional; results are ranked with offers converting now first. Payout is what RottenAds pays the publisher per conversion (or the RevShare %).
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | Two-letter country code the offer must accept, e.g. US, UK, CA, DE | |
| limit | No | Max results (default 20) | |
| model | No | Payout model: CPL, CPA, CPS or RevShare | |
| query | No | Words to match in the offer name, vertical or restrictions, e.g. 'glp-1', 'auto insurance', 'roofing' | |
| traffic | No | Traffic type the offer must accept: Email, SMS, Meta, TikTok, Social, Native, Display, Search, Push | |
| vertical | No | Vertical name or part of it, e.g. Telehealth, Insurance, Finance, Home Services (see list_verticals) | |
| min_payout | No | Minimum fixed payout in the offer currency |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered structurally. The description adds genuinely new behavioral context: results are ranked with currently-converting offers first, which an agent cannot infer from the schema or annotations. It omits any statement about pagination behavior beyond the limit param, keeping it below 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying distinct information: what is searched, how filters and ranking behave, and what payout means. The most decision-relevant facts (optional filters, ranking order) are front-loaded with no filler.
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 7 all-optional parameters, 100% schema coverage and a read-only annotation, the description supplies enough to invoke the tool correctly. The remaining gap is that there is no output schema and the description never sketches what an offer result contains, so an agent must call it blind on the return shape.
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 baseline is 3, and the description earns a bump by defining domain vocabulary: 'Payout is what RottenAds pays the publisher per conversion (or the RevShare %)' clarifies what min_payout and model actually select. It stops short of explaining cross-filter interaction, e.g. whether min_payout is ignored for RevShare offers.
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?
States a specific verb and resource: 'Search the RottenAds offer catalog.' An agent immediately understands this is a filtered lookup over offers, but the description never differentiates from the sibling get_offer (single-offer fetch) or list_verticals, so the boundary is left to inference.
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 line 'Every filter is optional' sets invocation expectations, and the ranking note implies this is the browse/discovery entry point. However, it never says when to use this instead of get_offer for a known offer, nor when a result set should be narrowed rather than paged.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
apply_as_advertiser - First observed
apply_as_publisher - First observed
get_network_info - First observed
get_offer - First observed
list_verticals - First observed
search_offers
Related MCP Connectors
Search and discover affiliate programs with agent-ready data and commission details.
Affiliate programs, deals, tracked links and product search, plus merchant program setup tools.
Search 4,825 affiliate programs by commission, cookie window and network, with source confidence.
Find affiliates bidding on your brand in search ads, by country. First 100 searches free.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to search products across affiliate networks, compare commissions, find arbitrage opportunities, and get auto-injected affiliate links via MCP.-
- AlicenseAqualityCmaintenanceEnables users to manage affiliate marketing directly within Claude by connecting to the Affilync platform. Affiliates can search campaigns and track earnings, while brands can create campaigns, monitor performance, and manage affiliate applications through natural language.201MIT
- AlicenseNot gradedqualityDmaintenanceAffiliate product search for AI agents. Indexes structured merchant feeds — real prices, live stock, affiliate links built in. Works with any MCP client.MIT
- FlicenseNot gradedqualityNot gradedmaintenanceProvides comprehensive access to the Commission Junction affiliate network API for both publishers and advertisers. It enables users to manage affiliate links, track commissions, search for products, and handle order conversions through natural language interfaces.5-
Glama MCP Gateway
Add one secure layer between your agents and this server.