{
  "name": "tetrafi-docs",
  "displayName": "TetraFi Documentation",
  "description": "Search, read, and introspect the TetraFi documentation corpus: docs pages, SDK method catalog, OpenAPI schemas, and API endpoints.",
  "version": "1.0.0",
  "protocolVersion": "2025-03-26",
  "vendor": {
    "name": "TetraFi",
    "url": "https://tetrafi.io"
  },
  "homepage": "https://tetrafi.io/docs/mcp",
  "transports": [
    {
      "type": "http",
      "baseUrl": "https://tetrafi.io/api/mcp",
      "description": "REST-ish dispatcher; one endpoint per tool."
    }
  ],
  "tools": [
    {
      "name": "list_docs",
      "description": "List every published TetraFi documentation page with its slug, title, and high-level metadata. Use this to enumerate the corpus before a targeted read.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "endpoint": "https://tetrafi.io/api/mcp/list-docs",
      "method": "GET"
    },
    {
      "name": "read_doc",
      "description": "Read the full markdown body (JSX stripped, frontmatter preserved) of a single doc page, keyed by slug.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Slug relative to /docs, e.g. \"integration/taker-guide\" or \"sdk/client\"."
          }
        },
        "required": [
          "slug"
        ]
      },
      "endpoint": "https://tetrafi.io/api/mcp/read-doc",
      "method": "GET"
    },
    {
      "name": "search_docs",
      "description": "Search the TetraFi docs corpus for a query string. Returns ranked pages with titles, slugs, and snippet excerpts.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "description": "Query string (keywords, method names, concepts)."
          },
          "limit": {
            "type": "string",
            "description": "Max results (default 10, max 25)."
          }
        },
        "required": [
          "q"
        ]
      },
      "endpoint": "https://tetrafi.io/api/mcp/search-docs",
      "method": "GET"
    },
    {
      "name": "get_schema",
      "description": "Resolve a single OpenAPI schema by name (e.g. Quote, RFQRequest). Returns the full field tree with types, required flags, enums, and descriptions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Schema name as defined in components.schemas."
          }
        },
        "required": [
          "name"
        ]
      },
      "endpoint": "https://tetrafi.io/api/mcp/get-schema",
      "method": "GET"
    },
    {
      "name": "get_endpoint",
      "description": "Resolve a single OpenAPI operation by `operationId` or (method + path). Returns parameters, request/response schemas, and code samples.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "operationId": {
            "type": "string",
            "description": "OpenAPI operationId (preferred lookup)."
          },
          "method": {
            "type": "string",
            "description": "HTTP method, required when using path-based lookup.",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ]
          },
          "path": {
            "type": "string",
            "description": "Endpoint path as in the spec (e.g. /quotes/{rfqId})."
          }
        }
      },
      "endpoint": "https://tetrafi.io/api/mcp/get-endpoint",
      "method": "GET"
    }
  ],
  "resources": [
    {
      "uri": "https://tetrafi.io/docs/raw/index.json",
      "name": "docs-sitemap",
      "description": "Full structured sitemap of the docs corpus.",
      "mimeType": "application/json"
    },
    {
      "uri": "https://tetrafi.io/llms-full.txt",
      "name": "llms-full",
      "description": "Concatenated full-text corpus for single-request ingestion.",
      "mimeType": "text/plain"
    }
  ]
}