Transistor MCP Server

by gxjansen

Integrations

  • Allows linking podcast episodes to YouTube videos by providing a video_url parameter when creating or updating episodes.

トランジスタMCPサーバー

この MCP サーバーは、 Transistor.fm API と対話するためのツールを提供し、ポッドキャストやエピソードを管理したり、分析を表示したりできるようにします。

構成

Transistor API キーを使用して、サーバーを MCP 設定構成ファイルに追加します。

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

利用可能なツール

認証済みユーザーを取得する

認証されたユーザー アカウントの詳細を取得します。

{ // No parameters needed }

アップロードの承認

音声ファイルをアップロードするための署名付きURLを取得します。ローカルの音声ファイルを使ってエピソードを作成する前に、このURLを使用してください。

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

回答には以下が含まれます:

  • upload_url: ファイルをアップロードするための署名済みS3 URL
  • content_type: アップロード時に使用するコンテンツタイプ(例:「audio/mpeg」)
  • 有効期限: アップロード URL の有効期限が切れるまでの時間 (秒)
  • audio_url: エピソードを作成するときに使用する最終 URL

リスト_ショー

Transistor.fmアカウント内のすべての番組を、更新日順(新しい順)にリストします。1ページあたり10件のページ区切りリストを返します。

{ "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 }

注: すべてのパラメータはオプションです。パラメータを指定せずにこのエンドポイントを呼び出すと、番組の最初のページが返されます。

エピソード一覧

特定の番組のエピソードを一覧表示します。

{ "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" }

エピソードを取得する

特定のエピソードに関する詳細情報を取得します。

{ "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 } }

取得アナリティクス

番組または特定のエピソードの分析情報を取得します。日付が指定されていない場合は、過去14日間のデータがデフォルトになります。

{ "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 }

エピソードを作成

新しいエピソードを作成します。

{ "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 }

アップデートエピソード

既存のエピソードを更新します。

{ "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 }

すべてのエピソード分析を取得する

番組の全エピソードの分析情報を取得します。日付が指定されていない場合は、過去7日間がデフォルトになります。

{ "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 }

ウェブフック一覧

ショーのすべての Webhook を一覧表示します。

{ "show_id": string // Required }

subscribe_webhook

番組のウェブフックをサブスクライブします。

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

購読解除ウェブフック

Webhook の登録を解除します。

{ "webhook_id": string // Required }

重要な注意事項

  • API リクエストは、10 秒あたり 10 リクエストまでに制限されます ( https://developers.transistor.fm/#:~:text=API requests are rate-limited,to use the API again.)\[Transistor\[Transistor) API リファレンス] で規定されているとおり)
  • 日付は「dd-mm-yyyy」形式で入力する必要があります
  • ページ番号は0から始まります
  • すべてのエンドポイントは以下をサポートします:
    • スパースフィールドセット: fields[resource_type][]を使用して返すフィールドを指定します。
    • 関連リソースのインクルード: include[]を使用して、1回のリクエストで関連リソースを取得します。
  • インクルード配列は["resource_name"]形式を使用します
  • フィールドオブジェクトは、各リソースタイプに対してどのフィールドを返すかを指定します。
  • すべてのツールは、適切な関係とメタデータを含むJSONAPI形式でデータを返します。

使用例

リストには以下が表示されます:

// 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" } });

エピソードの詳細を見る:

const result = await use_mcp_tool({ server_name: "transistor", tool_name: "get_episode", arguments: { episode_id: "123456", include: ["show"], fields: { episode: ["title", "summary", "description"], show: ["title"] } } });

番組分析を取得:

// Get analytics for the last 14 days (default behavior) const result = await use_mcp_tool({ server_name: "transistor", tool_name: "get_analytics", arguments: { show_id: "123456" } }); // Get analytics for a specific date range const resultWithDates = await use_mcp_tool({ server_name: "transistor", tool_name: "get_analytics", arguments: { show_id: "123456", start_date: "01-01-2024", end_date: "31-01-2024" } }); // Get analytics for a specific episode const episodeAnalytics = await use_mcp_tool({ server_name: "transistor", tool_name: "get_analytics", arguments: { show_id: "123456", episode_id: "789012", start_date: "01-01-2024", end_date: "31-01-2024" } });

エピソードを更新:

const result = await use_mcp_tool({ server_name: "transistor", tool_name: "update_episode", arguments: { episode_id: "123456", title: "Updated Episode Title", summary: "New episode summary", description: "New detailed description", season_number: 2, episode_number: 5 } });

すべてのエピソード分析を取得:

// Get analytics for all episodes for the last 7 days (default behavior) const result = await use_mcp_tool({ server_name: "transistor", tool_name: "get_all_episode_analytics", arguments: { show_id: "123456" } }); // Get analytics for all episodes for a specific date range const resultWithDates = await use_mcp_tool({ server_name: "transistor", tool_name: "get_all_episode_analytics", arguments: { show_id: "123456", start_date: "01-01-2024", end_date: "31-01-2024" } });

Webhook を管理する:

// List webhooks const webhooks = await use_mcp_tool({ server_name: "transistor", tool_name: "list_webhooks", arguments: { show_id: "123456" } }); // Subscribe to webhook const subscription = await use_mcp_tool({ server_name: "transistor", tool_name: "subscribe_webhook", arguments: { event_name: "episode_created", show_id: "123456", url: "https://your-webhook-endpoint.com/hook" } }); // Unsubscribe from webhook const unsubscribe = await use_mcp_tool({ server_name: "transistor", tool_name: "unsubscribe_webhook", arguments: { webhook_id: "webhook123" } });

認証されたユーザーを取得する:

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

オーディオファイルのアップロードを承認:

// First, get a pre-signed upload URL const auth = await use_mcp_tool({ server_name: "transistor", tool_name: "authorize_upload", arguments: { filename: "my-episode.mp3" } }); // Then use the returned upload_url to upload your file via PUT request // Finally, use the returned audio_url when creating your episode: const episode = await use_mcp_tool({ server_name: "transistor", tool_name: "create_episode", arguments: { show_id: "123456", title: "My New Episode", audio_url: auth.data.attributes.audio_url } });

まだ実装されていません

次の Transistor API 機能はまだ実装されていません。

  • プライベートエピソード機能(登録者管理)
    • /v1/subscribers を取得する
    • /v1/subscribers/:id を取得する
    • POST /v1/subscribers
    • POST /v1/subscribers/batch
    • /v1/subscribers/:id にパッチを適用する
    • /v1/subscribers を削除する
    • /v1/subscribers/:id を削除
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Transistor.fm API とのやり取りを容易にし、ポッドキャスト、エピソード、アクセス分析を効率的に管理する機能を提供します。

  1. 構成
    1. 利用可能なツール
      1. 認証済みユーザーを取得する
      2. アップロードの承認
      3. リスト\_ショー
      4. エピソード一覧
      5. エピソードを取得する
      6. 取得アナリティクス
      7. エピソードを作成
      8. アップデートエピソード
      9. すべてのエピソード分析を取得する
      10. ウェブフック一覧
      11. subscribe\_webhook
      12. 購読解除ウェブフック
    2. 重要な注意事項
      1. 使用例
        1. まだ実装されていません

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            Enables interaction with the Audius music platform API, supporting user, track, and playlist operations through the Model Context Protocol.
            Last updated -
            40
            TypeScript
            • Apple
          • A
            security
            A
            license
            A
            quality
            Provides tools to interact with the Farcaster network, allowing AI models to fetch casts, search channels, and analyze content.
            Last updated -
            3
            1
            JavaScript
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            A service that extracts and transcribes audio content from videos across 1000+ streaming websites including YouTube, Bilibili, TikTok, and Twitter, supporting multiple transcription providers like Deepgram, Gladia, Speechmatics, and AssemblyAI.
            Last updated -
            5
            Python
            MIT License
            • Linux
            • Apple

          View all related MCP servers

          ID: xyvobqi3am