# Find tools with an agent


Use `find_tools` to search the public Scheduler Zero tool documentation by name or intent. Results include each tool's description, scopes, human-readable reference, exact JSON schemas and Markdown. The index is rebuilt from the same capability catalog as the product MCP server.

## Connect the documentation MCP

Add this Streamable HTTP MCP server to an agent's configuration:

```json
{
  "mcpServers": {
    "scheduler-zero-docs": {
      "type": "http",
      "url": "https://docs.schedulerzero.com/mcp/docs"
    }
  }
}
```

The documentation server is public and needs no Scheduler Zero credential. It exposes one read-only tool, `find_tools`, and returns public documentation only. It does not access Workspace data or execute product tools. Client configuration formats vary; use your client's HTTP MCP connection settings with the URL above.

## Find a capability

Call `find_tools` with a tool name or a short intent:

```json
{ "query": "list tasks", "limit": 5 }
```

Use `bundle` to restrict the search to a capability bundle. The default limit is 5; the maximum is 20. Exact tool names rank first, followed by matching name words and descriptions. An unmatched query returns an empty tools array. The response also links to [auth.md](/auth.md), [llms.txt](/llms.txt) and the authenticated product MCP server.

Each result's `schemaUrl` contains the exact bound input schema, agent input schema and structured output schema. Its `documentationUrl` opens the Scalar reference; `markdownUrl` provides the same documentation as plain text.

## Use HTTP without an MCP client

The same discovery service is available as a public read-only API:

```text
GET https://docs.schedulerzero.com/api/tools?query=list%20tasks&limit=5
```

Invalid or empty queries, unsupported parameters and limits outside 1–20 return HTTP 400. Unknown MCP tool names and invalid arguments return JSON-RPC invalid-params errors.

## Connect the product MCP

To actually run a tool, connect to `https://mcp.schedulerzero.com/mcp` using [OAuth or a personal API key](/mcp/connect). Authentication, live permissions, consent and Workspace boundaries apply to every product operation. A public catalog or a search result grants no authority.

Start with [authentication and authorization](/authentication), [system architecture](/architecture), [all tools](/mcp/tools), or the complete [llms-full.txt](/llms-full.txt).


## find_tools input schema

```json
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "\\S"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    },
    "bundle": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_]{0,63}$"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": true
}
```

## find_tools output schema

```json
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "total": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "enum": [
            "Infinity",
            "-Infinity",
            "NaN"
          ]
        }
      ]
    },
    "catalogSize": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "enum": [
            "Infinity",
            "-Infinity",
            "NaN"
          ]
        }
      ]
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "feature": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "bundles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "documentationUrl": {
            "type": "string"
          },
          "schemaUrl": {
            "type": "string"
          },
          "markdownUrl": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "description",
          "feature",
          "scopes",
          "bundles",
          "documentationUrl",
          "schemaUrl",
          "markdownUrl"
        ],
        "additionalProperties": true
      }
    },
    "authenticationUrl": {
      "type": "string"
    },
    "llmsUrl": {
      "type": "string"
    },
    "productMcpUrl": {
      "type": "string"
    }
  },
  "required": [
    "query",
    "total",
    "catalogSize",
    "tools",
    "authenticationUrl",
    "llmsUrl",
    "productMcpUrl"
  ],
  "additionalProperties": true
}
```

