{
  "server": {
    "name": "GroupDocs Docs",
    "version": "26.8.4",
    "transport": "http"
  },
  "capabilities": {
    "tools": {
      "SearchDocsByGroupDocs": {
        "name": "SearchDocsByGroupDocs",
        "description": "Search across the GroupDocs documentation and API reference to find relevant information, code examples, API references, and guides. Use this tool when you need to answer questions about GroupDocs, find specific documentation, understand how features work, or locate implementation details.\n\nResults are returned as individual documentation sections, each with a title, a direct link (anchored to that section), and its full content. Make focused queries like \"convert PDF to Word with a watermark\" rather than broad ones like \"features\", and call this multiple times for different aspects of a task. Naming the product and platform (\"GroupDocs.Viewer for Java\") narrows the results considerably.\n\nIf you need the full content of a specific page, exact keyword matching, or the real signature of a class or method, use QueryDocsFilesystem with the path from the `Page:` field.",
        "inputSchema": {
          "properties": {
            "query": {
              "type": "string"
            }
          },
          "required": [
            "query"
          ],
          "type": "object"
        }
      },
      "QueryDocsFilesystem": {
        "name": "QueryDocsFilesystem",
        "description": "Run a read-only, shell-like query against a virtualized in-memory filesystem containing ONLY the GroupDocs documentation and API reference pages. This is NOT a shell on any real machine -- nothing runs on the user's computer, the server host, or any network. It is a sandbox backed by the documentation index.\n\nThis is how you read a page: there is no separate \"get page\" tool. Pass a `.md` path to `head` or `cat`. To match exact keywords or regular expressions, use `rg`. To see what exists, use `tree` or `ls`.\n\nThe tree has two roots:\n  /docs/<product>/<platform>/<slug>.md              guides and tutorials\n  /api/<product>/<platform>/<namespace>/...md       API reference\n\nProducts are slugs like `viewer`, `conversion`, `signature`; platforms are `net`, `java`, `python-net`, `nodejs-java`.\n\n**Workflow:** use SearchDocsByGroupDocs for broad or conceptual queries. Use this tool to verify EVERY class or method you plan to use -- do NOT guess signatures -- and to read a page in full.\n\nSupported commands: rg, grep, find, tree, ls, cat, head, tail, wc, stat, plus `sort` and `uniq` in a pipeline. No writes, no network, no process control. Run `--help` on any command for usage.\n\nEach call is STATELESS: the working directory is always `/`, and nothing carries over between calls. Chain with `&&` or use absolute paths.\n\nExamples:\n- `tree /docs -L 2` -- see which products and platforms exist\n- `rg -il \"watermark\" /docs/signature` -- find pages mentioning a term\n- `rg -n -C 3 \"RenderHiddenPages\" /api/viewer/net` -- matches with context\n- `cat /api/viewer/net/groupdocs.viewer.options/baseviewoptions.md` -- a class and all its members\n- `head -80 /docs/viewer/net/load-password-protected-document.md` -- the top of a guide\n- `find /api/conversion -name \"*converter*\"` -- locate a symbol by name\n\nOutput is truncated at 30KB per call. Prefer targeted `rg -C` or `head -N` over broad `cat`.\n\nTo cite a page, convert its path to a URL: drop the `.md`, and map `/docs/...` to https://docs.groupdocs.com/... and `/api/...` to https://reference.groupdocs.com/... . Each page also carries its canonical URL in a comment on the first line.",
        "inputSchema": {
          "properties": {
            "command": {
              "type": "string"
            }
          },
          "required": [
            "command"
          ],
          "type": "object"
        }
      },
      "SubmitDocsFeedback": {
        "name": "SubmitDocsFeedback",
        "description": "Report a problem with the GroupDocs documentation so the docs team can fix it. Use this when a page is incorrect, outdated, confusing, incomplete, or has a broken example -- particularly when the documentation contradicts what actually works, or when a search found nothing for something that should be documented.\n\nThis is for feedback about the documentation content itself, not for product support requests and not for feedback about this tool.\n\n`path` is the documentation page the feedback concerns (for example `/docs/viewer/net/load-password-protected-document.md`, or the page URL). `feedback` describes what is wrong or missing.",
        "inputSchema": {
          "properties": {
            "path": {
              "type": "string"
            },
            "feedback": {
              "type": "string"
            }
          },
          "required": [
            "path",
            "feedback"
          ],
          "type": "object"
        }
      }
    },
    "resources": {},
    "prompts": {}
  }
}