Skip to main content
Glama

verified-codes

Server Details

Verified discount & referral codes for crypto exchanges, cards and more — tested first-hand.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 62 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation4/5

get_code is an exact brand/slug lookup, list_brands browses/filters by category, and search_codes does free-text matching — three fairly distinct access patterns. There is minor overlap since both list_brands and search_codes can return multiple brand records, but descriptions make the boundaries clear.

Naming Consistency5/5

All three tools follow a clean verb_noun pattern (get_code, list_brands, search_codes) with consistent snake_case. No deviation or mixed conventions.

Tool Count4/5

Three tools is on the lean side but well-matched to a read-only verified-code directory. Each tool serves a distinct lookup mode, so nothing feels redundant or missing at the structural level.

Completeness4/5

The core retrieval surface is covered: exact lookup, category browse, and free-text search, which suits a read-only reference directory where CRUD is not expected. Minor gaps exist (e.g. no explicit category listing or last-verified freshness filter) but agents can work around them.

Available Tools

3 tools
get_codeGet the verified code for a brandA
Read-only
Inspect

Returns the full verified-code record for one brand: the code, the benefit, how to apply it, last-verified date, availability notes, and the guide/review URLs. Match by brand name or slug (e.g. 'kraken', 'Bybit Card').

ParametersJSON Schema
NameRequiredDescriptionDefault
brandYesBrand name or slug, e.g. 'kraken' or 'Bybit Card'

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
codeYes
slugYes
brandYes
statusYes
aliasesYes
benefitYes
categoryYes
keywordsYes
validityYes
expires_atYesNo fixed expiry timestamp is recorded. Consult validity and benefit_detail for trial windows and program conditions.
review_urlYes
signup_urlYes
how_to_applyYes
country_notesYes
last_verifiedYesISO date of the historical check recorded in the verification log, not an expiry date.
benefit_detailYes
verification_log_urlYes
verification_methodsYes

TDQS

A3.6/5.0
Behavior3/5

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 the exact-match lookup semantics, but says nothing about not-found behavior, ambiguity handling, or result freshness beyond the 'last-verified date' field.

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?

One front-loaded sentence covering both the return payload and the matching key, with zero filler. Every clause earns its place.

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 an output schema present and annotations covering read-only safety, the description need not document return values, and it is sufficient for a one-parameter lookup. It stops short of covering the failure case (brand not found) or routing to search_codes when the exact name is uncertain.

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% and the single parameter already documents 'Brand name or slug, e.g. kraken or Bybit Card'. The description's examples duplicate the schema verbatim, adding no new syntax, casing, or fallback guidance. Baseline 3 is appropriate.

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 states a specific verb and resource ('Returns the full verified-code record for one brand') and enumerates the record's contents, so the agent knows exactly what it retrieves. It is distinguishable from the list/search siblings by the 'one brand' scope, 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.

Usage Guidelines3/5

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

It tells the agent how to match ('by brand name or slug') but gives no guidance on when to use this versus search_codes or list_brands, nor what to do when the exact brand is unknown. Usage is implied by the singular-brand framing rather than stated.

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

list_brandsList all brands with verified codesA
Read-only
Inspect

Returns a brands array with each brand's category, offer and code (if any). Optionally filter by category: crypto-exchange, crypto-card, hardware-wallet, trading-tools, travel-esim, creator-tools, dining, home-design, ai-tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional category filter, e.g. 'crypto-exchange'

Output Schema

ParametersJSON Schema
NameRequiredDescription
brandsYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is handled. The description adds that the code field is optional ('if any') and enumerates the category filter values, but does not disclose pagination, result limits, or other behavioral nuances.

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 sentence that front-loads the return shape and immediately provides the filter options. There is no filler or redundant restatement of the tool name.

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?

For a single optional parameter with an output schema and read-only annotations, the description is largely sufficient. It lacks a brief note on how 'all brands' relates to 'verified codes' and whether results are paginated, but these are minor given the tool's simplicity.

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?

The schema describes the category parameter with only an example, while the description explicitly lists all nine valid category values. This adds real meaning beyond the schema, even though schema coverage is 100%.

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 returns a brands array with category, offer, and code, and identifies the optional category filter. It does not explicitly differentiate itself from the sibling tools get_code and search_codes, though the resource emphasized is brands rather than individual codes.

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 usage is implied: list all brands, optionally filtered by category. There is no explicit guidance about when to prefer list_brands over get_code or search_codes, nor any exclusions, so the agent must infer the appropriate context.

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

search_codesSearch codes by free textA
Read-only
Inspect

Free-text search across brands, categories and offers, e.g. 'stock perps discount', 'esim', '20% off exchange'. Returns matching verified-code records.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch terms

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
resultsYes

TDQS

A3.7/5.0
Behavior3/5

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 does add real context beyond the annotations: the search spans brands, categories and offers, and the results are 'verified-code records' rather than raw or all codes. It says nothing about match ranking, result caps, or empty-result behavior.

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?

One sentence for scope, one for the return, with the examples inline. No filler, no restatement of the title, and the searchable-domain information is front-loaded.

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?

