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 with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 40 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation4/5

The three tools serve distinct lookup modes: direct brand lookup, structured category browsing, and free-text search. There is minor overlap because list_brands and search_codes both return code information, but their intended use cases are clear enough to avoid major misselection.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: get_code, list_brands, search_codes. This makes the tool set predictable and easy for an agent to reason about.

Tool Count5/5

Three tools is well-scoped for a read-only verified-codes lookup service. Each tool covers a distinct access path—single record, list by category, and full-text search—without unnecessary duplication.

Completeness5/5

The domain is retrieving verified discount/code information, and the tool set covers direct retrieval, browsing by category, and free-text discovery. Since this appears to be a read-only data source, no create/update/delete operations are expected, so there are no obvious dead ends.

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_atYesThe publisher's codes have no expiry date.
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

A4.1/5.0
Behavior3/5

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

Annotations already signal a safe read-only operation, so the description does not need to cover destructive or side-effect behavior. It adds useful context about matching by name or slug and the composition of the returned record, though it does not disclose edge-case behaviors like case sensitivity or missing brands.

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, front-loaded with the return value and followed by matching guidance. Every clause earns its place; no filler or restatement.

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

Completeness5/5

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

For a low-complexity single-parameter lookup, the description, input schema, output schema, and read-only annotations together cover what the agent needs. The validation rule is clear, examples are provided, and nothing important 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?

Schema coverage is 100%, and the property description already provides examples ('kraken' or 'Bybit Card'). The description repeats these examples but does not add significant new parameter-level meaning, so the baseline of 3 applies.

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 states a specific action ('Returns the full verified-code record') and a clear scope ('for one brand'), and enumerates what fields are included. The singular-resource scope also distinguishes it from siblings list_brands and search_codes without ambiguity.

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 clearly establishes the lookup context: use when you need one brand's complete verified-code record, matched by brand name or slug. It does not explicitly name alternatives or exclusion conditions, but the one-brand targeting makes the intended use evident.

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

A4.3/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, covering the safety and completeness profile. The description adds that results are 'matching verified-code records,' but does not discuss ordering, result limits, or empty-result behavior. With annotation coverage, 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.

Conciseness5/5

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

One tightly written sentence that front-loads the action and scope, then illustrates with examples. Every clause carries useful information and there is no repetition of the schema or annotations.

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

Completeness5/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 tool with full schema documentation and an output schema present, the description provides everything an agent needs to invoke it correctly. The examples and scope statement remove ambiguity about query intent.

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 'query' parameter is already documented as 'Search terms.' The description goes beyond this by explaining the free-text nature and giving three diverse example queries that clarify expected phrasing and scope. This adds genuine value.

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?

States a specific verb ('search'), resource ('verified-code records'), and search surface ('brands, categories and offers'). The title and description clearly differentiate it from siblings: get_code is for looking up a specific code and list_brands is for listing brands, not free-text searching.

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?

Provides clear usage context with concrete examples ('stock perps discount', 'esim', '20% off exchange') that tell an agent what kind of queries belong here. It does not explicitly name when-not-to-use it or point to get_code/list_brands as alternatives, so it stops short of a 5.

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. 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"
        +}
  2. 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
    270 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
    247 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources