{
  "generatedAt": "2026-09-09T20:58:37.774Z",
  "id": "exa",
  "name": "Exa",
  "url": "https://mcp.exa.ai/mcp",
  "homepage": "https://exa.ai",
  "platform": null,
  "transport": "streamable-http",
  "status": "ok",
  "error": null,
  "protocolVersion": null,
  "serverInfo": null,
  "provenance": {
    "at": "2026-09-09T20:58:37.774Z",
    "declaredUrl": "https://mcp.exa.ai/mcp",
    "observedUrl": "https://mcp.exa.ai/mcp",
    "urlMatchesDeclared": true,
    "redirected": false,
    "redirects": [],
    "via": "direct-post",
    "envelope": "sse",
    "methodChangingRedirect": false,
    "refused": null
  },
  "tools": [
    {
      "name": "web_fetch_exa",
      "title": null,
      "description": "Read a webpage's full content as clean markdown. Use after web_search_exa when highlights are insufficient or to read any URL.\n\nBest for: Extracting full content from known URLs. Batch multiple URLs in one call.\nReturns: Clean text content and metadata from the page(s).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "URLs to read. Batch multiple URLs in one call."
          },
          "maxCharacters": {
            "type": "number",
            "minimum": 1,
            "description": "Maximum characters to extract per page (default: 3000)"
          }
        },
        "required": [
          "urls"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "outputSchema": null,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": true,
        "idempotentHint": true
      },
      "schemaFingerprint": "d72ee7687517df49"
    },
    {
      "name": "web_search_exa",
      "title": null,
      "description": "Search the web for any topic and get clean, ready-to-use content.\n\n      Best for: Finding current information, news, facts, people, companies, or answering questions about any topic.\n      Returns: Clean text content from top search results.\n\n      Query tips:\n      describe the ideal page, not keywords. \"blog post comparing React and Vue performance\" not \"React vs Vue\".\n      Use category:people / category:company to search through Linkedin profiles / companies respectively.\n      If highlights are insufficient, follow up with web_fetch_exa on the best URLs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "Natural language search query. Should be a semantically rich description of the ideal page, not just keywords. Optionally include category:<type> (company, people) to focus results — e.g. 'category:people John Doe software engineer'."
          },
          "numResults": {
            "type": "number",
            "description": "Number of search results to return (default: 10)."
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false,
        "$schema": "http://json-schema.org/draft-07/schema#"
      },
      "outputSchema": null,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": true,
        "idempotentHint": true
      },
      "schemaFingerprint": "83626e8602e25181"
    }
  ],
  "toolCount": 2,
  "fingerprint": "ab68e01795563113",
  "lastGood": {
    "at": "2026-09-09T20:58:37.774Z",
    "tools": [
      {
        "name": "web_fetch_exa",
        "title": null,
        "description": "Read a webpage's full content as clean markdown. Use after web_search_exa when highlights are insufficient or to read any URL.\n\nBest for: Extracting full content from known URLs. Batch multiple URLs in one call.\nReturns: Clean text content and metadata from the page(s).",
        "inputSchema": {
          "type": "object",
          "properties": {
            "urls": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "URLs to read. Batch multiple URLs in one call."
            },
            "maxCharacters": {
              "type": "number",
              "minimum": 1,
              "description": "Maximum characters to extract per page (default: 3000)"
            }
          },
          "required": [
            "urls"
          ],
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        },
        "outputSchema": null,
        "annotations": {
          "readOnlyHint": true,
          "destructiveHint": false,
          "openWorldHint": true,
          "idempotentHint": true
        },
        "schemaFingerprint": "d72ee7687517df49"
      },
      {
        "name": "web_search_exa",
        "title": null,
        "description": "Search the web for any topic and get clean, ready-to-use content.\n\n      Best for: Finding current information, news, facts, people, companies, or answering questions about any topic.\n      Returns: Clean text content from top search results.\n\n      Query tips:\n      describe the ideal page, not keywords. \"blog post comparing React and Vue performance\" not \"React vs Vue\".\n      Use category:people / category:company to search through Linkedin profiles / companies respectively.\n      If highlights are insufficient, follow up with web_fetch_exa on the best URLs.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "minLength": 1,
              "description": "Natural language search query. Should be a semantically rich description of the ideal page, not just keywords. Optionally include category:<type> (company, people) to focus results — e.g. 'category:people John Doe software engineer'."
            },
            "numResults": {
              "type": "number",
              "description": "Number of search results to return (default: 10)."
            }
          },
          "required": [
            "query"
          ],
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        },
        "outputSchema": null,
        "annotations": {
          "readOnlyHint": true,
          "destructiveHint": false,
          "openWorldHint": true,
          "idempotentHint": true
        },
        "schemaFingerprint": "83626e8602e25181"
      }
    ],
    "fingerprint": "ab68e01795563113",
    "protocolVersion": null
  },
  "firstSeenAt": "2026-09-09T10:24:48.004Z",
  "lastCheckedAt": "2026-09-09T20:58:37.774Z",
  "lastOkAt": "2026-09-09T20:58:37.774Z",
  "lastChangedAt": null,
  "changeCount": 0,
  "card": {
    "id": "exa",
    "cardUrl": "https://mcp.exa.ai/.well-known/mcp/server-card.json",
    "at": "2026-09-09T20:58:37.774Z",
    "cardPath": "/.well-known/mcp/server-card.json",
    "status": "absent",
    "error": "HTTP 404",
    "card": null,
    "provenance": {
      "at": "2026-09-09T20:58:37.774Z",
      "declaredUrl": "https://mcp.exa.ai/.well-known/mcp/server-card.json",
      "observedUrl": "https://mcp.exa.ai/.well-known/mcp/server-card.json",
      "urlMatchesDeclared": true,
      "redirected": false,
      "redirects": [],
      "via": null,
      "envelope": null,
      "methodChangingRedirect": false,
      "refused": null
    },
    "cardsUrl": "https://mcp.exa.ai/.well-known/mcp/server-cards.json",
    "cardsStatus": "absent"
  },
  "stability": "stable",
  "flapCount": 0,
  "provenanceSummary": "Read from the declared URL with no redirect, over a direct POST. The response was an SSE-framed JSON-RPC result.",
  "observed": true,
  "events": [
    {
      "type": "server_added",
      "severity": "additive",
      "summary": "Exa added to the registry — baseline recorded with 2 tools",
      "id": "837482f5ee60",
      "at": "2026-09-09T10:24:48.004Z",
      "server": "exa",
      "serverName": "Exa"
    }
  ]
}
