Verified conversions across 205 color spaces: CSS strings, gamut checks, .cube LUTs
Particle Pro is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Podcast intelligence for agents: transcripts, clips, speaker diarization, mention tracking.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http particle-pro-mcp https://mcp.particle.pro
# 2 — ask your agent for something these tools do
# particle_alert_create, particle_alert_delete, particle_alert_get and 28 more
Particle Pro costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http particle-pro-mcp https://mcp.particle.proReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
31 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Create an alert that watches a single entity and sets up recurring email delivery to external recipients whenever it is mentioned on a podcast episode (kind=ENTITY_MENTION) or appears as a speaker (kind=PODCAST_SPEAKER). Pass the entity slug from a resolve tool — resolve a name with particle_entity_resolve, then create the alert with the slug it returns. An alert watches exactly one entity; to cov
| Parameter | Type | Required | Notes |
|---|---|---|---|
| delivery_cadence | string | no | How often matches are emailed: REALTIME (default, one email per match), DAILY (one bundled email each morning), or WEEKLY (one bundled email Monday). |
| description | string | no | Optional longer description of what the alert is for. |
| entities | array | no | The entity to watch, as a single slug from the resolve tools (particle_entity_resolve, particle_person_resolve, particle_company_resolve). Person, company, and place/other (knowledge-graph) slugs are |
| filters | object | no | Persistent narrowing applied to every surface the alert produces (matches list, realtime email, daily/weekly digest). Omit for no filters — every detected match is surfaced. See AlertFiltersInput for |
| is_active | boolean | no | Whether the alert produces matches. Defaults to true. Set false to create it paused. |
| keyword | string | no | KEYWORD_MENTION alerts only (and required for them): the phrase to watch, e.g. Lightfield. Matches like a double-quoted keyword_search phrase — the words adjacent and in order, ignoring case and punct |
| kind | string | no | What signal to watch for. ENTITY_MENTION (default) fires whenever a watched entity is mentioned on a podcast episode. PODCAST_SPEAKER fires only when a watched person is themself an identified speaker |
| notifications | array | no | Email addresses for recurring alert notifications. Only recipients verified for your organization receive alert emails; pending recipients may be saved but stay silent until verified. At least one rec |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| title | string | yes | Human-readable title for the alert (e.g. 'OpenAI mentions'). |
Delete an alert. This is a soft delete: the alert stops producing matches and disappears from particle_alert_list, but its past matches and deliveries are retained for audit. To pause an alert instead of removing it, use particle_alert_update with is_active=false. Only the alert's creator or an organization OWNER or ADMIN can delete it; an API key acts as the user who created the key. Other calle
| Parameter | Type | Required | Notes |
|---|---|---|---|
| alert_id | string | yes | Alert id to delete. |
Fetch a single alert's full configuration — title, kind, cadence, watched entities (with names), notification emails, and any active filters (languages, relevance, source_popularity, speaker_roles). The filters section is omitted when the alert carries none. By default the response is just the configuration; request include=['matches'] to embed the most recent matches it has caught and include=[
| Parameter | Type | Required | Notes |
|---|---|---|---|
| alert_id | string | yes | Alert id from particle_alert_list or particle_alert_create. |
| include | array | no | Optional sections to embed: 'matches' for the most recent matches the alert has caught, 'deliveries' for the email delivery audit log. |
| match_limit | integer | no | How many recent matches to embed when include=matches (1-25, default 5). Use particle_alert_list_matches for full pagination and transcript windows. |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
List the alerts in your project, newest first. Each entry carries the alert id — feed it into particle_alert_get for full configuration, particle_alert_list_matches for what it has caught, or particle_alert_update / particle_alert_delete to manage it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Opaque pagination cursor from a previous response's cursor field. |
| limit | integer | no | Alerts per page (1-100, default 25). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
List the matches an alert has caught, newest first — the payoff of an alert. Each match names the watched entity and the podcast episode it was detected on (with episode and podcast slugs that feed particle_podcast_get_episode and particle_podcast_resolve). Use view=detailed to include the transcript excerpts around each mention, and after/before to scope to a date range. Backfilled matches (from
| Parameter | Type | Required | Notes |
|---|---|---|---|
| after | string | no | Only matches detected on or after this ISO date (e.g. 2026-05-01). |
| alert_id | string | yes | Alert id whose matches to list. |
| before | string | no | Only matches detected on or before this ISO date. |
| cursor | string | no | Opaque pagination cursor from a previous response's cursor field. |
| limit | integer | no | Matches per page (1-100, default 25). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| view | string | no | Detail level. 'summary' (default) returns each match's entity, episode, and counts. 'detailed' also includes the transcript excerpt windows around each mention. |
Preview how often an alert would fire BEFORE creating it. Sweeps the past N days (default 7, max 30) for the given entity (or keyword, for kind=KEYWORD_MENTION) and returns the total match count, a per-day breakdown, and a small sample of the most recent matches with episode context. Use this to size an alert (REALTIME vs DAILY vs WEEKLY cadence) or to confirm the entity slug watches the right thi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entities | array | no | The entity to preview, as a single slug (from the resolve tools), same as particle_alert_create.entities — exactly one for entity kinds, omitted for KEYWORD_MENTION. |
| filters | object | no | Same as particle_alert_create.filters. Pass the filters you intend to save so the estimate reflects what the alert would actually surface. Only languages and speaker_roles narrow the historical sweep; |
| keyword | string | no | Same as particle_alert_create.keyword — required for KEYWORD_MENTION. A phrase that matched more than 700 podcast episodes in the past week is rejected as too broad, as on create. |
| kind | string | no | Signal to preview. Defaults to ENTITY_MENTION. |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| window_days | integer | no | How many days back to sweep (1-30, default 7). |
Update an existing alert. Only the fields you pass change; the entities and notifications lists, when provided, replace the whole set (pass a single entity slug from the resolve tools, same as particle_alert_create — an alert watches exactly one entity). A KEYWORD_MENTION alert takes a new keyword instead of entities. Use is_active to pause or resume an alert without deleting it. An alert's ki
| Parameter | Type | Required | Notes |
|---|---|---|---|
| alert_id | string | yes | Alert id to update. |
| delivery_cadence | string | no | New delivery cadence. |
| description | string | no | New description. |
| entities | array | no | Replacement watch target as a single entity slug (from the resolve tools). When provided, replaces the entire existing watch list — exactly one entity; omit to leave entities unchanged. Not accepted o |
| filters | object | no | Replace the alert's filter set wholesale. Omit to leave the existing filters unchanged; send an empty object {} to clear all filters. Same four axes as particle_alert_create.filters (languages, releva |
| is_active | boolean | no | Pause (false) or resume (true) the alert. |
| keyword | string | no | Replacement phrase for a KEYWORD_MENTION alert; omit to leave it unchanged. Not accepted on other kinds. Matches already recorded keep the phrase they fired on. |
| notifications | array | no | Replacement recipients for recurring alert emails. Only recipients verified for your organization receive alert emails; pending recipients stay silent until verified. When provided, replaces the entir |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| title | string | no | New title. |
Dispatch any public Particle tool by name. Compatibility fallback for harnesses that block calling tools that weren't advertised on tools/list — every public Particle tool is executable by name, so prefer calling discovered tools directly when your harness allows it. Identical metering and plan gating apply either way. Use particle_catalog to discover tool names and input schemas. A tool particle_
| Parameter | Type | Required | Notes |
|---|---|---|---|
| arguments | object | no | Arguments object for the target tool, matching its input schema. |
| tool | string | yes | Flat name of any public Particle tool (e.g. 'particle_podcast_get_episode'). Discover names and schemas with particle_catalog. |
Browse the full Particle tool catalog. Your tools/list shows only the default categories, but EVERY public Particle tool is callable by name regardless of what was advertised — call this tool to discover the rest. Without arguments: the categorical menu (every category with tool names, one-line summaries, and an ↳ line listing each tool's expand options). With category: the full input schema
| Parameter | Type | Required | Notes |
|---|---|---|---|
| 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 |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
Return a bundled profile for one company: identifiers (slug, ticker, domain, CIK, QID, linked entity), name, and description. Request optional sections via include: 'people' for current leadership and notable people (person slugs feed particle_person_get), 'products' for the three-level product hierarchy, 'competitors' for the competitor list, 'external_links' for the company's LinkedIn, soci
| Parameter | Type | Required | Notes |
|---|---|---|---|
| company_slug | string | yes | Company identifier — accepts slug (e.g. 'nvidia'), domain (e.g. 'nvidia.com'), or canonical ID. If you already know the domain you can call this tool directly without first running particle_company_re |
| include | array | no | Optional response sections: 'people' (current leadership and notable people), 'products' (three-level product hierarchy), 'competitors' (competitor list), 'podcast_recommendations' (the ten podcasts t |
| product_status | string | no | Comma-separated lifecycle filter for include=products (e.g. 'active' or 'active,announced'). Allowed values: active, announced, discontinued, rumored. Defaults to 'active'. |
Resolve a company by free-text name, ticker, SEC CIK, Wikidata QID, or domain. Returns candidates with the agent-facing identifier (slug, falling back to domain or id) you should pass to particle_company_get, particle_company_get_podcast_ad_presence, particle_podcast_find_mentions (as company_slug), or particle_podcast_list_episodes. At least one identifier is required. Multiple a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cik | string | no | SEC Central Index Key (e.g. '0000320193'). Comma-separated for bulk. |
| domain | string | no | Company website domain (e.g. 'apple.com'). Comma-separated for bulk. |
| limit | integer | no | Maximum candidates to return (1-25, default 5). |
| qid | string | no | Wikidata QID (e.g. 'Q312'). Comma-separated for bulk. |
| query | string | no | Free-text company name (case-insensitive). Use for human-typed names. |
| ticker | string | no | Stock ticker symbol (e.g. 'NVDA', 'AAPL'). Comma-separated for multi-ticker lookup. |
One knowledge-graph entity's profile: name, kind, description, and Wikipedia link. Use it to confirm what a slug from particle_entity_resolve actually refers to — especially for the long tail that isn't a person or company (places, organizations, events, products, concepts). When the entity is a linked person or company the response carries the person_slug / company_slug — prefer `particle_pers
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entity_slug | string | yes | Knowledge-graph entity slug or encoded ID from particle_entity_resolve, episode entity listings, or mention payloads (e.g. 'germany', 'bitcoin'). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
Resolve any named thing — person, company, place, or other entity — by free-text name in one union search. Each candidate carries a type and the canonical slug for that type: - person: the canonical person slug. Feed it into particle_person_get, every person_slug parameter (particle_podcast_find_mentions, particle_podcast_search_transcripts, particle_podcast_list_episodes), or `p
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | Maximum candidates per query (1-10, default 5). |
| query | string | yes | Free-text name(s) of a person, organization, place, or company to resolve (e.g. 'sam altman', 'nvidia'). Case-insensitive. Comma-separated for bulk lookup (e.g. 'sam altman, kara swisher, marc andrees |
Describe one occupation or field of research and, on request, who is booked under it: its parent, children and crosswalk by default; include: ["top_guests"] ranks the guests listed under it by podcast appearances in a window (default the last 30 days, at most 90), and include: ["top_podcasts"] ranks the shows that booked them. standing="established" ranks only credentialed or recognized expe
| Parameter | Type | Required | Notes |
|---|---|---|---|
| field | string | no | A field of research's ANZSRC 2020 code, slug or title from particle_expertise_resolve (e.g. 'banking-finance-and-investment'). Pass exactly one of occupation or field. |
| include | array | no | Optional sections: 'top_guests' (the guests in the code most booked in the window, with appearances, shows and last appearance) and 'top_podcasts' (the shows that booked the code's guests most). Defau |
| limit | integer | no | Rows per top_ section (1-25, default 10). |
| min_guests | integer | no | top_podcasts keeps shows that booked at least this many distinct guests in the code in the window (default 1). |
| min_podcasts | integer | no | top_guests keeps guests seen on at least this many distinct shows in the window (default 1); raise it to favor guests booked across the medium over a show's regulars. |
| occupation | string | no | An occupation's SOC 2018 or ISCO-08 code, slug or title from particle_expertise_resolve (e.g. 'cardiologists'). Pass exactly one of occupation or field. |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| since | string | no | Window start for the top_ sections (YYYY-MM-DD). Defaults to 30 days before until; the window may span at most 90 days. |
| standing | string | no | Rank only guests whose standing is recognized this way (e.g. 'established' for credentialed experts). Applies to the top_ sections. |
| until | string | no | Window end for the top_ sections (YYYY-MM-DD, inclusive). Defaults to now. |
Turn free text into the occupation and field-of-research codes the speaker-expertise filters take. Call it first whenever a question restricts who is speaking by occupation, profession, credentials or industry ("doctors", "medical professionals", "economists", "people in finance", "lawyers") — the filters, not search wording, decide who speaks — and again when a filter returns `unresolved_referenc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | Maximum codes to return (1-25, default 5). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| parent | string | no | A code, slug or title whose children to list (e.g. '29-0000' for the healthcare occupations, or '38' for economics). With query, searches only below it. |
| query | string | no | Free text naming an occupation or a field of research (e.g. 'cardiologist', 'financial analyst', 'constitutional law'). Singular or plural; words match by prefix. Omit with parent to list that code's |
| standard | string | no | Which codes to search: 'occupation' (SOC 2018, with ISCO-08 equivalents), 'field' (ANZSRC 2020 fields of research), or 'any' (default) for both. |
Return a person's profile: name, current role, and bio, keyed by the canonical person slug from particle_person_resolve. Request optional sections via include: 'external_links' for LinkedIn/Wikipedia/social profiles, 'podcast_appearances' for their most recent podcast appearances (episode and podcast slugs included for follow-up calls), 'companies' for the full role history, 'sports' for an a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| include | array | no | Optional response sections: 'external_links' (LinkedIn, Wikipedia, social profiles), 'podcast_appearances' (recent podcast appearances with episode and podcast slugs), 'companies' (the full role histo |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| person_slug | string | yes | Canonical person slug from particle_person_resolve (e.g. 'sam-altman'), or the encoded person ID. |
Resolve a person by free-text name. Returns ranked candidates with the canonical person slug — the stable handle accepted by particle_person_get, by every person_slug parameter (particle_podcast_find_mentions, particle_podcast_search_transcripts, particle_podcast_list_episodes), and by particle_podcast_get_guest's guest_slug. For bulk resolution, pass a comma-separated query — e
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | Maximum candidates per query (1-10, default 5). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| query | string | yes | Free-text person name (e.g. 'sam altman'). Case-insensitive. Comma-separated for bulk lookup — each name is resolved independently and grouped in the response. |
Find dialogue lines where a specific person or company is named in podcast transcripts. ## Three response modes format="summary" (default, wide scan). Returns up to limit episodes (reverse-chronological), each with metadata + the first 10 mention-only lines (just the lines naming the entity, no surrounding dialogue). Use this to see *what's been said across episodes* and decide which epi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| company_slug | string | no | Company slug, domain, or canonical ID (e.g. 'nvidia' or 'nvidia.com'). Resolves to the company's linked entity. |
| context_lines | integer | no | Surrounding dialogue lines around each mention (1-20, default 2). Detail mode only — ignored in summary and compact. |
| cursor | string | no | Opaque pagination cursor from a previous summary or compact response's cursor field. Summary and compact modes. |
| entity_slug | string | no | Knowledge-graph entity slug from particle_entity_resolve for the long tail that isn't a person or company — places, organizations, events, products, concepts (e.g. 'germany'). Use person_slug for peop |
| episode_slug | string | no | Episode slug(s) or canonical ID(s). For format='detail', required: pass one slug for a single drill-in or up to 10 comma-separated slugs (e.g. 'all-in-200,all-in-201,all-in-202') for a multi-episode d |
| format | string | no | Response shape. 'summary' (default) returns many episodes (reverse chron) with metadata plus the first few mention-only lines per episode — use this to scan and pick episodes to drill into. 'detail' r |
| guest_capacity | string | no | Only mentions spoken by a guest who knows their field in this capacity (e.g. 'public_official' for politicians). particle_expertise_resolve names the capacity an everyday word means. |
| guest_field | string | no | Only mentions spoken by a guest listed under this ANZSRC 2020 field of research: a code, slug or title from particle_expertise_resolve. |
| guest_in_field | boolean | no | Only mentions spoken by a guest speaking within their own field (the guest the other guest_ filters select, when given). |
| guest_occupation | string | no | Only mentions spoken by a guest listed under this occupation: a SOC 2018 or ISCO-08 code, slug or title from particle_expertise_resolve, or a SOC group or everyday name (e.g. 'financial-and-investment |
| guest_practicing | boolean | no | Only mentions spoken by a guest who still works in guest_occupation, which must be a SOC 2018 occupation or group. |
| guest_seniority | string | no | Only mentions spoken by a guest at this seniority or above. |
| guest_standing | string | no | Only mentions spoken by a guest whose standing is recognized this way: 'established' (conferred by others), 'self_described', or 'unverified'. |
| language | string | no | Restrict to episodes of podcasts in this language — ISO 639-1 code (e.g. 'fr'). Matches the podcast's primary language subtag, so 'fr' covers 'fr-FR'. |
| limit | integer | no | Episodes per page (1-50, default 10). Summary and compact modes — detail returns one episode regardless. |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| person_slug | string | no | Person slug or encoded person ID from particle_person_resolve, particle_entity_resolve, or the guest tools (e.g. 'sam-altman'). One of person_slug, company_slug, or entity_slug is required. |
| podcast_slug | string | no | Restrict mentions to a single podcast by slug, internal ID, or numeric iTunes ID. A particle.pro or Radar show link also works. |
| role | string | no | Constrain how the entity participates: guest, host, panelist, correspondent, or mention. |
| since | string | no | Only episodes published on or after this ISO 8601 date (e.g. 2025-01-01). |
Return a bundled overview of one podcast episode: title, podcast, speakers (with entity slugs), top mentioned entities, and segment/clip counts. By default the response is lean — counts plus the top mentioned entities. Request optional sections via include: 'segments' for the structural outline with timestamps, 'entities' for the complete entity list, 'clips' for engagement-ranked highlight cli
| Parameter | Type | Required | Notes |
|---|---|---|---|
| episode_slug | string | yes | Episode slug or canonical ID. A particle.pro or Radar episode link also works. |
| include | array | no | Optional response sections: 'transcript' (bounded dialogue transcript — large for long episodes; narrow it with the transcript_* sub-params), 'segments' (structural outline with timestamps), 'entities |
| transcript_end | number | no | Transcript end clip in seconds. |
| transcript_format | string | no | Transcript format for include=transcript. Defaults to text. |
| transcript_speaker | string | no | Filter the transcript to one speaker (name or entity slug). |
| transcript_start | number | no | Transcript start clip in seconds. |
Time-bucketed episode counts — the purpose-built answer to "how often is X discussed over time". Counts episodes matching the same filters as particle_podcast_list_episodes (person, company, entity, podcast, keyword, language, duration, transcript availability) per day, week, or month, plus range totals. keyword_search additionally counts matching transcript segments per bucket (exact counts);
| Parameter | Type | Required | Notes |
|---|---|---|---|
| company_slug | string | no | Company slug, domain, or ID. Resolves to the linked entity. |
| entity_slug | string | no | Knowledge-graph entity slug from particle_entity_resolve for the long tail that isn't a person or company (e.g. 'germany'). Use person_slug for people and company_slug for companies. |
| guest_capacity | string | no | Only episodes with a guest who knows their field in this capacity (e.g. 'executive_founder' for founders). It narrows the other filters; particle_expertise_resolve names the capacity an everyday word |
| guest_field | string | no | Only episodes with a guest listed under this ANZSRC 2020 field of research: a code, slug or title from particle_expertise_resolve (e.g. 'banking-finance-and-investment'). |
| guest_in_field | boolean | no | Only episodes with a guest speaking within their own field (the guest the other guest_ filters select, when given). |
| guest_occupation | string | no | Only episodes with a guest listed under this occupation: a SOC 2018 or ISCO-08 code, slug or title from particle_expertise_resolve, or a SOC group or everyday name (e.g. 'cardiologists', '29-1212', 'p |
| guest_practicing | boolean | no | Only episodes with a guest who still works in guest_occupation, which must be a SOC 2018 occupation or group (e.g. '29-1212' or 'physicians'). |
| guest_seniority | string | no | Only episodes with a guest at this seniority or above. |
| guest_standing | string | no | Only episodes with a guest whose standing is recognized this way: 'established' (conferred by others), 'self_described', or 'unverified'. |
| has_transcript | boolean | no | Only count episodes with a completed transcript. |
| interval | string | no | Bucket width. Weeks start on Monday; all buckets are UTC-aligned. Defaults to week. |
| keyword_search | string | no | Keyword filter over transcript content. Double-quoted substrings must appear as exact phrases; unquoted terms must all appear in one transcript segment. Adds per-bucket mention counts to the response. |
| language | string | no | Restrict to episodes of podcasts in this language — ISO 639-1 code (e.g. 'fr'). Matches the podcast's primary language subtag, so 'fr' covers 'fr-FR'. |
| max_duration | integer | no | Maximum episode duration in seconds. |
| min_duration | integer | no | Minimum episode duration in seconds. |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| person_slug | string | no | Person slug or encoded person ID (e.g. 'sam-altman'). Counts episodes featuring the person as a speaker — and, when the person has a linked knowledge-graph entity, episodes that mention them. |
| podcast_slug | string | no | Podcast slug, internal ID, or numeric iTunes ID. Restrict to one podcast. A particle.pro or Radar show link also works. |
| published_after | string | no | Inclusive range start as an ISO 8601 date or date-time. Omit to aggregate all time. |
| published_before | string | no | Range end as an ISO 8601 date or date-time. Defaults to now. |
A guest's podcast-appearance profile: lifetime stats (appearances, distinct podcasts, first/last appearance) plus their most frequent podcasts. Guests are people — the same slug works with particle_person_get for the biographical profile. Request optional sections via include: 'appearances' for the most recent episode appearances (episode and podcast slugs included for follow-up calls), 'podc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_slug | string | yes | Person slug (e.g. 'sam-altman') from particle_podcast_list_guests, particle_person_resolve, or particle_entity_resolve. |
| include | array | no | Optional response sections: 'appearances' (most recent episode appearances with episode/podcast slugs), 'podcasts' (per-podcast rollup of where they appear), 'suitability' (brand-suitability exposure |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
Podcast chart rankings from Apple Podcasts and Spotify, in four modes: - chart (default): the current chart for a source/country/category slot, or — with podcast_slug — every chart slot that podcast currently holds. - movers: the biggest rank changes over window_days (risers, fallers, debuts, exits). - history: past snapshots for a chart slot, or — with podcast_slug — one podcast
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category_slug | string | no | Category slug (e.g. 'comedy', 'business'). Omit for the overall chart. |
| change | string | no | Mode=movers only: filter by change type. Defaults to all. |
| country | string | no | ISO 3166-1 alpha-2 country code (e.g. 'us', 'gb', 'jp'). Defaults to us. |
| cursor | string | no | Opaque pagination cursor from a previous response. Not supported by mode=movers. |
| limit | integer | no | Rows per page (1-100, default 25). |
| mode | string | no | What to return. 'chart' (default): the current chart — or, with podcast_slug, every chart slot the podcast currently holds. 'movers': biggest rank changes over window_days (risers, fallers, debuts, ex |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| podcast_slug | string | no | Podcast slug, internal ID, or numeric iTunes ID. With mode=chart: that podcast's current chart appearances across every slot. With mode=history: that podcast's chart history. A particle.pro or Radar s |
| since | string | no | Mode=history only: only snapshots captured on or after this ISO 8601 timestamp. |
| source | string | no | Ranking source platform. Defaults to apple. |
| until | string | no | Mode=history only: only snapshots captured on or before this ISO 8601 timestamp. |
| window_days | integer | no | Mode=movers only: comparison window in days (1-30, default 1 = vs. yesterday). |
Split a person's, company's or entity's podcast mentions by who said them: the speakers' occupations (SOC 2018) or fields of research (ANZSRC 2020). Answers "who is talking about NVIDIA — investors, engineers, journalists?" in one call: each group's mention lines, share, distinct speakers and episodes over a window (default the last 30 days, at most 365), optionally bucketed by day, week or month.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| by | string | no | Group the speakers by 'occupation' (SOC 2018, default) or 'field' (ANZSRC 2020 fields of research). |
| company_slug | string | no | Company slug or domain from particle_company_resolve (e.g. 'nvidia'). Resolves to the company's linked entity. |
| entity_slug | string | no | Knowledge-graph entity slug from particle_entity_resolve for anything that isn't a person or company (e.g. 'germany'). |
| include_ads | boolean | no | Count mentions inside ad reads too. Off by default: ad copy is not a speaker's voice. |
| interval | string | no | Add each group's mentions per day, week or month. |
| keyword_search | string | no | Split the lines that say these words instead of an entity's mentions: every word in one line, case-insensitive; wrap words in double quotes to require them adjacent and in order. Words count as spoken |
| level | string | no | Group level: 'major' (default; SOC major groups or ANZSRC divisions) or 'detailed' (detailed occupations or ANZSRC groups). |
| limit | integer | no | Groups to return, most mentioned first (1-50, default 10). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| person_slug | string | no | Person slug from particle_person_resolve (e.g. 'sam-altman'). One of person_slug, company_slug, entity_slug or keyword_search is required. |
| podcast_slug | string | no | Only mentions inside this podcast (slug from particle_podcast_resolve). |
| published_after | string | no | Only episodes published on or after this date (YYYY-MM-DD). Defaults to 30 days before published_before; the window may span at most 365 days for an entity and 90 for a keyword. |
| published_before | string | no | Only episodes published on or before this date (YYYY-MM-DD). Defaults to now. |
| publisher_slug | string | no | Only mentions on podcasts of this publisher (network), by slug. |
| speakers | string | no | Whose lines count: 'all' (default, hosts included) or 'guests' (guests and panelists only). |
Browse AI-extracted highlight clips across the catalog, ranked by engagement potential — the shareable moments. Filter by podcast, episode, clip type (FUNNY, CONTROVERSIAL, INSIGHTFUL, ...), minimum engagement score, or speaker — speaker takes a person slug and returns only clips of that person talking ('an insightful Sam Altman clip'). Pass clip_id for one clip's full detail (description, so
| Parameter | Type | Required | Notes |
|---|---|---|---|
| clip_id | string | no | Return one clip's full detail instead of a listing. Clip IDs come from this tool, particle_podcast_get_episode with include=clips, and search-result overlapping clips. |
| cursor | string | no | Opaque pagination cursor from a previous response. |
| episode_slug | string | no | Restrict the listing to one episode (slug or ID). A particle.pro or Radar episode link also works. |
| include | array | no | With clip_id only: 'transcript' attaches the clip's dialogue transcript. |
| limit | integer | no | Clips per page (1-50, default 10). |
| min_engagement | integer | no | Minimum engagement potential score (0-100). Above 70 is typical for a strong clip. |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| podcast_slug | string | no | Restrict the listing to one podcast (slug, internal ID, or numeric iTunes ID). A particle.pro or Radar show link also works. |
| speaker | string | no | Restrict the listing to clips whose primary speaker is this person — a person slug (e.g. 'sam-altman' from particle_person_resolve), a knowledge-graph entity slug for the same person, or an ID. |
| type | string | no | Clip type filter. |
List episodes across the catalog with rich filters: by podcast, person, company, language, date range, duration, or transcript availability. By default it lists the episodes we have ingested. Pass transcript_status with podcast_slug to reach the show's back catalogue — older episodes discovered in its feed but not transcribed, marked requestable. Their transcript, segments, speakers and entit
| Parameter | Type | Required | Notes |
|---|---|---|---|
| company_slug | string | no | Company slug, domain, or ID. Resolves to the linked entity. |
| cursor | string | no | Opaque pagination cursor from a previous response. |
| entity_slug | string | no | Knowledge-graph entity slug from particle_entity_resolve for the long tail that isn't a person or company — places, organizations, events, products, concepts (e.g. 'germany'). Use person_slug for peop |
| guest_capacity | string | no | Only episodes with a guest who knows their field in this capacity (e.g. 'executive_founder' for founders). It narrows the other filters; particle_expertise_resolve names the capacity an everyday word |
| guest_field | string | no | Only episodes with a guest listed under this ANZSRC 2020 field of research: a code, slug or title from particle_expertise_resolve (e.g. 'banking-finance-and-investment'). |
| guest_in_field | boolean | no | Only episodes with a guest speaking within their own field (the guest the other guest_ filters select, when given). |
| guest_occupation | string | no | Only episodes with a guest listed under this occupation: a SOC 2018 or ISCO-08 code, slug or title from particle_expertise_resolve, or a SOC group or everyday name (e.g. 'cardiologists', '29-1212', 'p |
| guest_practicing | boolean | no | Only episodes with a guest who still works in guest_occupation, which must be a SOC 2018 occupation or group (e.g. '29-1212' or 'physicians'). |
| guest_seniority | string | no | Only episodes with a guest at this seniority or above. |
| guest_standing | string | no | Only episodes with a guest whose standing is recognized this way: 'established' (conferred by others), 'self_described', or 'unverified'. |
| has_transcript | boolean | no | Only include episodes with a completed transcript. Superseded by transcript_status=transcribed; do not pass both. |
| language | string | no | Restrict to episodes of podcasts in this language — ISO 639-1 code (e.g. 'fr'). Matches the podcast's primary language subtag, so 'fr' covers 'fr-FR'. |
| limit | integer | no | Episodes per page (1-50, default 10). |
| max_duration | integer | no | Maximum episode duration in seconds. |
| min_duration | integer | no | Minimum episode duration in seconds. |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| person_slug | string | no | Person slug or encoded person ID from particle_person_resolve, particle_entity_resolve, or the guest tools (e.g. 'sam-altman'). Episodes featuring or mentioning the person. |
| podcast_slug | string | no | Podcast slug, internal ID, or numeric iTunes ID. Restrict to one podcast. A particle.pro or Radar show link also works. |
| published_after | string | no | ISO 8601 date or date-time. |
| published_before | string | no | ISO 8601 date or date-time. |
Browse podcast guests across the catalog, in two opinionated modes: - directory (default): the guest directory ranked by lifetime appearances (guests with 2+ appearances). - trends: who's making the rounds right now — guests with appearances on 2+ distinct podcasts in the last 30 days, which surfaces cross-show press tours rather than show regulars. The press-tour shape is enforced: every
| Parameter | Type | Required | Notes |
|---|---|---|---|
| appeared_since | string | no | Only guests with an appearance on or after this date (YYYY-MM-DD or ISO 8601). Directory mode only. |
| capacity | string | no | Only guests who know their field in this capacity. Directory mode only. |
| cursor | string | no | Opaque pagination cursor from a previous response. |
| employer | string | no | Only guests whose organization is this company (slug from particle_company_resolve, or a domain). Directory mode only. |
| field | string | no | Only guests listed under this ANZSRC 2020 field of research: a code, slug or title from particle_expertise_resolve (e.g. 'banking-finance-and-investment'). Directory mode only. |
| include | array | no | Optional per-guest sections: 'expertise' (widens the occupation codes, standing and seniority every row carries to the fuller one-line read with the organization). Directory mode only. |
| limit | integer | no | Guests per page (1-50, default 20). |
| mode | string | no | What to return. 'directory' (default): the guest directory ranked by lifetime appearances. 'trends': guests trending right now — appearances on 2+ distinct podcasts in the last 30 days (cross-show pre |
| occupation | string | no | Only guests listed under this occupation: a SOC 2018 or ISCO-08 code, slug or title from particle_expertise_resolve, or a SOC group or everyday name (e.g. 'cardiologists', '29-1212', 'physicians' or ' |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| podcast_slug | string | no | Return one show's guest roster instead of the corpus directory: every guest who has appeared on this podcast, ranked by appearances on the show (no lifetime-appearance floor). Slug from particle_podca |
| practicing | boolean | no | Only guests who still work in the occupation. Needs a SOC 2018 occupation or group (e.g. '29-1212' Cardiologists or 'physicians'). Directory mode only. |
| seniority | string | no | Only guests at this seniority or above. Directory mode only. |
| standing | string | no | Only guests whose standing is recognized this way: 'established' (conferred by others: a credential, a position, recognition in the field), 'self_described', or 'unverified'. Directory mode only. |
| topic_slug | string | no | Restrict to guests with appearances on episodes classified under this topic (slug from particle_topic_browse, e.g. 'technology/artificial-intelligence'). Ignored when podcast_slug is set. |
List the shows most related to a podcast, best first — "shows like this show". Each result carries the related show's slug, a calibrated score in (0,1], and a coarse band (strong: same beat and audience; moderate: overlapping subject or audience; weak: a loose connection) to branch on. Add include: ["basis"] to see WHY each pair is related: content similarity of recent episodes, shared topics, s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Opaque pagination cursor from a previous response. |
| exclude_same_publisher | boolean | no | Drop shows from the source show's own publisher. |
| include | array | no | Optional response sections. 'basis' attaches, per result, the signals that make the two shows related: content similarity of recent episodes, shared topics, shared guests (named), same publisher, shar |
| language | string | no | Only shows in this language: an ISO 639-1 code such as 'en' or 'es'. |
| limit | integer | no | Results per page (1-50, default 10). |
| min_popularity | number | no | Only shows at or above this popularity percentile (0-1]. A floor above 0 excludes non-charting shows; 0 applies no floor. |
| min_score | number | no | Drop results below this fused score (0-1]. Prefer branching on each result's band (strong / moderate / weak); score thresholds may be recalibrated as the ranker improves. |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| podcast_slug | string | no | The source podcast — slug (e.g. 'all-in' from particle_podcast_resolve), internal ID, or numeric iTunes ID. A particle.pro or Radar show link also works. |
| publishing_status | string | no | Only shows that released an episode in the last 90 days ('active') or did not ('dormant'); shows with no known episode date match neither. |
| suitability_tier | string | no | Only shows whose latest brand-suitability tier is this value; never-assessed shows are excluded. |
Episodes from OTHER shows that cover the same story or subject as a given episode, best first — a live nearest-neighbour search over episode content, reranked on shared salient entities, shared topics and a shared news story. Each row carries a calibrated score and a band (strong / moderate / weak) to branch on; pass include: ["basis"] to see the signals behind every match. Each show contributes
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Opaque pagination cursor from a previous response. |
| episode_slug | string | yes | Episode slug or ID (from particle_podcast_list_episodes, particle_podcast_get_episode, or a search result). A particle.pro or Radar episode link also works. |
| include | array | no | 'basis' attaches, per result, the signals behind the match: content similarity, shared entities with names, shared topics, a shared news story, shared guests, days apart. |
| limit | integer | no | Results per page (1-50, default 10). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| published_within_days | integer | no | Only episodes published within this many days of the query episode, on either side. Omit for no window. Use 7–30 for 'who else covered this story'. |
| same_podcast | boolean | no | Admit episodes of the same show. Off by default — a show's own episodes are its episode list (particle_podcast_list_episodes), not its related content. |
Find a podcast by free-text title, exact slug, iTunes ID, or RSS feed URL. Returns slug, title, episode count, bias, and the top recurring speakers (with entity slugs). Use the slug as the agent-facing handle to feed into other podcast tools (particle_podcast_find_mentions, particle_podcast_list_episodes, particle_podcast_get_sponsors). Free-text matching is forgiving — typos, missing or ex
| Parameter | Type | Required | Notes |
|---|---|---|---|
| guest_field | string | no | Only shows whose analyzed guests include someone listed under this ANZSRC 2020 field of research: a code, slug or title from particle_expertise_resolve. |
| guest_occupation | string | no | Only shows whose analyzed guests include someone listed under this occupation: a SOC 2018 or ISCO-08 code, slug or title from particle_expertise_resolve. |
| include | array | no | Optional non-parameterized hydrations to attach to each result. 'external_links' adds third-party platform presences (directories, social profiles, video channels, publisher websites). 'suitability' a |
| itunes_id | string | no | Numeric Apple Podcasts / iTunes ID (e.g. '1502871393'). Resolves directly to the matching podcast. |
| limit | integer | no | Maximum candidates to return (1-25, default 5). |
| max_promotional_guest_share | number | no | Only shows where at most this share (0-1) of analyzed guest appearances are promotional; 0 keeps only shows with none. |
| min_established_guest_share | number | no | Only shows where at least this share (0-1) of analyzed guest appearances are by guests of established standing. |
| min_in_field_guest_share | number | no | Only shows where at least this share (0-1) of analyzed guest appearances are guests speaking within their own field. |
| min_popularity | number | no | Restrict candidates to podcasts whose global popularity percentile is at least this value (0-1]. Popularity is a cume_dist ranking over currently-charting podcasts; non-charting podcasts are excluded |
| query | string | no | Free-text search across podcast titles and descriptions (case-insensitive partial match). Omit to fall back to the most recently updated podcasts. |
| recent_episodes | integer | no | Inline this many of each result's most recent episodes (slug, title, published_at, duration). 0 (default) means none — call particle_podcast_list_episodes if you need more than the inline tail. Capped |
| rss_url | string | no | Canonical RSS feed URL. Resolves directly to the matching podcast. |
| slug | string | no | Exact slug match for a known handle (e.g. 'all-in'). |
| suitability_tier | string | no | Filter candidates by brand-suitability tier. Podcasts without a suitability analysis are excluded when set. |
| topic_slug | string | no | Filter candidates by topic (slug from particle_topic_browse, e.g. 'technology/artificial-intelligence'). Matches podcasts where the topic — or any of its descendants — accounts for a meaningful share |
Search the podcast catalog by what is said in episodes — by meaning (semantic_search), by exact phrase (keyword_search), or both at once (hybrid ranking). This is THE way to retrieve relevant dialogue, segments, and clips: each result is one segment of one episode with bounded transcript windows pinpointing the highest-relevance lines, plus any highlight clips that overlap the segment inline o
| Parameter | Type | Required | Notes |
|---|---|---|---|
| company_slug | string | no | Company slug, domain, or ID. Resolves to the company's linked entity and applies as a filter. |
| context | integer | no | Lines of surrounding dialogue around each matched line (1-15, default 1). Widens each match window in place — use a larger value instead of fetching the full transcript when a match needs more context |
| cursor | string | no | Opaque pagination cursor from a previous response. |
| entity_slug | string | no | Knowledge-graph entity slug from particle_entity_resolve for the long tail that isn't a person or company — places, organizations, events, products, concepts (e.g. 'germany'). Use person_slug for peop |
| entity_type | string | no | Narrow to dialogue in episodes that mention any entity of this category — e.g. 'book', 'company', 'movie', 'school'. Use for 'discussions of X that reference some book'. Ignored when person_slug/compa |
| episode_slug | string | no | Filter to a specific episode by slug or ID. A particle.pro or Radar episode link also works. |
| format | string | no | Response shape. 'full' (default) carries each match's bounded dialogue windows and overlapping clips. 'compact' returns the same ranked matches with no dialogue — episode and podcast slugs, segment id |
| guest_capacity | string | no | Only episodes with a guest who knows their field in this capacity (e.g. 'executive_founder' for founders). It narrows the other filters; particle_expertise_resolve names the capacity an everyday word |
| guest_field | string | no | Only episodes with a guest listed under this ANZSRC 2020 field of research: a code, slug or title from particle_expertise_resolve (e.g. 'banking-finance-and-investment'). |
| guest_in_field | boolean | no | Only episodes with a guest speaking within their own field (the guest the other guest_ filters select, when given). |
| guest_occupation | string | no | Only episodes with a guest listed under this occupation: a SOC 2018 or ISCO-08 code, slug or title from particle_expertise_resolve, or a SOC group or everyday name (e.g. 'cardiologists', '29-1212', 'p |
| guest_practicing | boolean | no | Only episodes with a guest who still works in guest_occupation, which must be a SOC 2018 occupation or group (e.g. '29-1212' or 'physicians'). |
| guest_seniority | string | no | Only episodes with a guest at this seniority or above. |
| guest_standing | string | no | Only episodes with a guest whose standing is recognized this way: 'established' (conferred by others), 'self_described', or 'unverified'. |
| keyword_match | string | no | How UNQUOTED keyword_search words are applied. 'required' (default) excludes any passage missing one of them, which also makes a hybrid call an intersection with semantic_search. Switch to 'ranked' wh |
| keyword_search | string | no | Words that must literally be spoken. Use for exact tokens a paraphrase would miss — tickers, product names, drug names, model numbers. Every word must appear in the same passage (see keyword_match), s |
| language | string | no | Restrict to episodes of podcasts in this language — ISO 639-1 code (e.g. 'fr'). Matches the podcast's primary language subtag, so 'fr' covers 'fr-FR'. |
| limit | integer | no | Results per page (1-50, default 10). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| person_slug | string | no | Person slug or encoded person ID from particle_person_resolve, particle_entity_resolve, or the guest tools (e.g. 'sam-altman'). Filters results to dialogue featuring this person. For 'every line about |
Navigate the topic taxonomy. Without parent_slug, returns the top-level roots (Politics, Business, Technology, etc.). With parent_slug set, returns the direct children of that topic. Topic slugs use a parent/child convention (e.g. politics/elections) and let agents browse the hierarchy to find well-named categories. To find a topic by name instead of walking the tree, pass query (e.g. `
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | string | no | Opaque pagination cursor from a previous response. |
| limit | integer | no | Topics per page (1-100, default 50). |
| output_format | string | no | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matter |
| parent_slug | string | no | Topic slug or ID. Returns the direct children of this topic. Omit for top-level roots (Politics, Business, Technology, etc.). With query, limits the search to this topic's descendants. |
| query | string | no | Find topics by name: exact names first, then names starting with it, then (when it has a word of 3 or more characters) names containing it, each ranked by story coverage. Covers topics with at least 5 |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Particle Pro or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Particle Pro can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.