{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "banking-data",
    "endpoint": "https://mcp.rightcard.ai/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rightcard-mcp.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/rightcard-mcp.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/rightcard-mcp.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 903,
        "counts": {
          "error": 0,
          "note": 1,
          "warn": 9
        },
        "findings": [
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "card",
            "message": "its one parameter, id, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "lookup_merchant",
            "message": "its one parameter, name, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "rotating_calendar",
            "message": "its one parameter, card_id, has no description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "search_cards",
            "message": "none of its 3 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "best_card",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "card",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "lookup_merchant",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Its name starts with \"lookup\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "rotating_calendar",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "search_cards",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
          },
          {
            "rule": "TC24",
            "severity": "note",
            "message": "5 of 5 tools have no outputSchema",
            "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
          }
        ]
      },
      "checkedAt": "2026-10-04T22:20:34Z",
      "count": 5,
      "schemaTokens": 903,
      "status": "ok",
      "tools": [
        {
          "name": "best_card",
          "title": "Best card for a store or category",
          "description": "Which of the given cards earns the most at a store (merchant) or for a spend category, today. Returns the card, the honest rate, why, and caveats (merchant-code traps, activation, ties). Base rates + rotating bonuses + built-in card benefits only; a user's personal bank offers live on their phone and are not consulted here.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "properties": {
              "category": {
                "description": "Spend category when there is no specific store.",
                "enum": [
                  "dining",
                  "grocery",
                  "travel",
                  "gas",
                  "online",
                  "drugstore",
                  "transit",
                  "streaming",
                  "general"
                ],
                "type": "string"
              },
              "chosen_categories": {
                "additionalProperties": {
                  "items": {
                    "enum": [
                      "dining",
                      "grocery",
                      "travel",
                      "gas",
                      "online",
                      "drugstore",
                      "transit",
                      "streaming",
                      "general"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                },
                "description": "For choose-your-category cards (Citi Custom Cash, BofA Customized, Venmo): card id → the categories the person set.",
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "merchant": {
                "description": "Store name, e.g. 'Costco', 'Whole Foods', 'Uber'. Use this OR category.",
                "type": "string"
              },
              "on": {
                "description": "Date (YYYY-MM-DD, UTC) for rotating windows; defaults to today.",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                "type": "string"
              },
              "valuation": {
                "default": "cash",
                "description": "'cash' counts every point at 1¢ (default). 'points' values points per program at conservative travel values.",
                "enum": [
                  "cash",
                  "points"
                ],
                "type": "string"
              },
              "wallet": {
                "description": "Card ids the person holds (from search_cards).",
                "items": {
                  "type": "string"
                },
                "minItems": 1,
                "type": "array"
              }
            },
            "required": [
              "wallet"
            ],
            "type": "object"
          }
        },
        {
          "name": "lookup_merchant",
          "title": "How a store is coded",
          "description": "The store's reward category as RightCard's directory files it, its merchant type, and the merchant-code caveat when a category bonus usually will not post there (superstores like Walmart/Target, warehouse clubs like Costco/Sam's). Same ranking the app uses.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "properties": {
              "name": {
                "minLength": 2,
                "type": "string"
              }
            },
            "required": [
              "name"
            ],
            "type": "object"
          }
        },
        {
          "name": "search_cards",
          "title": "Find card ids",
          "description": "Search RightCard's catalog by card or issuer name to get the ids to pass into best_card. Verified cards first; unverified cards are flagged, never hidden.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "properties": {
              "issuer": {
                "type": "string"
              },
              "limit": {
                "default": 12,
                "maximum": 50,
                "minimum": 1,
                "type": "integer"
              },
              "query": {
                "minLength": 2,
                "type": "string"
              }
            },
            "required": [
              "query"
            ],
            "type": "object"
          }
        },
        {
          "name": "card",
          "title": "A card's verified rates",
          "description": "Everything RightCard knows about one card: rates by category, base rate, currency, annual fee, verification status, live rotating windows, and the choose-your-category spec if it has one.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "properties": {
              "id": {
                "type": "string"
              }
            },
            "required": [
              "id"
            ],
            "type": "object"
          }
        },
        {
          "name": "rotating_calendar",
          "title": "Rotating 5% windows",
          "description": "Live and upcoming rotating-category windows (Freedom Flex, Discover it, Citi Dividend…) and permanent merchant benefits, from the same verified data as the app. Optionally filter by card id.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "properties": {
              "card_id": {
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      ]
    },
    "name": "RightCard",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": [
      {
        "registryType": "npm",
        "identifier": "rightcard-mcp",
        "version": "0.1.5",
        "transport": "stdio"
      }
    ],
    "pageJsonUrl": "https://www.anchorterminal.com/tools/rightcard-mcp.json",
    "popularity": {
      "githubStars": 0,
      "npmWeekly": 397
    },
    "registryName": "ai.rightcard/mcp",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://mcp.rightcard.ai/mcp"
      }
    ],
    "repository": "https://github.com/rightcard/rightcard-mcp",
    "reviewed": false,
    "slug": "rightcard-mcp",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=ai.rightcard/mcp",
    "summary": "Which of your credit cards to use at any store, from verified bank data. No bank login.",
    "updatedAt": "2026-09-28T06:12:00Z",
    "url": "https://www.anchorterminal.com/tools/rightcard-mcp",
    "vendor": "rightcard.ai",
    "vendorUrl": "https://rightcard.ai/mcp",
    "version": "0.1.5",
    "websiteUrl": "https://rightcard.ai/mcp",
    "where": "both",
    "why": [
      "vendor"
    ]
  }
}
