Skip to main content
Glama

Tenmomo

Server Details

Cashback catalogue of 2,700+ US retailers: store search, rates, deals, tracked activation.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation3/5

Most tools map cleanly to categories, stores, and deals, but activate_cashback and get_activation_url both return cashback activation URLs and could easily be confused. The descriptions hint that one is personalized and the other store-level, but the boundary is not obvious.

Naming Consistency5/5

All tool names use a consistent snake_case verb_noun pattern (get/list/search/activate), making the API predictable. There are no mixed conventions or vague verbs.

Tool Count5/5

Seven tools is a well-scoped size for a cashback discovery and activation server. Each tool addresses a distinct part of the user journey without unnecessary bloat.

Completeness4/5

The surface covers browsing categories, searching stores, viewing store details, fetching deals, and generating activation links. A minor gap is the lack of any post-activation verification or status tool, but the core workflow is complete.

Available Tools

7 tools
activate_cashbackAInspect

Generate a personalized cashback activation link for a user. Requires the user's Tenmomo API key (sk-tm-...). The returned URL must be opened in a browser to set tracking cookies before shopping.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYesUser's Tenmomo API key (sk-tm-...)
store_idYesStore ID to activate cashback for

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses the cookie-setting browser requirement and the API-key prerequisite, but it does not mention side effects, link expiration, failure modes, or any reversibility concerns. This is meaningful but incomplete context for a tool that creates a personalized activation artifact.

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

Conciseness5/5

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

The description is two sentences with the core purpose front-loaded and no filler. Both sentences contribute necessary information: what the tool generates and the critical follow-up step an agent must communicate to the user.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter generator, the description covers the required credential, the nature of the output URL, and the required post-step. It is slightly incomplete because it never mentions the need to supply a store_id and gives no hint of link validity or failure behavior, and there is no output schema to supply that missing context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents api_key and store_id thoroughly. The description adds the API key format and emphasizes user-level personalization, but it does not add any new semantics for store_id beyond what the schema already provides.

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

Purpose4/5

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

The description clearly identifies the action ('Generate') and the deliverable ('personalized cashback activation link') and notes it is for a user. However, it does not distinguish this tool from the sibling get_activation_url, so an agent may have to inspect both to know which to choose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides operational context: the user's API key is required and the returned URL must be opened in a browser to set tracking cookies. It does not explicitly say when to use this tool over siblings or when not to use it, leaving some selection ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_activation_urlAInspect

Get the cashback activation URL for a store. Users must click this link before shopping to earn cashback.

ParametersJSON Schema
NameRequiredDescriptionDefault
store_idYesStore ID

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether the operation is read-only, requires authentication, or has any side effects or expiration details. It only states the action and purpose, which is minimal for a tool with no structured safety hints.

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

Conciseness5/5

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

Two sentences with no filler. The core purpose and the critical prerequisite are front-loaded, making it highly efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description implies the return value (a URL) and states the usage requirement. It does not specify the URL format or any edge cases, but for a simple one-parameter getter, it covers the essential information an agent needs to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single store_id parameter, with a basic 'Store ID' description. The tool description adds no additional meaning about the parameter, so it meets the baseline of 3 but does not elevate it.

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

Purpose5/5

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

The description clearly states the action (get), the resource (cashback activation URL for a store), and the purpose (must be clicked before shopping to earn cashback). It distinguishes itself from siblings like activate_cashback by specifying it returns a URL rather than performing activation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context on when to use (before shopping) and why (to earn cashback), but does not explicitly mention alternatives or when not to use it. The sibling activate_cashback might be confused, but the description implies this tool is for obtaining the URL, leaving the distinction implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_dealsBInspect

Find active coupon codes and deals. Optionally filter by store ID or search by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 20, max 50)
queryNoSearch keyword for deals
store_idNoFilter deals for a specific store

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states deals are 'active' but does not disclose return format, pagination, sorting, rate limits, or side effects. For a read-style tool (get_deals) this is a gap; a simple note that it returns a list or that it is read-only would be expected.

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

Conciseness5/5

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

The description is two sentences with no filler. The first sentence states the core purpose and the second adds optional filters. Information is front-loaded and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 optional parameters, no output schema, and no annotations, the description is adequate but thin. It lacks any statement about return values, result format, or behavior when no filters are applied. For an agent, this may be enough for a simple lookup, but a bit more context would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds slight value by explicitly saying 'filter by store ID or search by keyword', mapping to store_id and query, but does not add meaning beyond the schema for limit. Overall it meets the baseline without exceeding it.

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

Purpose4/5

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

The description clearly states the tool finds active coupon codes and deals, using the verb 'find'. It also mentions optional filtering by store ID or keyword, which distinguishes it from sibling store-search tools. However, it does not explicitly name a sibling or contrast with alternatives, so slightly short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for finding deals, optionally filtered by store_id or query. It gives context for when to use the parameters, but does not explicitly state when not to use it or mention alternatives among siblings. No exclusions or direct comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_store_detailsAInspect

