{
  "server": "roxyapi-docs",
  "url": "https://roxyapi.com/mcp/docs",
  "date": "2026-09-23",
  "protocolVersion": "2025-11-25",
  "serverInfo": {
    "name": "roxy-docs",
    "title": "RoxyAPI Docs",
    "version": "2.0.0",
    "websiteUrl": "https://roxyapi.com/docs/mcp",
    "icons": [
      {
        "src": "https://roxyapi.com/logo.png",
        "mimeType": "image/png",
        "sizes": [
          "512x512"
        ]
      }
    ]
  },
  "listChangedDeclared": false,
  "toolCount": 1,
  "outputSchemaCoveragePct": 100,
  "tools": [
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "readOnlyHint": true
      },
      "description": "Search the RoxyAPI knowledge base and get back ranked documentation snippets, each with a source URL. It covers API endpoints with their request and response fields, SDK usage for TypeScript, Python, PHP, C#, and the WordPress plugin, authentication and API keys, UI components, and step by step integration guides. Call this first whenever you need to integrate RoxyAPI into an app: to find which endpoint or SDK method to use, what parameters a call takes, how to authenticate, or how to wire a feature end to end. Pass the user question verbatim as `query`. If the first results miss, rephrase once and retry.",
      "inputSchema": {
        "examples": [
          {
            "query": "how do I authenticate an API request"
          }
        ],
        "properties": {
          "compact": {
            "default": false,
            "description": "Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {\"__cols\":[names],\"__rows\":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.",
            "type": "boolean"
          },
          "limit": {
            "description": "Max hits to return. Default 10, capped at 25.",
            "maximum": 25,
            "minimum": 1,
            "type": "number"
          },
          "query": {
            "description": "User question or keywords. Free text. The whole question works better than guessed keywords.",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_docs",
      "outputSchema": {
        "properties": {
          "hits": {
            "items": {
              "properties": {
                "rank": {
                  "type": "number"
                },
                "snippet": {
                  "type": "string"
                },
                "source_type": {
                  "enum": [
                    "guide",
                    "agents",
                    "template",
                    "openapi",
                    "component"
                  ],
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "title",
                "url",
                "snippet",
                "source_type",
                "rank"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "hits"
        ],
        "type": "object"
      }
    }
  ]
}
