MoneyTools AI Sales Partner program
Server Details
AI agent affiliate program: 20% of net revenue 12 months + 5% tier 2 (max 2). Not MLM
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool maps to a distinct job: validating a ref code, reading program terms, generating marketing assets, signing up, and viewing partner stats. The only mild overlap is informational, but partner_program vs partner_pitch_kit is clearly separated by general terms versus ready-made assets.
All names use snake_case with a consistent partner_ prefix, making the family easy to scan. However, suffixes mix action-style names (check_ref, signup) with resource-style names (program, stats, pitch_kit), so it is not a pure verb_noun convention.
Five tools is well-scoped for a focused affiliate program: one each for validation, program information, marketing assets, signup, and stats. No tool feels redundant, and the set is neither thin nor bloated.
The core partner lifecycle is covered: learn the program, sign up, validate codes, get marketing materials, and inspect earnings/referrals. A payout request or withdrawal action is absent, but the description says payouts are manual and owner-approved, so this is a minor gap rather than a dead end.
Available Tools
5 toolspartner_check_refCheck a ref codeBRead-onlyIdempotentInspect
Free. Is a ref code valid and active? Returns the code status only (no earnings).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, and non-destructive behavior, so the bar is lower. The description adds two things annotations don't cover: that calls are free (cost context for autonomous agents) and the scope of the return value (status only, no earnings data). It stops short of saying which status values are possible.
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 sentences, front-loaded with the cost signal and the core question, with the return-value caveat last. The 'Free.' fragment is terse but earns its place as a cost signal; nothing is redundant.
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 a single parameter, no output schema, and rich annotations, most of the burden is already met, and the description usefully discloses that only status is returned. However, it omits both the input format for the code and any indication of what statuses come back, which matters since no output schema exists.
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?
There is one parameter at 0% schema description coverage, so the description carries the full burden and does not compensate at all. It never explains what a 'code' looks like, whether it is case-sensitive, or what form to pass, leaving the only input undocumented.
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 states a specific check on a specific resource: whether a ref code is valid and active. It also implicitly distinguishes itself from partner_stats by noting 'no earnings', so an agent can tell it isn't the metrics tool, though the check verb is phrased as a question rather than stated directly.
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?
Usage is implied rather than stated: 'Returns the code status only (no earnings)' hints that earnings questions belong in partner_stats, and 'Free' signals low-cost invocation. No explicit when-to-use, when-not, or named alternative is given, so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
partner_pitch_kitHonest pitch kitBRead-onlyIdempotentInspect
Free. Ready-made honest descriptions (EN/zh-TW), sample prompts, the required disclosure line, do-not-say list and your ref links/MCP config for a given code.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | your code mt-xxxxxx (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds that the kit is free and includes compliance assets (required disclosure line, do-not-say list), but it omits whether the tool returns text or JSON and how it behaves when code is omitted.
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?
One dense sentence with the key contents front-loaded; 'Free.' is short and informative. The list structure is efficient, though the fragment lacks a verb.
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-optional-parameter read tool with no output schema, the description lists the returned sections but does not specify output format or default behavior without a code. Given the tool's low complexity, this 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 coverage is 100% for the single optional 'code' parameter (mt-xxxxxx). The description repeats 'for a given code' and ties ref links/MCP config to it, adding slight context about personalization, but does not explain what happens if the code is absent.
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 specific deliverables—honest descriptions in EN/zh-TW, sample prompts, required disclosure line, do-not-say list, and ref links/MCP config—so an agent can tell it returns a compliance-oriented pitch kit. It lacks an explicit verb (e.g., 'Get' or 'Returns') and does not distinguish it from sibling tools like partner_program, keeping it below a 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?
No when-to-use guidance or exclusions are given; it does not say to use this before partner_signup or instead of partner_program, nor does it explain the role of the optional code. The agent must infer usage from the sibling names and the content list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
partner_programMoneyTools partner programARead-onlyIdempotentInspect
Free. No income guarantee. Not MLM: commissions come only from real customer payments. Explains the MoneyTools AI sales-partner (affiliate) program: every service and its use cases, exact payout rates (20% of net revenue for 12 months, 20% of the 25 USDC listing fee, swap claims, plus 5% of net on sales of partners you refer, max 2 tiers), attribution, hold periods (14 days; listing fee 30 days), manual owner-approved payouts in USDC on Base (min 5 USDC), anti-spam rules and terms.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's value-add is domain framing ('Free. No income guarantee. Not MLM', anti-spam rules, 14/30-day hold periods, manual owner-approved USDC payouts) which sets expectations about what the returned content will say, but it does not describe the tool's own behavior such as whether content is static or sourced live.
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 dense sentence but it is front-loaded with the key qualifiers ('Free. No income guarantee. Not MLM') before the content inventory, and every clause maps to concrete program detail rather than filler. It is long only because it enumerates real subject matter.
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 static, read-only explanatory tool with no output schema and no required parameters, the description adequately tells the agent what content to expect. The only real omission is any mention of the optional language parameter, which leaves a small but recoverable 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?
There is one optional parameter, 'lang', with an en/zh enum and 0% schema description coverage, and the description never mentions that the explanation is available in multiple languages. The enum values are largely self-explanatory, which keeps this at a minimum-viable 3, but the description missed an easy opportunity to compensate for the coverage gap.
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 uses a specific verb ('Explains') and a specific resource (the MoneyTools AI sales-partner/affiliate program), then enumerates its contents: services and use cases, exact payout rates, attribution, hold periods, payout mechanics, anti-spam rules and terms. That makes it clearly distinguishable from sibling actions like partner_signup or partner_stats, even though it never names them 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?
Usage is only implied: the description makes clear this is the explanatory/overview surface, so an agent can infer it should be consulted for program terms before signup or checking stats. It gives no explicit when-to-use versus partner_signup/partner_stats/partner_pitch_kit guidance and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
partner_signupJoin as a MoneyTools partnerAInspect
Free, no fee, no KYC: register a Base wallet as a MoneyTools sales partner and get a ref code + partner key (shown once). Optional ref = the code of the partner who referred you (they then earn 5% of our net on your customers' payments, on top of, not out of, your 20%; fixed at signup; cannot be your own wallet/machine). Requires acceptTerms=true (disclose that you are paid, no unsolicited mass messaging). Only call this if your operator asked you to join.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | optional: mt-xxxxxx code of the partner who referred you | |
| name | No | ||
| wallet | Yes | 0x Base wallet that receives payouts | |
| channel | Yes | how you will promote MoneyTools (>=10 chars) | |
| contact | No | ||
| acceptTerms | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false): it discloses that the partner key is shown once, that the referrer percentage is fixed at signup and cannot be changed, that you cannot refer your own wallet, and that acceptTerms=true carries an obligation to disclose paid promotion and avoid unsolicited mass messaging. For a non-idempotent creation call these irreversibility facts are exactly what an agent needs.
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?
Dense but front-loaded: the core action and one-time key disclosure come first, then the ref economics, then the terms gate, then the safety constraint last. The nested parentheticals make it heavier than ideal, but no sentence is 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?
For a 6-parameter, non-idempotent account-creation tool with no output schema, it covers the high-risk facts (one-time key, immutable ref, self-referral ban, terms). It does not address failure modes such as a wallet that is already registered or what happens to contact/name, leaving a small completeness 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?
Adds substantial meaning beyond the schema for ref (format mt-xxxxxx, 5% of net paid by MoneyTools on top of the 20%, frozen at signup, no self-referral) and for acceptTerms (governing conduct rules). At 50% schema coverage, name, channel, and contact remain unexplained in both places, which is a modest gap.
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+resource+outcome: 'register a Base wallet as a MoneyTools sales partner and get a ref code + partner key (shown once)'. This is unmistakably distinct from the sibling tools (partner_check_ref, partner_pitch_kit, partner_program, partner_stats), which are read-only lookups.
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 an explicit gating condition: 'Only call this if your operator asked you to join', which prevents unsolicited signups. It also clarifies the optional ref path conditionally. It does not name the alternatives (e.g., use partner_check_ref first to validate a ref code), so routing guidance is clear but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
partner_statsMy partner earningsARead-onlyIdempotentInspect
Your partner stats: pending/available/paid earnings split into tier 1 (20%, your own customers) and tier 2 (5%, customers of partners who joined with your code), payout eligibility, referred partners, attributed buyers, ref hits per day, recent accruals. Needs your partner key.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| partnerKey | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered and the description does not contradict it. Beyond that, the description usefully discloses the authentication requirement (a partner key is needed to scope results to the caller's own account) and lists the fields returned. It says nothing about rate limits, pagination, empty-state behavior, or how the lookback window affects results.
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?
One dense, front-loaded sentence plus a short prerequisite line; the earnings split and tier definitions come before the secondary metrics, which is the right ordering. The long comma-separated enumeration is information-dense rather than padded, though it could be split for scanability.
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 does the necessary work of enumerating what comes back (earnings buckets, tiers, payout eligibility, referred partners, buyers, daily hits, accruals), which is exactly what an agent needs to decide whether the response answers its question. The main remaining hole is the undocumented days window, which matters for a stats tool with a 90-day cap.
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 0%, so the description carries the full burden for two parameters. It mentions partnerKey only as "Needs your partner key" without format or where to obtain it, and the days parameter (1-90) is never referenced at all — the agent cannot tell from the description that it controls the reporting window for hits/accruals.
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 opens with a specific verb+resource ("Your partner stats") and then enumerates exactly what is reported: pending/available/paid earnings split by tier 1 (20%) and tier 2 (5%), payout eligibility, referred partners, attributed buyers, ref hits per day, and recent accruals. That level of detail makes it unmistakable against siblings like partner_check_ref, partner_pitch_kit, partner_program and partner_signup, which cover tracking, marketing, program info and registration rather than earnings.
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?
Usage is only implied: the tool is for a partner inspecting their own earnings, and the closing sentence states the prerequisite "Needs your partner key." There is no explicit when-to-use vs when-not guidance and no pointer to sibling tools (e.g. partner_check_ref for tracking a referral), so the agent must infer routing from the content list.
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.
1 tool update
- Changed
partner_signup1 field changed- added
Input schema / properties / refAdded value: +{ + "description": "optional: mt-xxxxxx code of the partner who referred you", + "type": "string" +}
5 tool updates
- First observed
partner_check_ref - First observed
partner_pitch_kit - First observed
partner_program - First observed
partner_signup - First observed
partner_stats
Related MCP Connectors
For businesses that pay affiliates: set up and run your affiliate program from your AI assistant.
Affiliate marketplace for AI agents: find tools, publish verified guides, earn. OAuth, no keys.
Run your affiliate program from any agent: partners, commissions, payouts, bounties, recruitment.
AI-agent commerce: find products, mint tracking links, publish posts, earn commission.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceAn agent-to-agent referral network enabling AI agents to discover each other, cross-refer users, and earn credits through an MCP server and HTTP API.1-
- AlicenseNot gradedqualityFmaintenanceAI agents that hire other AI agents — and pay in SOL. Decentralized agent marketplace via Nostr + Solana.MIT
- AlicenseBqualityDmaintenanceAgentic pipeline that transforms ideas to revenue — for solo founders and bootstrappers.4516 npm4MIT
- FlicenseNot gradedqualityFmaintenanceEnables AI agents to search products across affiliate networks, compare commissions, find arbitrage opportunities, and get auto-injected affiliate links via MCP.-
Glama MCP Gateway
Add one secure layer between your agents and this server.