Get full details for a specific store including all cashback tiers, active coupons, and categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
store_idYesStore ID

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It implies a read-only operation via 'Get' and lists returned content, but does not explicitly state that it has no side effects, nor does it mention error behavior or authentication requirements. For a simple get, this is adequate but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It immediately states the action and key content, making it easy for an agent to parse quickly. Every word contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description does a good job of hinting at the response contents (cashback tiers, coupons, categories). However, 'full details' is somewhat vague and could be more explicit about what else is included. Still, it is sufficiently complete for a simple single-store retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents store_id as 'Store ID' (100% coverage). The description adds minor context by tying the parameter to 'a specific store', but it does not explain format or any special semantics beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states a specific verb ('Get') and resource ('full details for a specific store'), and enumerates the content (cashback tiers, active coupons, categories), which distinguishes it from sibling tools like get_deals or search_stores. An agent can immediately understand what this tool does and how it differs from its neighbors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context—it is for retrieving comprehensive store information—but does not explicitly mention when not to use it or name alternative tools. It implies usage ('when you need full store details'), which is sufficient given the sibling list, but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_stores_by_categoryCInspect

Get all cashback stores in a specific category.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 30, max 100)
category_idYesCategory ID (use list_categories to find IDs)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does not state that the operation is read-only, does not explain the effect of the limit parameter (and even contradicts it by claiming 'all' stores while a limit is imposed), and does not mention response format or any side effects. This is a significant gap for a simple listing tool.

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

Conciseness4/5

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

The description is a single, direct sentence that front-loads the action and resource. It is concise and readable. However, it is so terse that it omits critical details, though this does not penalize conciseness itself. It earns a high score for efficiency, though not perfection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description is incomplete for an agent to call correctly. It fails to clarify pagination behavior (the limit parameter), what fields are returned, or any limitations. The claim of returning 'all' stores is misleading given the default limit of 30. The description does not cover enough context for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both category_id and limit fully described in the input schema. The description adds no extra semantic value beyond the schema, so the baseline of 3 applies. It does not clarify relationships between parameters or provide usage nuances.

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

Purpose4/5

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

The description clearly states the action (get) and resource (cashback stores) filtered by category. It is unambiguous about the core purpose. However, it does not explicitly differentiate from siblings like search_stores or get_deals, though the specific 'by_category' phrasing implies a distinct use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives such as search_stores or get_deals. It lacks any contextual cues, prerequisites, or exclusions. An agent is left to infer when this tool is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesBInspect

List all shopping categories with store counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic function and does not mention whether the list is ordered, paginated, includes only active categories, or any rate limits. It also doesn't explicitly state it's a read-only operation, though that is implied. This is insufficient for a tool with zero 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.

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the action and resource. Every word contributes to the meaning, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no params, no output schema), the description provides the core purpose. However, it omits any details about the response format, ordering, or potential limitations, leaving an agent uncertain about what to expect. For a simple tool this may be acceptable, but it could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and the schema is empty with 100% coverage (trivially). The description adds no parameter information, but there is nothing to add. Baseline for 0 params is 4, and the description doesn't need to compensate for any missing parameter documentation.

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

Purpose4/5

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

The description clearly states the action ('List') and the resource ('shopping categories'), and specifies it includes store counts. It is distinct from sibling tools like get_stores_by_category (which returns stores per category) and search_stores, though it doesn't explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus siblings. The description only states what it does, leaving the agent to infer when a full category list is needed. There are no exclusions, conditions, or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_storesBInspect

Search for cashback-eligible stores by name or keyword. Returns store name, cashback rate, and category.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 20, max 50)
queryYesStore name or keyword to search for

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses the output fields and the cashback-eligible scope, but does not state that it is a read-only operation, nor address result limits, pagination, or error behavior. For an unannotated tool, this is a meaningful gap.

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

Conciseness5/5

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

A single, front-loaded sentence that immediately states the tool's purpose and output. No filler or redundant phrasing, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter search tool, the description covers the core purpose and return fields, but is incomplete in guiding the agent on when to choose this over siblings and in disclosing operational behavior. The schema covers parameter details, but external context such as read-only safety and pagination is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% description coverage for both query and limit, so the baseline is 3. The description adds no extra semantics about match behavior (e.g., partial vs exact, case sensitivity). It does reiterate the query keyword concept, but that adds little beyond the schema.

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

Purpose4/5

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

States a specific action ('Search for cashback-eligible stores') with a clear resource and input method ('by name or keyword'). It also lists the returned fields, which further distinguishes it from sibling get_stores_by_category. However, it does not explicitly name any sibling or contrast itself, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives like get_stores_by_category for category-based searches, nor any prerequisites for cashback eligibility. The usage context is only implied by the action itself.

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. 7 tool updates
    • First observedactivate_cashback
    • First observedget_activation_url
    • First observedget_deals
    • First observedget_store_details
    • First observedget_stores_by_category
    • First observedlist_categories
    • First observedsearch_stores

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Affiliate product search for AI agents. Indexes structured merchant feeds — real prices, live stock, affiliate links built in. Works with any MCP client.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Real Amazon (US, UK, DE, CA, AU) & Walmart shopping data for AI assistants: ranked product shortlists, current prices, live stock, real ratings, and price/BSR history from a 17M+ product warehouse. Free hosted endpoint, no signup — 30 queries a day.
    3
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Query 13,000+ US consumer lenders with eligibility criteria, rates, CFPB complaints, and ratings. Find matching lenders by borrower profile, get full profiles, compare lenders, and check eligibility.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources