Skip to content

KeeSpecs

xyz.keespecs/keespecskeespecs.xyzstreamable-httpv1.0.0Scanned

Keeta network data for agents: free reads, plus x402 quotes for paid reports. No key needed.

39 tools: 3 do something that can't be undone, 15 change things and 21 only read.

Tools: 0 delete, 3 irreversible, 15 write, 21 read.
  • Reads private data · 2
  • Reads text others write · 39
  • Can send data out · 3
  • 3 findings

Anlyon alternative

18 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

39 tools

Can't be undone 3Claude Code: ask
  • quote_bridge_routeWhether a published one-hop bridge path exists between two chains for a token.Reads text others writeCan send data out1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a destination (input.to): what the tool writes goes there.

    Findings

    • Warn

      The server marks "quote_bridge_route" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Whether a published one-hop bridge path exists between two chains for a token. Not a quote or a transfer. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_convert_checkGo, caution or no-go before a convert or bridge on Keeta.Reads text others writeCan send data out1 finding

    Why it is in this group

    • The name "quote_convert_check" says "convert": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a destination (input.to): what the tool writes goes there.

    Findings

    • Warn

      The server marks "quote_convert_check" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "quote_convert_check" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Go, caution or no-go before a convert or bridge on Keeta. Not a quote or a guarantee. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_stablecoin_fxPeg check for Keeta's same-currency stablecoin anchor.Reads text others writeCan send data out1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a destination (input.to): what the tool writes goes there.

    Findings

    • Warn

      The server marks "quote_stablecoin_fx" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Peg check for Keeta's same-currency stablecoin anchor. Not an FX rate. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
Changes things 15Claude Code: ask
  • quote_address_checkWhether a Keeta address has history, with a 0-100 score.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Whether a Keeta address has history, with a 0-100 score. Not proof of personhood. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_alpacaAlpacaDEX pools with 24-hour volume, priced in KTA.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    AlpacaDEX pools with 24-hour volume, priced in KTA. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_anchorsNewest movement of Keeta's anchors in one activity page, and the median block fee.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Newest movement of Keeta's anchors in one activity page, and the median block fee. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_bridge_speedHow fast transfers move into and out of Keeta, measured on Keeta only.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    How fast transfers move into and out of Keeta, measured on Keeta only. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_changesStored change history.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Stored change history. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_deskDesk: one combined read in place of several single reads, priced per call.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Desk: one combined read in place of several single reads, priced per call. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_moversCommunity tokens and official stablecoins ranked by send count.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Community tokens and official stablecoins ranked by send count. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_networkLive throughput and settlement time in one call.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Live throughput and settlement time in one call. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_persist_checkPer-account check before storing data on Keeta.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Per-account check before storing data on Keeta. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_price_crossingsWhen the price marks crossed the 1% line or came back inside it.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    When the price marks crossed the 1% line or came back inside it. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_pricesPrice check: two price marks for KTA and whether they agree within 1%.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Price check: two price marks for KTA and whether they agree within 1%. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_pulseLedger totals, tx/s over the last minute, and the latest blocks.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Ledger totals, tx/s over the last minute, and the latest blocks. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_regimeWhether Keeta's rail is quiet or slow over the last hour.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Whether Keeta's rail is quiet or slow over the last hour. Not a forecast. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_settlementMedian and p95 settlement time across representatives, 15-minute window.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Median and p95 settlement time across representatives, 15-minute window. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_token_checkWhether a Keeta token named by ticker or address is the official one.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Whether a Keeta token named by ticker or address is the official one. Pass token or symbol, not both. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
