https://mcp.particle.pro over Streamable HTTP. Point any modern MCP client at the URL and the client handles the OAuth handshake automatically.
Install
One-click install: Add to Cursor · Add to VS Code — both encode the same config as the manual tabs below, so use whichever you prefer.Claude Desktop alternative — UI flow: Settings → Connectors → Add custom connector, paste
https://mcp.particle.pro, complete OAuth in the browser. Easier than editing JSON and avoids the mcp-remote bridge entirely.ChatGPT
ChatGPT connects through its connector UI rather than a config file (requires a Pro, Plus, Business, Enterprise, or Edu plan):- Open Settings → Apps → Advanced settings and enable Developer mode.
- Back in Settings → Apps, choose Create app and enter
https://mcp.particle.proas the MCP server URL, with OAuth as the authentication method. - Complete the OAuth approval in the browser pop-up, picking the project the agent should act on.
- In a conversation, enable the connector from the composer’s tools menu, then run the sanity check below.
Calling it from an LLM API
Server-side agents can hand the MCP server straight to a model API — no MCP client library needed. Both providers connect tohttps://mcp.particle.pro themselves; authenticate with a project API key as the bearer:
require_approval: "never" is safe here); calls meter to the project that owns the key exactly like any other MCP traffic.
Any other client
Point the client athttps://mcp.particle.pro over Streamable HTTP and prefer OAuth when the client supports it. Stdio-only clients bridge through mcp-remote (tab above). Headless or programmatic callers should read Authentication.
You’ll need a Particle Pro account with an active project. If you don’t have one, sign up at platform.particle.pro first.
OAuth flow
The first tool call triggers an OAuth flow:- Your client opens
https://api.particle.pro/oauth/authorize?...in a browser. - You sign in to Particle Pro (if not already), then approve the requested scopes (
mcp:read,mcp:writeby default) and pick which project the agent should act on. - The browser redirects back to your client’s local callback. The client exchanges the authorization code for tokens, stores them, and re-issues the original tool call.
Sanity check
Once connected, ask the agent to call a low-cost read tool. A good first call:output_format: "json" to receive the structured JSON form instead):
- **Person slug:** for a person — is what every person_slug parameter expects (marc-andreessen here). Feed it into particle_podcast_find_mentions, particle_podcast_search_transcripts, or particle_podcast_list_episodes. (Company results lead with - **Type:** company and a - **Company slug:** row plus - **Ticker:** / - **Domain:**.)
A short agent loop
A typical research workflow chains a small number of tools:- Resolve names to slugs —
particle_entity_resolvefor any named thing (returns a typed handle),particle_person_resolvefor people only,particle_company_resolvefor orgs by ticker/domain,particle_podcast_resolvefor shows. - Discover episodes or dialogue —
particle_podcast_search_transcriptsfor topic-based ranking (relevant clips arrive inline),particle_podcast_find_mentionsfor “every line about X”,particle_podcast_list_episodesfor filter-driven discovery. - Drill in —
particle_podcast_get_episodewithinclude: ["segments", "clips", "transcript"]for the full picture. - Pivot to ads, rankings, and brand safety — opt-in categories like
particle_company_get_podcast_ad_presence(“where does company X advertise”),particle_podcast_get_rankings(chart movers/history), andparticle_podcast_get_suitability_leaderboard(safest publishers). These are callable by name even when not advertised — see Tool sets & discovery.
## Heading use flat **Key:** value, while per-item field rows under ### Item title use - **Key:** value bullets. Either way, the bold-key prefix (e.g. **Slug:**, **Episode slug:**) is what to grep for.
Troubleshooting
- “server requires authentication” — your client hit the MCP endpoint without a bearer token, or the token failed verification. Re-run the OAuth flow; if you persist tokens to disk, delete the cache for
mcp.particle.pro. - Browser callback hangs — confirm the client’s
redirect_urimatches one it registered. Most desktop MCP clients usehttp://localhost:<port>/callback; the AS allows localhost redirects without prior approval. - 403 on a tool call after a successful connection — the OAuth grant is for the wrong project. Revoke the connection (Manage connections) and reconnect, picking the correct project at the consent screen.
- Specific tool errors — see the Errors page for how tool failures surface as MCP
isError: trueresults and how to react to each kind.
Next steps
Authentication
OAuth 2.1 end-to-end — useful when wiring up a custom client.
Tool reference
Every input, output, and example for every tool.
Tool sets & discovery
Default vs opt-in categories, the include/exclude selectors, and the meta-tools.