Find tools with an agent
Search Scheduler Zero tools by intent and get exact schemas, permission scopes and authentication links.
# 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
}
```