{
  "automatic_evidence_credit": false,
  "captures": [],
  "change_log": [
    {
      "after_hash": "c2ad80906562fd8c90689ff0475af0d2a81e514761965f411f3221c3889228b9",
      "before_hash": "c2ad80906562fd8c90689ff0475af0d2a81e514761965f411f3221c3889228b9",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "Declared provider, version, model, operator or AI self-disclosure changed",
            "kind": "DECLARED_INGREDIENTS_CHANGED",
            "path": "$.declared_ingredients_changed",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 1,
          "NON_BREAKING": 0
        },
        "taxonomy_version": null,
        "total": 1,
        "truncated": false
      },
      "entry_sha256": "7ba697df087732e80b9a754868dceedf9f84f0ae9eb41ed74854327c6ed55266",
      "evidence_class": "FACT_CHANGE",
      "labels": [
        "DECLARED_INGREDIENTS_CHANGED"
      ],
      "observed_at_utc": "2026-11-12T12:01:08Z",
      "previous_entry_sha256": "4dfa16408cc21ad7d3f6026785e02ef159987abf98a4069a297d2b670887778f",
      "receipt_id": null,
      "receipt_url": null,
      "sequence": 82677,
      "target_id": "obs_d5c807d3bc0cc9a8b78143ec",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://app.singitai.app/mcp"
    },
    {
      "after_hash": "c2ad80906562fd8c90689ff0475af0d2a81e514761965f411f3221c3889228b9",
      "before_hash": "83409f2f6b2a6f369c93a1f26c0a1d997b50df8074f136f877d874575df9dac5",
      "diff": {
        "changes": [
          {
            "compatibility_class": "BREAKING",
            "fact": "tool removed",
            "kind": "TOOL_REMOVED",
            "path": "tools[get_hyperliquid_market]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "BREAKING",
            "fact": "tool removed",
            "kind": "TOOL_REMOVED",
            "path": "tools[get_singit_risk_check]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "BREAKING",
            "fact": "tool removed",
            "kind": "TOOL_REMOVED",
            "path": "tools[get_weather]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[get_allowance]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[chat].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[get_funding_rates].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[get_limits].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[list_models].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "version patch",
            "kind": "VERSION_PATCH",
            "path": "version",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "description changed",
            "kind": "DESCRIPTION_CHANGED",
            "path": "description",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 3,
          "INFO": 6,
          "NON_BREAKING": 1
        },
        "taxonomy_version": "1.0.0",
        "total": 10,
        "truncated": false
      },
      "entry_sha256": "4dfa16408cc21ad7d3f6026785e02ef159987abf98a4069a297d2b670887778f",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-11-12T12:01:08Z",
      "previous_entry_sha256": "5db14368dfb97d5fa6c116b184fac76bbaaa69fd237fe757fddc4e6aeb87edfa",
      "receipt_id": "c23aecfd-eaac-53bd-a852-75e2d4b88436",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/c23aecfd-eaac-53bd-a852-75e2d4b88436",
      "sequence": 82676,
      "target_id": "obs_d5c807d3bc0cc9a8b78143ec",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://app.singitai.app/mcp"
    },
    {
      "after_hash": "83409f2f6b2a6f369c93a1f26c0a1d997b50df8074f136f877d874575df9dac5",
      "before_hash": "83409f2f6b2a6f369c93a1f26c0a1d997b50df8074f136f877d874575df9dac5",
      "diff": {
        "changes": [
          {
            "compatibility_class": "INFO",
            "fact": "Declared provider, version, model, operator or AI self-disclosure changed",
            "kind": "DECLARED_INGREDIENTS_CHANGED",
            "path": "$.declared_ingredients_changed",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 1,
          "NON_BREAKING": 0
        },
        "taxonomy_version": null,
        "total": 1,
        "truncated": false
      },
      "entry_sha256": "367feb9615fe29a65984dc7dbe685146c40b386cd1bdaa22ba36879aafdaea79",
      "evidence_class": "FACT_CHANGE",
      "labels": [
        "DECLARED_INGREDIENTS_CHANGED"
      ],
      "observed_at_utc": "2026-11-09T04:42:52Z",
      "previous_entry_sha256": "8bd6fc218b1c536b61f368d96a3910c08c8c47fa5cd0f2377002cac737210725",
      "receipt_id": null,
      "receipt_url": null,
      "sequence": 76519,
      "target_id": "obs_d5c807d3bc0cc9a8b78143ec",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://app.singitai.app/mcp"
    },
    {
      "after_hash": "83409f2f6b2a6f369c93a1f26c0a1d997b50df8074f136f877d874575df9dac5",
      "before_hash": "84dc6c5102ac51feac12a229c3d25072b86c33d5f5f07d383cf01d9095d3aed9",
      "diff": {
        "changes": [
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[chat]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[chat_free]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[get_limits]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[get_receipts]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[list_models].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "version patch",
            "kind": "VERSION_PATCH",
            "path": "version",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "description changed",
            "kind": "DESCRIPTION_CHANGED",
            "path": "description",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 3,
          "NON_BREAKING": 4
        },
        "taxonomy_version": "1.0.0",
        "total": 7,
        "truncated": false
      },
      "entry_sha256": "8bd6fc218b1c536b61f368d96a3910c08c8c47fa5cd0f2377002cac737210725",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-11-09T04:42:52Z",
      "previous_entry_sha256": "a1ad91fb95fa1a0009a78e7ae3c1e966c66811ab0011b36acfe5665b4a454574",
      "receipt_id": "9a31aa76-5caa-5806-9826-6e4520e293ce",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/9a31aa76-5caa-5806-9826-6e4520e293ce",
      "sequence": 76518,
      "target_id": "obs_d5c807d3bc0cc9a8b78143ec",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://app.singitai.app/mcp"
    }
  ],
  "check_outcomes": {
    "ask": {
      "changed_since": "https://www.gaipagents.com/v1/free/observatory/changed-since?url=<endpoint>",
      "changes_and_reachability": "https://www.gaipagents.com/v1/free/changes/subscribe?url=<endpoint>",
      "conformance": "https://www.gaipagents.com/v1/free/conformance/check?url=<endpoint>"
    },
    "published": false,
    "why": "Outcomes of GAIP's own checks (whether the endpoint answered, HTTP status, response time, conformance findings) are given only to a caller who asks about the URL, never on a public page, list or feed. The same applies to every target."
  },
  "conformance": {
    "findings": "GIVEN_TO_CALLER_ONLY",
    "meaning": "The rule catalogue this manifest was read against at the observed time. The finding codes go only to a caller who checks the URL (check_outcomes.ask.conformance).",
    "observed_at_utc": "2026-11-12T12:01:08Z",
    "protocol": "MCP",
    "rule_catalogue_route": "/v1/free/knowledge/conformance-rules",
    "rule_catalogue_version": "1.0.0"
  },
  "corrections": {
    "contact": "https://www.gaipagents.com/contact",
    "exclusion": "https://www.gaipagents.com/v1/free/observatory/corrections/exclusion",
    "opt_out": "POST kind OPT_OUT to the route; the target is withdrawn from public view at once (a pause). The site's owner makes it permanent at https://www.gaipagents.com/v1/free/observatory/corrections/exclusion.",
    "queued_for_review": 0,
    "route": "https://www.gaipagents.com/v1/free/observatory/corrections"
  },
  "declared_derivations": {
    "data_appetite": {
      "categories": {
        "free_text_large": {
          "fields": 4,
          "tools": 2
        }
      },
      "fields_read": 30,
      "observed_at_utc": "2026-11-12T12:01:08Z",
      "tools_read": 16
    },
    "dependency_domains": [
      {
        "domain": "github.com",
        "roles": [
          "repository"
        ]
      }
    ],
    "last_observed_at_utc": "2026-11-12T12:01:08Z",
    "meaning": "Derived by GAIP from what this agent declared, at the stated time: the categories of data its tools' input fields ask for (counts, by keyword rules gaip.data-appetite-rules.v1), the outside domains its declarations point to, and the operator as the agent itself publishes it. Facts about declarations, not an assessment of the agent or its operator.",
    "operator": {
      "as_published": "app.singitai",
      "source_kind": "registry_namespace_domain"
    },
    "rules_version": "gaip.data-appetite-rules.v1",
    "schema_version": "gaip.declared-derivations.v1"
  },
  "latest": {
    "baseline_at_utc": "2026-10-26T07:17:36Z",
    "manifest_sha256": "c2ad80906562fd8c90689ff0475af0d2a81e514761965f411f3221c3889228b9",
    "observed_at_utc": "2026-11-12T12:01:08Z"
  },
  "metadata_signals": {
    "meaning": "Pattern rules are published only as aggregate rates across all observed targets (see the summary), never per party. GAIP issues no overall verdict and does not rank parties.",
    "overall_verdict": null,
    "per_target_results": null,
    "published": "AGGREGATE_ONLY_IN_SUMMARY",
    "rules": [
      {
        "rationale": "Zero-width, bidirectional-control and Unicode tag characters are not visible to a human reader but are read by language models. GAIP reports whether any occur; many have ordinary uses.",
        "rule_id": "OBS-SIG-001",
        "title": "Invisible or bidirectional-control Unicode characters in names or descriptions"
      },
      {
        "rationale": "Tool and skill descriptions are read by models. GAIP reports whether a description contains phrases shaped like instructions to a model (the patterns in GAIP's public conformance rule catalogue, plus the phrases listed in the Observatory method). Such phrases can be benign.",
        "rule_id": "OBS-SIG-002",
        "title": "Instruction-like text in descriptions"
      },
      {
        "rationale": "When a description refers to a tool name that only a different observed server publishes, a model using both servers may connect the two. GAIP reports whether such a reference occurs; shared names are common and often coincidental.",
        "rule_id": "OBS-SIG-003",
        "title": "Description names a tool published by a different observed server"
      },
      {
        "rationale": "Declared OAuth scopes whose names contain wildcard or whole-account wording (*, all, admin, root, full) request wide access by name. GAIP reports whether such a scope name is declared; it does not know what the scope grants.",
        "rule_id": "OBS-SIG-004",
        "title": "Declared authorization scopes with broad-access wording"
      }
    ],
    "third_party_scanners": [
      {
        "name": "Snyk agent-scan (formerly Invariant Labs mcp-scan)",
        "status": "NOT_RUN",
        "url": "https://github.com/snyk/agent-scan"
      },
      {
        "name": "Cisco AI Defense MCP Scanner",
        "status": "NOT_RUN",
        "url": "https://github.com/cisco-ai-defense/mcp-scanner"
      }
    ]
  },
  "method": "https://www.gaipagents.com/observatory",
  "notice": "Facts observed by GAIP at the stated time (UTC); they may be out of date. This is not an assessment of safety, quality, security, legality or trustworthiness of any party, and not a recommendation. To request a correction, add a right of reply or opt out, POST to https://www.gaipagents.com/v1/free/observatory/corrections or use https://www.gaipagents.com/contact.",
  "price_gbp": 0,
  "schema_version": "gaip.observatory.v1.target",
  "silent_changes_last_30_days": {
    "days": 30,
    "entries_read_at_most": 200,
    "kinds": [],
    "line": null,
    "meaning": "Weeks (ISO) in which GAIP recorded a change to the agent's declared tools or interface (tools added or removed, descriptions re-worded, input or output schema, behaviour labels, sign-in, terms or prices, endpoint host) and no declared version (registry or card version, serverInfo.version) moved that week. A week whose version movement is not recorded is not counted. Dated facts from the public change log; not an assessment of the agent.",
    "weeks": [],
    "weeks_with_silent_changes": 0
  },
  "snapshot": {
    "capabilities": [
      "tools"
    ],
    "description": "Chat, web search, page reading and market data; owner-set daily and per-request key limits (USDC).",
    "name": "app.singitai/singit",
    "parts": [
      "registry_server_json",
      "mcp_initialize_tools_list"
    ],
    "protocol": "MCP",
    "protocolVersion": "2025-06-18",
    "public_copy": "Text excerpts of at most 300 characters; input schemas and security schemes as SHA-256 and size only.",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://app.singitai.app/mcp"
      }
    ],
    "scopes": [],
    "serverInfo": {
      "name": "singit",
      "version": "0.1.6"
    },
    "title": "SingIt x402",
    "tools": [
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Chat"
        },
        "description": "Paid per call from your key's SingIt balance and owner-set limits in USDC. The server enforces per-request and daily caps; a call over a cap is refused before anything is charged. Use list_models for model ids and prices, get_allowance (or get_limits) for what remains and which cap would refuse a ca",
        "inputSchema": {
          "bytes": 893,
          "published": "HASH_ONLY",
          "sha256": "6e738d33644a408e8c3c27883397ff895405f06e4c394be3194d79ff439a157f"
        },
        "name": "chat",
        "title": "Chat"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Chat (free)"
        },
        "description": "Free model answers, no key needed. Answers are short (400 tokens), with a small daily allowance shared per network and a shared daily budget that can run out. To pay for a model answer with your key use chat with the same model without the free/ prefix.",
        "inputSchema": {
          "bytes": 757,
          "published": "HASH_ONLY",
          "sha256": "1ed22f454fcbcead84ea53f8efc018a58a63db6904f00658cee47164a11dd44b"
        },
        "name": "chat_free",
        "title": "Chat (free)"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Get allowance"
        },
        "description": "How much you can still spend right now, before you pay: your API key's remaining today and per-request cap, and your wallet allowance's remaining today, per-purchase cap and approval on Base or Solana, each with spendableNowUsd and bindingLimit (the limit that would refuse a larger call). Owner can ",
        "inputSchema": {
          "bytes": 33,
          "published": "HASH_ONLY",
          "sha256": "efddc7bd8bbcef73a14eb1ace1ffdaec81e518ef1e13c1e9271d0b8acb694a49"
        },
        "name": "get_allowance",
        "title": "Get allowance"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Get balance"
        },
        "description": "Your SingIt API balance: available and held USDC, auto top-up and pending top-ups. Use to check funds before paid calls. Free, but needs your API key.",
        "inputSchema": {
          "bytes": 33,
          "published": "HASH_ONLY",
          "sha256": "efddc7bd8bbcef73a14eb1ace1ffdaec81e518ef1e13c1e9271d0b8acb694a49"
        },
        "name": "get_balance",
        "title": "Get balance"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Get crypto news"
        },
        "description": "Latest crypto market headlines with sentiment, from Otto AI. Use to see what is moving the market today; takes no input. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.",
        "inputSchema": {
          "bytes": 47,
          "published": "HASH_ONLY",
          "sha256": "c8a1ac469a826ea3547ac220c7bbfdcd6b58080d4ec596ff2a0149c5ccb9b699"
        },
        "name": "get_crypto_news",
        "title": "Get crypto news"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Get funding rates"
        },
        "description": "Funding rates for one symbol across exchanges, with open interest, long/short ratio, large positions and liquidations, from Otto AI. Use to compare venues or gauge positioning. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.",
        "inputSchema": {
          "bytes": 132,
          "published": "HASH_ONLY",
          "sha256": "3d0027fed8de75c9c7cb277ac43af0146b41ba5df8f682f3ef34384b86920b54"
        },
        "name": "get_funding_rates",
        "title": "Get funding rates"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Get limits"
        },
        "description": "What your API key may still spend: its daily and per-request caps, spent and remaining today, scopes and expiry, plus your account's balance and your allowance limits on Base or Solana (caps, left today, approved from your wallet, paused = emergency stop, expired). Read-only: it cannot change a limi",
        "inputSchema": {
          "bytes": 33,
          "published": "HASH_ONLY",
          "sha256": "efddc7bd8bbcef73a14eb1ace1ffdaec81e518ef1e13c1e9271d0b8acb694a49"
        },
        "name": "get_limits",
        "title": "Get limits"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Get price"
        },
        "description": "Current price of a major cryptocurrency, gold or silver (Chainlink on Base), or an exchange rate between two currencies. Use for quick quotes of well-known assets; call list_price_symbols when unsure a symbol is covered. Free, no key needed.",
        "inputSchema": {
          "bytes": 389,
          "published": "HASH_ONLY",
          "sha256": "55076a0229bb0cd82cdc68cc57a961f2e42e9f22e3ec3cbd7501bb4d07160621"
        },
        "name": "get_price",
        "title": "Get price"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Get receipts"
        },
        "description": "Your recent receipts, newest first: for each, its id, time, model, USDC charged, tokens and the upstream reference (kind charge, this key only), or the account's top-ups and refunds with their transaction and network. Read-only; page back with `before`. Free, but needs your API key.",
        "inputSchema": {
          "bytes": 434,
          "published": "HASH_ONLY",
          "sha256": "2ef2fdcbea4cef59e5f5ee81102cbd63f89fe767e33b32e537e0cda82bfed54d"
        },
        "name": "get_receipts",
        "title": "Get receipts"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Get token price"
        },
        "description": "USD price of a major token by symbol from a paid x402 price API. get_price is free and covers the same majors, so prefer it; use this as a second source. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.",
        "inputSchema": {
          "bytes": 131,
          "published": "HASH_ONLY",
          "sha256": "257bd995bb75b8619a1421d99d6561f8fcc570876668213af1950e5bef450cfb"
        },
        "name": "get_token_price",
        "title": "Get token price"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Get X profile"
        },
        "description": "Public profile data for an X (Twitter) account by username, from twit.sh's x402 API. Use to check who is behind a handle. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.",
        "inputSchema": {
          "bytes": 134,
          "published": "HASH_ONLY",
          "sha256": "4f664ac56c8504116a06de4aa61974caa3853adc644f0357ed2534997fd7eb9c"
        },
        "name": "get_x_profile",
        "title": "Get X profile"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "List models"
        },
        "description": "The AI models (chat, images or audio) available through SingIt, with their prices. Chat models can be called with chat or through SingIt's OpenAI-compatible API at https://app.singitai.app/v1. Search the returned list by id for models and prices. Paid calls stay inside owner-set key/allowance limits",
        "inputSchema": {
          "bytes": 124,
          "published": "HASH_ONLY",
          "sha256": "cf30445495ecf24adbbd189c850727fee70395ca9e1cb1ad32adb454357d901e"
        },
        "name": "list_models",
        "title": "List models"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "List price symbols"
        },
        "description": "Every crypto, metal and currency symbol get_price supports. Call it before get_price when unsure a symbol is covered. Free, no key needed.",
        "inputSchema": {
          "bytes": 33,
          "published": "HASH_ONLY",
          "sha256": "efddc7bd8bbcef73a14eb1ace1ffdaec81e518ef1e13c1e9271d0b8acb694a49"
        },
        "name": "list_price_symbols",
        "title": "List price symbols"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Read page"
        },
        "description": "The readable text of one web page (up to 8000 characters), through Exa. Use after web_search, or when you already have a URL. Paid per call from your key's SingIt limits in USDC on Base or Solana; needs the key's \"search\" scope.",
        "inputSchema": {
          "bytes": 117,
          "published": "HASH_ONLY",
          "sha256": "771c521c0f517f6e9172f2a2941878ef8e83b8dfca44d71f195eefae9005c70d"
        },
        "name": "read_page",
        "title": "Read page"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Resolve ENS name"
        },
        "description": "Turns an ENS name (e.g. vitalik.eth) into its address, or an address into its primary ENS name. Paid per call from your key's SingIt limits in USDC; Base accounts only for now.",
        "inputSchema": {
          "bytes": 210,
          "published": "HASH_ONLY",
          "sha256": "8fadb7aba4a14f97946859bd65b1f619cdc528a4ac09b1e730da7b785e11f41d"
        },
        "name": "resolve_ens",
        "title": "Resolve ENS name"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": false,
          "openWorldHint": true,
          "readOnlyHint": true,
          "title": "Web search"
        },
        "description": "Searches the web through Exa and returns titles, URLs and snippets of matching pages. Use for current or niche information, then read_page for a full page. Paid per call from your key's SingIt limits in USDC on Base or Solana; needs the key's \"search\" scope.",
        "inputSchema": {
          "bytes": 282,
          "published": "HASH_ONLY",
          "sha256": "ac991e552a18989e02cf806ab1c149d3e944155fe6413cefe436bd5eb718fca5"
        },
        "name": "web_search",
        "title": "Web search"
      }
    ],
    "version": "0.1.6"
  },
  "status_history": [
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "c2ad80906562fd8c90689ff0475af0d2a81e514761965f411f3221c3889228b9",
      "observed_at_utc": "2026-11-12T12:01:08Z",
      "protocol_version": "2025-06-18"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "83409f2f6b2a6f369c93a1f26c0a1d997b50df8074f136f877d874575df9dac5",
      "observed_at_utc": "2026-11-09T04:42:52Z",
      "protocol_version": "2025-06-18"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "84dc6c5102ac51feac12a229c3d25072b86c33d5f5f07d383cf01d9095d3aed9",
      "observed_at_utc": "2026-10-26T07:17:36Z",
      "protocol_version": "2025-06-18"
    }
  ],
  "target": {
    "corrections_route": "https://www.gaipagents.com/v1/free/observatory/corrections",
    "first_seen_at_utc": "2026-10-26T06:37:55Z",
    "kind": "MCP_REMOTE",
    "last_observed_at_utc": "2026-11-12T12:01:08Z",
    "locator": "https://app.singitai.app/mcp",
    "name": "app.singitai/singit",
    "source": "official-mcp-registry",
    "target_id": "obs_d5c807d3bc0cc9a8b78143ec"
  }
}