Skip to main content
Glama

トランジスタ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" } } } }

Related MCP server: MCP Spotify Server

利用可能なツール

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

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

{ // 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%20requests%20are%20rate%2Dlimited,to%20use%20the%20API%20again.)\[Transistor%5C%5BTransistor) 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gxjansen/Transistor-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server