Only reads 21Show 21 read-only tools
  • get_accountHead block, height, representative, published name and balances for one address.Reads text others writeNo findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Head block, height, representative, published name and balances for one address. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_activityLatest confirmed events that touched an address, up to 8.Reads text others writeNo findings

    Why it is in this group

    • The name "get_activity" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Latest confirmed events that touched an address, up to 8. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_balanceOne token balance on one Keeta address.Reads text others writeNo findings

    Why it is in this group

    • The name "get_balance" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One token balance on one Keeta address. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_blockOne Keeta block by its 64-character hash.Reads text others writeNo findings

    Why it is in this group

    • The name "get_block" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One Keeta block by its 64-character hash. Amounts are ledger integers. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_directoryEvery token in the Keeta currency map with its reported supply.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_directory" says "get": a word for reading.

    What it can reach

    • private-dataThe name "get_directory" says "get" and "directory": it reads files.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Every token in the Keeta currency map with its reported supply. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_ecosystemThe KeeSpecs directory: Keeta's own products and apps, plus community entries seeded from their own public pages.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_ecosystem" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "directory": it reads files.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The KeeSpecs directory: Keeta's own products and apps, plus community entries seeded from their own public pages. Community entries are unclaimed or self-claimed, not verified by KeeSpecs. Not a ranking. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_outboxLatest blocks an address itself published, up to 8.Reads text others writeNo findings

    Why it is in this group

    • The name "get_outbox" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Latest blocks an address itself published, up to 8. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_permissionsWho may act on an account.Reads text others writeNo findings

    Why it is in this group

    • The name "get_permissions" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Who may act on an account. Read only. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_portfolioEvery token one address holds, up to 40.Reads text others writeNo findings

    Why it is in this group

    • The name "get_portfolio" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Every token one address holds, up to 40. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_priceDollar price of KTA from the deepest pool, with 1-hour and 24-hour change.Reads text others writeNo findings

    Why it is in this group

    • The name "get_price" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Dollar price of KTA from the deepest pool, with 1-hour and 24-hour change. Not a forecast. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_providersKeeta's published anchor providers and what their metadata says they connect.Reads text others writeNo findings

    Why it is in this group

    • The name "get_providers" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Keeta's published anchor providers and what their metadata says they connect. Not a quote. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_representativesKeeta representatives holding voting weight, heaviest first.Reads text others writeNo findings

    Why it is in this group

    • The name "get_representatives" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Keeta representatives holding voting weight, heaviest first. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_storage_quotasCurrent Keeta storage limits: max object size, objects and bytes per user.Reads text others writeNo findings

    Why it is in this group

    • The name "get_storage_quotas" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Current Keeta storage limits: max object size, objects and bytes per user. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_supplyOn-chain supply of KTA, USDC, EURC and cbBTC.Reads text others writeNo findings

    Why it is in this group

    • The name "get_supply" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    On-chain supply of KTA, USDC, EURC and cbBTC. Token amounts, not prices. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_tokenName, code, decimals and supply of one Keeta token.Reads text others writeNo findings

    Why it is in this group

    • The name "get_token" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Name, code, decimals and supply of one Keeta token. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_x402_healthWhether the Keeta x402 facilitator answers right now.Reads text others writeNo findings

    Why it is in this group

    • The name "get_x402_health" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Whether the Keeta x402 facilitator answers right now. If it is down, paid reads cannot settle. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • list_skillsList KeeSpecs skills: which read to call and when.Reads text others writeNo findings

    Why it is in this group

    • The name "list_skills" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List KeeSpecs skills: which read to call and when. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • lookup_usernameA keeta.xyz name to its Keeta address, or an address back to its name.Reads text others writeNo findings

    Why it is in this group

    • The name "lookup_username" says "lookup": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    A keeta.xyz name to its Keeta address, or an address back to its name. Pass both to check they still match. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • quote_statusThree pass/fail/unknown checks for this minute: ledger activity, settlement time, price agreement.Reads text others writeNo findings

    Why it is in this group

    • The name "quote_status" says "status": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Three pass/fail/unknown checks for this minute: ledger activity, settlement time, price agreement. Returns the x402 payment quote for this read (price, network, asset, pay-to, and the exact URL). It does not return data. To buy, GET the returned URL over HTTP and pay with x402; check get_x402_health first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • read_skillReturn one KeeSpecs skill as Markdown (for example read-price).Reads text others writeNo findings

    Why it is in this group

    • The name "read_skill" says "read": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Return one KeeSpecs skill as Markdown (for example read-price). Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • search_tokensTicker, name or description to matching Keeta token addresses.Reads text others writeNo findings

    Why it is in this group

    • The name "search_tokens" says "search": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Ticker, name or description to matching Keeta token addresses. Official addresses first. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

234 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 2 private-data tools breaks every one.

Reads private data2
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write39
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out3
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__keespecs__get_directory",
      "mcp__keespecs__get_ecosystem"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "quote_bridge_route" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "quote_stablecoin_fx" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "quote_convert_check" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "quote_convert_check" says "convert": a word for a change.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http keespecs https://keespecs.xyz/mcp
