ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Transistor MCP Server

โดย conorbronsdonรุ่น 0.4.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.conorbronsdon/transistor-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Manage Transistor.fm podcasts: episodes, analytics, transcripts, and webhooks.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: การตลาดและโซเชียล
  • ต้องใส่ค่าเหล่านี้: TRANSISTOR_API_KEY

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "transistor": {
      "command": "npx",
      "args": [
        "-y",
        "transistor-mcp"
      ],
      "env": {
        "TRANSISTOR_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add transistor --env TRANSISTOR_API_KEY='ใส่ค่าของคุณ' -- npx -y transistor-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "transistor": {
      "command": "npx",
      "args": [
        "-y",
        "transistor-mcp"
      ],
      "env": {
        "TRANSISTOR_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "transistor": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "transistor-mcp"
      ],
      "env": {
        "TRANSISTOR_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • TRANSISTOR_API_KEY จำเป็น env
    Transistor.fm API key from https://dashboard.transistor.fm/account

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub conorbronsdon ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด การตลาดและโซเชียลi

  • ดาวมากกว่า 0% ของอีก 2982 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 22% ของอีก 2982 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 2982 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Transistor MCP Server ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: TRANSISTOR_API_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.0) เข้า registry 3 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

MCP YouTube Transcript

โดย jkawamoto

An MCP server retrieving transcripts of YouTube videos

รันบนเครื่อง★ 495MITอัปเดต 10 วันที่ผ่านมา
ติดตั้ง

Google Analytics MCP

โดย surendranb

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

รันบนเครื่อง★ 244MITอัปเดต 10 วันที่ผ่านมา
ติดตั้ง

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

รันบนคลาวด์★ 137MITอัปเดต 10 วันที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Transistor MCP Server

An MCP server for the Transistor.fm API. Manage podcasts, episodes, analytics, transcripts, and webhooks from your AI agent.


[!IMPORTANT]

Transistor now ships an official MCP server: [mcp.transistor.fm](https://mcp.transistor.fm). It's remote (no install), authenticates with OAuth instead of an API key, and is maintained by the Transistor team as the basis for their upcoming API v2. For most people it's the better choice — start there.

With the official server available, this community server is no longer actively maintained. It still works, and it remains useful if you specifically want a local, API-key-based server (for example, in headless or automated environments where an OAuth browser flow is awkward). Bug-fix PRs are welcome; feature requests are better directed at the official server.

This MCP server provides tools to interact with the Transistor.fm API, allowing you to manage podcasts, episodes, and view analytics. The data shown in the demo above is sample data, not real account values.

Fork notice: The original server was built by Guido X Jansen (gxjansen/Transistor-MCP). The full-API-parity pass (all documented params, response trimming, search), the get_download_summary and compare_episodes analytics tools, ISO date handling, and transcript support were contributed here and have since been merged upstream. This repository is a packaged, npm-published build (transistor-mcp). The MIT license and original copyright are preserved in LICENSE.

About

Built by Conor Bronsdon for the Chain of Thought podcast production workflow, where it handled episode creation, transcript uploads, and analytics pulls before the official server shipped. Conor hosts Chain of Thought, a show about AI infrastructure and how practitioners actually build with it. More tools for creators live in ai-tools-for-creators. Find Conor on X at @ConorBronsdon.

Companion tools:

  • substack-mcp: read posts and manage Substack drafts
  • podcastindex-mcp: search the Podcast Index and track guest appearances
  • op3-mcp: report downloads, listener geography, and apps from OP3
  • apple-podcasts-mcp: pull plays, followers, and per-episode listening from Apple Podcasts Connect
  • gsc-mcp: query search performance, keywords, and sitemaps in Google Search Console
  • podcast-benchmark: benchmark a show against its peers using only public data

Configuration

Prefer the official server? No install needed. Add it to Claude Code with:

claude mcp add --transport http transistor https://mcp.transistor.fm

Then run /mcp to sign in to Transistor. Other MCP clients that support remote servers with OAuth can point at https://mcp.transistor.fm directly.

To run this community server instead, add it to your MCP settings configuration file with your Transistor API key:

{

"mcpServers": { "transistor": { "command": "npx", "args": ["-y", "transistor-mcp"], "env": { "TRANSISTOR_API_KEY": "your-api-key-here" } } } }

Or run from a local clone (after npm install && npm run build):

{

"mcpServers": { "transistor": { "command": "node", "args": ["path/to/Transistor-MCP/build/index.js"], "env": { "TRANSISTOR_API_KEY": "your-api-key-here" } } } }

Available Tools

get_authenticated_user

Get details of the authenticated user account.

{

// No parameters needed }

authorize_upload

Get a pre-signed URL for uploading an audio file. Use this before creating an episode with a local audio file.

{

"filename": string // Required: Name of the audio file to upload }

Response includes:

  • upload_url: Pre-signed S3 URL for uploading the file
  • content_type: Content type to use when uploading (e.g., "audio/mpeg")
  • expires_in: Time in seconds until the upload URL expires
  • audio_url: Final URL to use when creating the episode
list_shows

List all shows in your Transistor.fm account, ordered by updated date (newest first). Returns a paginated list with 10 items per page.

{

"page": number, // Optional, defaults to 0 (first page) "per": number, // Optional, defaults to 10 items per page "private": boolean, // Optional: filter for private shows "query": string // Optional: search query }

Note: All parameters are optional. Calling this endpoint without parameters will return the first page of shows.

list_episodes

List episodes for a specific show.

{

"show_id": string, // Required "page": number, // Optional, defaults to 0 "per": number, // Optional, defaults to 10 "query": string, // Optional: search query "status": string, // Optional: "published", "draft", or "scheduled" "order": string // Optional: "desc" (newest first) or "asc" (oldest first), defaults to "desc" }

get_episode

Get detailed information about a specific episode.

{

"episode_id": string, // Required "include": string[], // Optional: array of related resources to include "fields": { // Optional: sparse fieldsets "episode": string[], // Fields to include for episode "show": string[] // Fields to include for show } }

get_analytics

Get analytics for a show or specific episode. Defaults to the last 14 days if no dates are provided.

{

"show_id": string, // Required "episode_id": string, // Optional: include for episode-specific analytics "start_date": string, // Optional: format "dd-mm-yyyy", required if end_date is provided "end_date": string // Optional: format "dd-mm-yyyy", required if start_date is provided }

create_episode

Create a new episode.

{

"show_id": string, // Required "title": string, // Required "audio_url": string, // Required "summary": string, // Optional "description": string, // Optional: may contain HTML "transcript_text": string, // Optional: full episode transcript "author": string, // Optional "explicit": boolean, // Optional "image_url": string, // Optional: episode artwork "keywords": string, // Optional: comma-separated list "number": number, // Optional: episode number "season_number": number, // Optional "type": string, // Optional: "full", "trailer", or "bonus" "alternate_url": string, // Optional: override share_url "video_url": string, // Optional: YouTube URL "email_notifications": boolean, // Optional: override show setting "increment_number": boolean // Optional: auto-set next episode number }

update_episode

Update an existing episode.

{

"episode_id": string, // Required "title": string, // Optional "summary": string, // Optional "description": string, // Optional: may contain HTML "transcript_text": string, // Optional: full episode transcript "author": string, // Optional "explicit": boolean, // Optional "image_url": string, // Optional: episode artwork "keywords": string, // Optional: comma-separated list "number": number, // Optional: episode number "season_number": number, // Optional "type": string, // Optional: "full", "trailer", or "bonus" "alternate_url": string, // Optional: override share_url "video_url": string, // Optional: YouTube URL "email_notifications": boolean // Optional: override show setting }

get_all_episode_analytics

Get analytics for all episodes of a show. Defaults to the last 7 days if no dates are provided.

{

"show_id": string, // Required "start_date": string, // Optional: format "dd-mm-yyyy", required if end_date is provided "end_date": string // Optional: format "dd-mm-yyyy", required if start_date is provided }

list_webhooks

List all webhooks for a show.

{

"show_id": string // Required }

subscribe_webhook

Subscribe to a webhook for a show.

{

"event_name": string, // Required: e.g., "episode_created" "show_id": string, // Required "url": string // Required: URL to receive webhook events }

unsubscribe_webhook

Unsubscribe from a webhook.

{

"webhook_id": string // Required }

Typed errors

Tool calls that fail against the Transistor.fm API return a status-specific, human-readable message via isError: true rather than a generic Axios error. Internally, TransistorApiClient maps every HTTP failure — authentication (401/403), rate limiting (429), validation (400), not found (404), and server errors (5xx) — to a typed error class in a single response interceptor (see src/errors.ts), so the message you see always names the failure mode and, for auth errors, points at the TRANSISTOR_API_KEY environment variable.

Important Notes

  • API requests are rate-limited to 10 requests per 10 seconds (as prescribed by the (https://developers.transistor.fm/#:~:text=API%20requests%20are%20rate%2Dlimited,to%20use%20the%20API%20again.)[Transistor API reference])
  • Dates must be in "dd-mm-yyyy" format
  • Page numbers start at 0
  • All endpoints support:
  • Sparse fieldsets: Specify which fields to return using fieldsresource_type
  • Including related resources: Use include[] to fetch related resources in a single request
  • Include arrays use the format ["resource_name"]
  • Fields objects specify which fields to return for each resource type
  • All tools return data in JSONAPI format with proper relationships and metadata

Example Usage

List shows:

// List first page of shows (default behavior)

const result = await use_mcp_tool({ server_name: "transistor", tool_name: "list_shows", arguments: {} });

// List shows with pagination and filtering const resultWithParams = await use_mcp_tool({ server_name: "transistor", tool_name: "list_shows", arguments: { page: 1, per: 20, private: true, query: "podcast" } });

Get episode details:

const result = await use_mcp_tool({

server_name: "transistor", tool_name: "get_episode", arguments: {

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx