# Podgist

> Search, ask and order podcast transcripts; answers cite the episode and minute.

- name: com.podgist/podgist
- version: 1.1.1
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.podgist%2Fpodgist
- tools: https://api.protogrid.dev/v1/servers/com.podgist%2Fpodgist/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "podgist": {
      "type": "http",
      "url": "https://api.podgist.com/mcp",
      "headers": {
        "Authorization": "Bearer ${PODGIST_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${PODGIST_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-98% +updated-13d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 94 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 45 of 45 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 21 of 45 tools declare all four hints; missing: get_order (destructiveHint, idempotentHint); list_follows (destructiveHint, idempotentHint); list_episodes (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 4,363 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 83 (weight 15)

- warn `stability.changes`: 43 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 45, about 4,363 tokens to load them all
- tool set hash: d9653ab6db1705d69b7da5270ac2c3d0
- tools last changed: 2026-11-11T04:08:33.860Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.podgist/podgist.svg)](https://protogrid.dev/servers/com.podgist/podgist)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-11 `remove_alert` added
  - Remove this account’s saved target. Needs account scope. Free.
- 2026-11-11 `update_alert` added
  - Pause/resume a saved target or select email/RSS. Resume only matches future transcriptions; pause drops queued unsent alerts. Following cadence wins. Needs account scope. Free.
- 2026-11-11 `save_alert` added
  - Save a person/topic slug or literal keyword phrase. RSS only by default; never enables Following consent. Paid email needs separate consent. Needs account scope. Free.
- 2026-11-11 `list_saved_alerts` added
  - Canonical saved person/topic/literal phrase alerts, pause state, restore links and Following consent/cadence. Free.
- 2026-11-11 `list_people_follows` changed (description)
  - before: The people, names and keywords this account follows, with their latest episodes and alert settings. Free.
  - after: Legacy alias of list_saved_alerts. The saved targets this account follows, with their latest episodes and alert settings. Free.
- 2026-11-11 `find_topics` added
  - Find up to10 currently public topic names and canonical slugs. Use a slug as the topic filter of search_transcripts. Free; no key needed.
- 2026-11-11 `search_transcripts` changed (description, inputSchema)
  - before: Full-text search across transcripts: matching episodes with snippets, newest relevance first, 20 a page. Optional podcast slug and date range (YYYY-MM-DD). Needs an API key; billed per search (see list_services).
  - after: Full-text search across transcripts: matching episodes with snippets, newest relevance first, 20 a page. Optional speaker person slug, podcast/topic slugs, publication year and UTC dates (YYYY-MM-DD). Speaker mode requires literal words/quoted phrases in one qualified passage and reports indexed coverage and playback windows. Needs an API key; billed per search (see list_services).
- 2026-11-03 `unfollow_person` added
  - Stop following a person. Needs the "account" scope. Free.
- 2026-11-03 `follow_person` added
  - Follow a person by slug (find_people), as the Follow button does. The free plan follows up to 3. Needs the "account" scope. Free.
- 2026-11-03 `list_people_follows` added
  - The people, names and keywords this account follows, with their latest episodes and alert settings. Free.

Full history: https://api.protogrid.dev/v1/servers/com.podgist%2Fpodgist/changes

## Remotes

- https://api.podgist.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.98214287)

## Packages

_none_

## Tools (45)

- `analyze_feed`: Reads a public RSS feed (or Apple/Spotify link) and lists its episodes with which are already on Podgist and the price to transcribe the rest. Free; no key needed; at most 10 a minute.
- `ask_question`: Starts a cited answer drawn only from what was said on podcasts, or from one episode when episode_id (the pid of a search result) is given. Returns a job_id; call get_answer with it until status is complete (usually under a minute). Needs an API key; billed per question (see list_services).
- `billing_portal_link`: A link for a person to change the card, see invoices or cancel a card subscription. Needs the "billing" scope.
- `cancel_subscription`: Cancel the account's card-paid Professional plan at period end (provider "stripe", undo to keep it), or its PayPal subscription (provider "paypal"), exactly as the account page does. Prepaid terms bought with the balance never renew, so need no cancelling. Needs the "billing" scope.
- `checkout_quote`: A checkout link for a person to pay this quote by card (when the balance or a cap stops order). The quote can then only be paid by that link; asking again returns the same link. Needs the "billing" scope.
- `delete_ask`: Remove a question from the Ask history (restore_ask puts it back). Needs the "account" scope.
- `find_people`: People podcasts talk to and talk about, by name: slug, one-line descriptor and appearance counts. Free.
- `find_podcasts`: Public podcasts whose name contains the text, most-transcribed first, with their slug (for the podcast filter of search_transcripts). Free; no key needed. At most 20 results.
- `find_topics`: Find up to10 currently public topic names and canonical slugs. Use a slug as the topic filter of search_transcripts. Free; no key needed.
- `follow_person`: Follow a person by slug (find_people), as the Follow button does. The free plan follows up to 3. Needs the "account" scope. Free.
- `follow_podcast`: Follow a podcast (as the Follow button does). Needs the "account" scope. Free.
- `get_account`: Plan, subscriptions, AI credits, follows, purchases and summary-email settings, as the account page shows them. Free.
- `get_answer`: The status and, once complete, the answer and its cited passages for a job from ask_question. Needs the API key that asked. Not billed.
- `get_news`: Podgist's own news posts. Free.
- `get_order`: One order and each episode's status (waiting, transcribed, refunded). Free.
- `get_person`: One person's page data: bio, photo credit, counts, trend and the months with episodes; with month (YYYY-MM) and page, that month's episodes and how each names them. Free.
- `get_podcast`: Description, links, how many episodes are transcribed, the latest episode, and the price to transcribe an episode or subscribe. Free; no key needed.
- `get_topics`: This week's topics across podcasts, or one topic by slug. Free.
- `get_transcript`: One episode's transcript, with speaker turns and timestamps, by podcast and episode id (the sid and pid of a search result). Only what the key's account may read. Needs an API key; billed per transcript (see list_services).
- `get_usage`: The key's account balance and monthly allowance, and its calls and cost per day over the last 30 days. Needs an API key. Not billed.
- `list_ask_history`: This account's questions, newest first, site and API alike. Free.
- `list_credit_tiers`: The AI-question credit packs and their prices. Free.
- `list_episodes`: Episodes newest first, 25 a page: title, date, length, whether transcribed (with its link) and, if not, the price to transcribe it. Page 1 is free with no key; each later page needs a key and is billed at the catalog rate (list_services).
- `list_follows`: The podcasts this account follows. Free.
- `list_orders`: This account's orders paid from the API balance, newest first. Free.
- `list_people_follows`: Legacy alias of list_saved_alerts. The saved targets this account follows, with their latest episodes and alert settings. Free.
- `list_saved_alerts`: Canonical saved person/topic/literal phrase alerts, pause state, restore links and Following consent/cadence. Free.
- `list_services`: Lists the tools, which need an API key, and the current price per call. Free; no key needed.
- `order`: Buys what a quote is for, charging its price to the account's prepaid API balance (never a card). At most $50 an order and $200 a day. Episodes that are never transcribed are refunded automatically. Needs the "order" scope.
- `quote_credits`: A quote for one credit pack (tier from list_credit_tiers).
- `quote_episode`: The price for this account to transcribe one episode (or, if transcribed, to read it), held 30 minutes. Needs a key with the "order" scope. Not billed; nothing is bought until order.
- `quote_index`: The price to transcribe chosen episodes of a feed (episode ids from analyze_feed), with volume pricing. Needs a key with the "order" scope. Not billed until order.
- `quote_subscription`: A prepaid term of one month or year, paid from the balance, that never renews by itself: "podcast" (every transcript of one show), "all" (every transcript) or "professional" (all access plus the API).
- `remove_alert`: Remove this account’s saved target. Needs account scope. Free.
- `request_password_reset`: Email the account's address a password-reset code, as "Forgot password" does; the person sets the new password. Needs the "account" scope.
- `restore_ask`: Put a deleted question back in the Ask history. Needs the "account" scope.
- `revoke_this_key`: Revoke the API key making this call, for good. Other keys are managed only by the person.
- `save_alert`: Save a person/topic slug or literal keyword phrase. RSS only by default; never enables Following consent. Paid email needs separate consent. Needs account scope. Free.
- `search_transcripts`: Full-text search across transcripts: matching episodes with snippets, newest relevance first, 20 a page. Optional speaker person slug, podcast/topic slugs, publication year and UTC dates (YYYY-MM-DD). Speaker mode requires literal words/quoted phrases in one qualified passage and reports indexed coverage and playback windows. Needs an API key; billed per search (see list_services).
- `set_email_settings`: Turn the summary email on or off, set daily or weekly and the weekly day, or include one followed podcast (podcast + enabled). Needs the "account" scope. Free.
- `share_ask`: The public link to one of this account's answered questions.
- `start_topup`: A checkout link for a person to add funds to the API balance by card; nothing is charged by the agent. The amount must be within the top-up limits list_services gives (orders.topup_min / topup_max). Needs the "billing" scope.
- `unfollow_person`: Stop following a person. Needs the "account" scope. Free.
- `unfollow_podcast`: Stop following a podcast. Needs the "account" scope. Free.
- `update_alert`: Pause/resume a saved target or select email/RSS. Resume only matches future transcriptions; pause drops queued unsent alerts. Following cadence wins. Needs account scope. Free.