claude mcp add --transport http keespecs https://keespecs.xyz/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__keespecs__list_skills",
      "mcp__keespecs__read_skill",
      "mcp__keespecs__get_price",
      "mcp__keespecs__lookup_username",
      "mcp__keespecs__search_tokens",
      "mcp__keespecs__get_x402_health",
      "mcp__keespecs__get_token",
      "mcp__keespecs__get_block",
      "mcp__keespecs__get_balance",
      "mcp__keespecs__get_supply",
      "mcp__keespecs__get_representatives",
      "mcp__keespecs__get_directory",
      "mcp__keespecs__get_ecosystem",
      "mcp__keespecs__get_providers",
      "mcp__keespecs__get_account",
      "mcp__keespecs__get_portfolio",
      "mcp__keespecs__get_activity",
      "mcp__keespecs__get_outbox",
      "mcp__keespecs__get_permissions",
      "mcp__keespecs__get_storage_quotas",
      "mcp__keespecs__quote_status"
    ],
    "ask": [
      "mcp__keespecs__quote_prices",
      "mcp__keespecs__quote_price_crossings",
      "mcp__keespecs__quote_regime",
      "mcp__keespecs__quote_settlement",
      "mcp__keespecs__quote_pulse",
      "mcp__keespecs__quote_token_check",
      "mcp__keespecs__quote_movers",
      "mcp__keespecs__quote_alpaca",
      "mcp__keespecs__quote_anchors",
      "mcp__keespecs__quote_bridge_route",
      "mcp__keespecs__quote_changes",
      "mcp__keespecs__quote_stablecoin_fx",
      "mcp__keespecs__quote_address_check",
      "mcp__keespecs__quote_bridge_speed",
      "mcp__keespecs__quote_desk",
      "mcp__keespecs__quote_network",
      "mcp__keespecs__quote_convert_check",
      "mcp__keespecs__quote_persist_check"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as keespecs. Review it before you use it.

Capability tags behind 39 rules
  • mcp__keespecs__list_skills untrusted-input
  • mcp__keespecs__read_skill untrusted-input
  • mcp__keespecs__get_price untrusted-input
  • mcp__keespecs__lookup_username untrusted-input
  • mcp__keespecs__search_tokens untrusted-input
  • mcp__keespecs__get_x402_health untrusted-input
  • mcp__keespecs__get_token untrusted-input
  • mcp__keespecs__get_block untrusted-input
  • mcp__keespecs__get_balance untrusted-input
  • mcp__keespecs__get_supply untrusted-input
  • mcp__keespecs__get_representatives untrusted-input
  • mcp__keespecs__get_directory private-data, untrusted-input
  • mcp__keespecs__get_ecosystem private-data, untrusted-input
  • mcp__keespecs__get_providers untrusted-input
  • mcp__keespecs__get_account untrusted-input
  • mcp__keespecs__get_portfolio untrusted-input
  • mcp__keespecs__get_activity untrusted-input
  • mcp__keespecs__get_outbox untrusted-input
  • mcp__keespecs__get_permissions untrusted-input
  • mcp__keespecs__get_storage_quotas untrusted-input
  • mcp__keespecs__quote_prices untrusted-input
  • mcp__keespecs__quote_price_crossings untrusted-input
  • mcp__keespecs__quote_status untrusted-input
  • mcp__keespecs__quote_regime untrusted-input
  • mcp__keespecs__quote_settlement untrusted-input
  • mcp__keespecs__quote_pulse untrusted-input
  • mcp__keespecs__quote_token_check untrusted-input
  • mcp__keespecs__quote_movers untrusted-input
  • mcp__keespecs__quote_alpaca untrusted-input
  • mcp__keespecs__quote_anchors untrusted-input
  • mcp__keespecs__quote_bridge_route untrusted-input, outbound
  • mcp__keespecs__quote_changes untrusted-input
  • mcp__keespecs__quote_stablecoin_fx untrusted-input, outbound
  • mcp__keespecs__quote_address_check untrusted-input
  • mcp__keespecs__quote_bridge_speed untrusted-input
  • mcp__keespecs__quote_desk untrusted-input
  • mcp__keespecs__quote_network untrusted-input
  • mcp__keespecs__quote_convert_check untrusted-input, outbound
  • mcp__keespecs__quote_persist_check untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/xyz.keespecs/keespecs/verify?hash=dfe388e93815b005de96e38e4d47d9123a48858cbdbc917bb2087684a10d0ef4" | jq -e '.changed == false'

Pinned hash dfe388e93815, from Nov 2, 2026, 23:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/xyz.keespecs/keespecs/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for xyz.keespecs/keespecs
[![anlyon.dev](https://anlyon.dev/badge/xyz.keespecs/keespecs.svg)](https://anlyon.dev/servers/xyz.keespecs/keespecs)

Source: MCP Registry. Synced Nov 2, 2026, 23:18 UTC.