> ## Documentation Index
> Fetch the complete documentation index at: https://docs.particle.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# particle_catalog

> Browse the full Particle tool catalog — every exposure category, its tools, and (with a category) full input schemas.

Browse the full Particle tool catalog. Your `tools/list` shows the [default categories](/mcp/tool-sets) plus the always-on `system` category (which is why `particle_catalog` itself always appears), but **every public Particle tool is callable by name** regardless of what was advertised — call this tool to discover the rest. It's always-on (the `system` category can never be excluded) and free (tier `free`, cost `0`).

* **Without arguments:** the categorical menu — every category with its tool names, tiers, and one-line summaries.
* **With `category`:** the full input schema for each of that category's tools, ready to call.

The typical discovery loop: call `particle_catalog` with no arguments to see what exists, then `particle_catalog` with a `category` to get the input schemas, then call the tool directly — or via [`particle_call`](/mcp/tools/system/call) if your harness blocks un-advertised tool names.

## Inputs

| Field      | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                             |
| ---------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `category` | string | no       | —       | Exposure category name (e.g. `"podcast_bias"`). When set, the response includes the FULL input schema for every tool in that category — call this before invoking a tool you haven't seen advertised. When omitted, returns the categorical menu: every category with its tools and one-line summaries. |

An unknown `category` returns an actionable error suggesting a no-argument call to list every category.

## Output

A markdown document with `## Particle tool catalog` and one `### <category> (default|opt-in|always-on)` section per category. Each section carries the category summary and one bullet per tool, formatted `**tool_name** (tier) — summary`. In detail mode (a `category` was supplied), each tool bullet is followed by its input schema rendered as a fenced JSON block.

Sample (no arguments, abridged):

```markdown theme={"dark"}
## Particle tool catalog

### system (always-on)

Discovery meta-tools: browse the full tool catalog and call any tool by name.

- **particle_call** (free) — Dispatch any public Particle tool by name
- **particle_catalog** (free) — Browse the full Particle tool catalog

### podcasts (default)

Resolve podcasts, list and fetch episodes, search transcripts, and find entity mentions.

- **particle_podcast_resolve** (standard) — Find a podcast by free-text title, exact slug, iTunes ID, or RSS feed URL
- **particle_podcast_search_transcripts** (premium) — Search the podcast catalog by what is said in episodes
- …

### podcast_bias (opt-in)

Corpus-wide political-bias views: publisher leaderboards and publishers by bias result.

- **particle_podcast_get_bias_leaderboard** (premium) — Rank podcast publishers by political-bias metrics across their analyzed catalogs
- **particle_podcast_list_bias_publishers** (premium) — Which publishers have the most podcasts in one political-bias bucket
```

## Example

```text theme={"dark"}
# Discover what exists, then drill into a category for schemas.
Agent calls: particle_catalog {}
            → reads the category menu, spots "podcast_bias (opt-in)"

Agent calls: particle_catalog { "category": "podcast_bias" }
            → reads the full input schema for particle_podcast_get_bias_leaderboard

Agent calls: particle_podcast_get_bias_leaderboard { "metric": "most_right_leaning" }
            (directly — or via particle_call if the harness blocks it)
```

## Related

* [Tool sets & discovery](/mcp/tool-sets) — the full selector mechanics and the always-callable contract.
* [`particle_call`](/mcp/tools/system/call) — dispatch any discovered tool by name.
