Apple Podcasts MCP Server
NPM · @CONORBRONSDON/APPLE-PODCASTS-MCP · SCANNED AUG 4
Apple Podcasts Connect owner analytics over Reporter: plays, followers, episodes. Read-only.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to conorbronsdon/apple-podcasts-mcp). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 1 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability62
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1065 tokens (~266/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @conorbronsdon/apple-podcasts-mcp
claude mcp add conorbronsdon-apple-podcasts-mcp -- npx -y @conorbronsdon/apple-podcasts-mcp
codex mcp add conorbronsdon-apple-podcasts-mcp -- npx -y @conorbronsdon/apple-podcasts-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"conorbronsdon-apple-podcasts-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@conorbronsdon/apple-podcasts-mcp"
],
"enabled": true
}
}
} openclaw mcp add conorbronsdon-apple-podcasts-mcp --command npx --arg -y --arg @conorbronsdon/apple-podcasts-mcp
mcp_servers:
conorbronsdon-apple-podcasts-mcp:
command: "npx"
args: ["-y", "@conorbronsdon/apple-podcasts-mcp"] {
"mcpServers": {
"conorbronsdon-apple-podcasts-mcp": {
"command": "npx",
"args": [
"-y",
"@conorbronsdon/apple-podcasts-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 0
- Security disclosure: fail → unverified ▼ functional
- 3 Aug 26 +27
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: excellent functional
- 2 Aug 26 46
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Analysed npm/@conorbronsdon/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- Source repo:
- conorbronsdon/apple-podcasts-mcp
- Certificate issuer:
- https://token.actions.githubusercontent.com
- Certificate SAN:
- https://github.com/conorbronsdon/apple-podcasts-mcp/.github/workflows/publish.yml@refs/heads/main
- Rekor log index:
- 2329387373
- Predicate type:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:4aa3e025a7cc4656b4a88253bab0b96caa93d5867f5d6cfe119b87ea4b9f2db47bf1ebf63f52b43f84865bd27b600998cc8c83e82f8af5726c34413b0
- Discovery method:
- attestation_endpoint
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
apple_podcasts_check_access ~75
Verify the configured Apple Podcasts Connect credentials and list the vendor numbers this access token can read. Run this first, and run it whenever another tool reports an auth failure: Reporter access tokens expire 180 days after they are generated, and the failure looks like a permissions problem rather than an expiry. Returns no listening data.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
apple_podcasts_episodes ~379
Per-episode listening from Apple Podcasts Connect over a date range: plays, unique listeners, and engaged listeners for each episode, rolled up across the range and ranked. Answers 'which episodes held attention on Apple'. Apple aggregates from unique devices, so these are device counts, not headcounts, and an engaged listener is a device that played at least 20 minutes or 40% of an episode — a depth threshold, not a completion. Takes an explicit date range and a row cap; both are required to keep the response bounded.
| Name | Type | Req | Description |
|---|---|---|---|
| end | string | — | End of the range, YYYY-MM-DD (or YYYY-MM for Monthly). Defaults to 2 days ago, because Apple publishes reports on a lag. |
| limit | integer | — | Max episodes to return, ranked by sort_by. Default 10, cap 50. |
| max_periods | integer | — | How many periods to fetch, cap 31. Reporter has no range query, so each period is a separate call to Apple and a wide range will hit their throttle. Default 7. Ranges longer than this are truncated t… |
| period | string | — | Reporter period. Daily and Weekly take YYYY-MM-DD dates; Monthly takes YYYY-MM. Weekly dates are Apple's week-ending Sundays. |
| sort_by | string | — | Which metric ranks the episodes. Default plays. |
| start | string | — | Start of the range, YYYY-MM-DD (or YYYY-MM for Monthly). Defaults to 7 days back for Daily, 7 weeks for Weekly, 6 months for Monthly — each sized to fit the default max_periods of 7. |
| worldwide | boolean | — | Use the worldwide episode report instead of the per-storefront one. Per-storefront repeats every episode once per country, which is far more rows for the same totals. |
No output schema declared.
No examples provided.
apple_podcasts_followers ~268
Follower trend for the show on Apple Podcasts over a date range: one value per period plus the change across the window. Use it for 'is my Apple following growing'. Read the resolvedColumn field in the response before interpreting the numbers: Apple's follower column has been both a running total and a per-period count, and which one you get changes what 'change' means.
| Name | Type | Req | Description |
|---|---|---|---|
| end | string | — | End of the range, YYYY-MM-DD (or YYYY-MM for Monthly). Defaults to 2 days ago, because Apple publishes reports on a lag. |
| max_periods | integer | — | How many periods to fetch, cap 31. Reporter has no range query, so each period is a separate call to Apple and a wide range will hit their throttle. Default 14. Ranges longer than this are truncated… |
| period | string | — | Reporter period. Daily and Weekly take YYYY-MM-DD dates; Monthly takes YYYY-MM. Weekly dates are Apple's week-ending Sundays. |
| start | string | — | Start of the range, YYYY-MM-DD (or YYYY-MM for Monthly). Defaults to 7 days back for Daily, 7 weeks for Weekly, 6 months for Monthly — each sized to fit the default max_periods of 7. |
No output schema declared.
No examples provided.
apple_podcasts_summary ~343
Show-level listening summary from Apple Podcasts Connect over a date range: plays, unique listeners, engaged listeners, and followers, per period and totalled. Apple aggregates listening from unique devices, so listener counts are devices, not people, and an engaged listener is a device that played at least 20 minutes or 40% of an episode. This is the owner-side data Apple's hosting APIs do not expose. Use it for 'how is the show doing on Apple' questions. Keep the range short; each period is a separate call to Apple.
| Name | Type | Req | Description |
|---|---|---|---|
| end | string | — | End of the range, YYYY-MM-DD (or YYYY-MM for Monthly). Defaults to 2 days ago, because Apple publishes reports on a lag. |
| max_periods | integer | — | How many periods to fetch, cap 31. Reporter has no range query, so each period is a separate call to Apple and a wide range will hit their throttle. Default 7. Ranges longer than this are truncated t… |
| period | string | — | Reporter period. Daily and Weekly take YYYY-MM-DD dates; Monthly takes YYYY-MM. Weekly dates are Apple's week-ending Sundays. |
| start | string | — | Start of the range, YYYY-MM-DD (or YYYY-MM for Monthly). Defaults to 7 days back for Daily, 7 weeks for Weekly, 6 months for Monthly — each sized to fit the default max_periods of 7. |
| worldwide | boolean | — | Use the worldwide report (one row per period) instead of the per-storefront report (one row per storefront). Worldwide is smaller and is what you want unless you need geography. |
No output schema declared.
No examples provided.