For a single-parameter, read-only search with an output schema and annotations already in place, the description is close to sufficient: it covers domain, query style, and result nature. The only gap is ranking, pagination or result-limit behavior, which is minor given the output schema exists.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, and the description earns a bump by showing the actual shape of the query string through three examples. Those examples establish that 'query' is natural-language free text and not an ID or structured filter, which the schema's 'Search terms' alone does not convey.

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 verb and resource ('free-text search across brands, categories and offers') and specifies what it matches over, with concrete query examples. It never names the siblings get_code or list_brands, so an agent must infer that this retrieves multiple codes rather than one by ID or a brand list, but the purpose itself is unmistakable.

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 examples ('stock perps discount', 'esim', '20% off exchange') imply a query-shaped task and thereby imply when to reach for this tool, but there is no explicit statement of when to use it versus get_code or list_brands, and no exclusions. Usage is inferable rather than stated.

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. 2 tool updates
    • Changedget_code3 fields changed
      • changedOutput schema / properties / expires_at / description
        Previous value: -"The publisher's codes have no expiry date."New value: +"No fixed expiry timestamp is recorded. Consult validity and benefit_detail for trial windows and program conditions."
      • removedOutput schema / properties / validity / const
        Removed value: -"no-expiry"
      • addedOutput schema / properties / validity / enum
        Added value: +[
        +  "no-expiry",
        +  "terms-dependent"
        +]
    • Changedsearch_codes3 fields changed
      • changedOutput schema / properties / results / items / properties / expires_at / description
        Previous value: -"The publisher's codes have no expiry date."New value: +"No fixed expiry timestamp is recorded. Consult validity and benefit_detail for trial windows and program conditions."
      • removedOutput schema / properties / results / items / properties / validity / const
        Removed value: -"no-expiry"
      • addedOutput schema / properties / results / items / properties / validity / enum
        Added value: +[
        +  "no-expiry",
        +  "terms-dependent"
        +]
  2. 3 tool updates
    • Changedget_code1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "aliases": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "benefit": {
        +      "type": "string"
        +    },
        +    "benefit_detail": {
        +      "type": "string"
        +    },
        +    "brand": {
        +      "type": "string"
        +    },
        +    "category": {
        +      "type": "string"
        +    },
        +    "code": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "country_notes": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "expires_at": {
        +      "description": "The publisher's codes have no expiry date.",
        +      "type": "null"
        +    },
        +    "how_to_apply": {
        +      "type": "string"
        +    },
        +    "keywords": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "last_verified": {
        +      "description": "ISO date of the historical check recorded in the verification log, not an expiry date.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "review_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "signup_url": {
        +      "type": "string"
        +    },
        +    "slug": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "const": "active",
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    },
        +    "validity": {
        +      "const": "no-expiry",
        +      "type": "string"
        +    },
        +    "verification_log_url": {
        +      "type": "string"
        +    },
        +    "verification_methods": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "brand",
        +    "slug",
        +    "category",
        +    "code",
        +    "benefit",
        +    "benefit_detail",
        +    "status",
        +    "validity",
        +    "expires_at",
        +    "last_verified",
        +    "verification_methods",
        +    "verification_log_url",
        +    "aliases",
        +    "country_notes",
        +    "url",
        +    "review_url",
        +    "signup_url",
        +    "how_to_apply",
        +    "keywords"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_brands1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "brands": {
        +      "items": {
        +        "properties": {
        +          "benefit": {
        +            "type": "string"
        +          },
        +          "brand": {
        +            "type": "string"
        +          },
        +          "category": {
        +            "type": "string"
        +          },
        +          "code": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "brand",
        +          "slug",
        +          "category",
        +          "code",
        +          "benefit",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "brands"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_codes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "type": "integer"
        +    },
        +    "results": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "aliases": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "benefit": {
        +            "type": "string"
        +          },
        +          "benefit_detail": {
        +            "type": "string"
        +          },
        +          "brand": {
        +            "type": "string"
        +          },
        +          "category": {
        +            "type": "string"
        +          },
        +          "code": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "country_notes": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "expires_at": {
        +            "description": "The publisher's codes have no expiry date.",
        +            "type": "null"
        +          },
        +          "how_to_apply": {
        +            "type": "string"
        +          },
        +          "keywords": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "last_verified": {
        +            "description": "ISO date of the historical check recorded in the verification log, not an expiry date.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "review_url": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "signup_url": {
        +            "type": "string"
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "status": {
        +            "const": "active",
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          },
        +          "validity": {
        +            "const": "no-expiry",
        +            "type": "string"
        +          },
        +          "verification_log_url": {
        +            "type": "string"
        +          },
        +          "verification_methods": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "brand",
        +          "slug",
        +          "category",
        +          "code",
        +          "benefit",
        +          "benefit_detail",
        +          "status",
        +          "validity",
        +          "expires_at",
        +          "last_verified",
        +          "verification_methods",
        +          "verification_log_url",
        +          "aliases",
        +          "country_notes",
        +          "url",
        +          "review_url",
        +          "signup_url",
        +          "how_to_apply",
        +          "keywords"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "count",
        +    "results"
        +  ],
        +  "type": "object"
        +}
  3. 3 tool updates
    • First observedget_code
    • First observedlist_brands
    • First observedsearch_codes

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to fetch real-time exchange trading fees, compare rebate-adjusted costs, obtain referral links, calculate trading costs, and identify compliant exchanges for crypto trading.
    6
    96 npm
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    AI-native cryptocurrency exchange built for autonomous agents. Register, deposit USDC, select a strategy, and trade 8 crypto pairs (BTC, ETH, SOL + more) programmatically — no KYC required. Includes sandbox with 10,000 virtual USDC for testing.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to calculate and compare crypto exchange trading costs, including fees, funding, spreads, slippage, withdrawals, fiat on/off-ramps, VIP tiers, referral links, and country-specific availability. It provides sourced, annualized all-in cost analysis and recommendations for different trader profiles and volumes.
    19
    57 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources