# List Product Tools

`mcp_catalog.list_tools`

List bounded Product Tool summaries and their current Public MCP and internal Agent Tool Set memberships. Search names, titles, and descriptions, then pass an exact returned name to mcp_catalog.get_tool for exact schemas.

[Tool access guide](https://docs.levr.ai/mcp/resources/mcp_catalog.md)

Availability depends on live discovery and your access to the record. Do not infer MCP calls from REST paths.

Operation: read. Required OAuth scopes: mcp.

## Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "cursor": {
      "anyOf": [
        {
          "description": "Opaque next_cursor from the preceding page with the same query.",
          "maxLength": 4096,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Opaque next_cursor from the preceding page with the same query."
    },
    "ordering": {
      "default": "name",
      "description": "Comma-separated ordering fields. Prefix a field with - for descending order. Allowed fields: name, title.",
      "maxLength": 255,
      "minLength": 1,
      "pattern": "^-?(?:name|title)(?:,-?(?:name|title)){0,2}$",
      "type": "string"
    },
    "page_size": {
      "default": 20,
      "description": "Maximum items to return. The allowed range is 1 through 50.",
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    },
    "search": {
      "default": "",
      "description": "Case-insensitive text search over the fields documented by this tool.",
      "maxLength": 255,
      "type": "string"
    }
  },
  "type": "object"
}
```

## Output schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "oneOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "properties": {
        "ok": {
          "const": true
        }
      },
      "required": [
        "data"
      ]
    },
    {
      "not": {
        "required": [
          "data"
        ]
      },
      "properties": {
        "ok": {
          "const": false
        }
      },
      "required": [
        "error"
      ]
    }
  ],
  "properties": {
    "data": {
      "additionalProperties": false,
      "properties": {
        "items": {
          "description": "Resources in this page.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "access_paths": {
                "items": {
                  "enum": [
                    "external_mcp",
                    "internal_agent"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              "agent_tool_sets": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "version": {
                      "minimum": 1,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "name",
                    "version"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "description": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "operation": {
                "enum": [
                  "read",
                  "write"
                ],
                "type": "string"
              },
              "public_tool_sets": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "title": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "title",
              "description",
              "operation",
              "access_paths",
              "public_tool_sets",
              "agent_tool_sets"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "next_cursor": {
          "anyOf": [
            {
              "description": "Opaque cursor for the next page, or null when this is the final page.",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Opaque cursor for the next page, or null when this is the final page."
        }
      },
      "required": [
        "items",
        "next_cursor"
      ],
      "type": "object"
    },
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "additionalProperties": true,
          "description": "Optional bounded, agent-safe correction or recovery facts.",
          "type": "object"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "type": "object"
    },
    "meta": {
      "additionalProperties": false,
      "properties": {
        "request_id": {
          "type": "string"
        }
      },
      "required": [
        "request_id"
      ],
      "type": "object"
    },
    "ok": {
      "description": "Whether the tool completed successfully.",
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "meta"
  ],
  "type": "object"
}
```
