Token导航 LogoToken导航TokenDH.com
Transistor MCP Server logo
音视频HTTP官方级别未说明来源级核验

Transistor MCP Server

MCP Server

Transistor MCP Server 是一个用于管理播客、剧集和查看分析的工具,通过 Transistor.fm API 提供丰富的功能。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
数据分析TypeScriptAPI集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

gxjansen

提供方

gxjansen

最后核验

2026/5/17 20:28

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

晶体管MCP服务器

](https://smithery.ai/server/@gxjansen/Transistor-MCP)

此MCP服务器提供与 晶体管.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"
      }
    }
  }
}

可用工具

get_authenticated_user

获取经过身份验证的用户帐户的详细信息。

{
  // No parameters needed
}

授权_地图

获取用于上传音频文件的预签名URL。在使用本地音频文件创建剧集之前,请使用此功能。

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

答复包括:

  • upload_url:用于上传文件的预签名S3 url
  • content_type:上传时使用的内容类型(例如,“audio/mpeg”)
  • expires_in:上传URL过期前的时间(秒)
  • audio_url:创建剧集时使用的最终url

list_shows

列出您Transistor.fm帐户中的所有节目,按更新日期排序(最新优先)。返回一个分页列表,每页包含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
}

注意:所有参数都是可选的。不带参数调用此端点将返回显示的第一页。

list_episodes

列出特定节目的剧集。

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

获取特定剧集的详细信息。

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

获取某个节目或特定剧集的分析。如果未提供日期,则默认为过去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
}

update_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

获取节目所有剧集的分析。如果未提供日期,则默认为过去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
}

list_webhooks

列出某个节目的所有Webhook。

{
  "show_id": string            // Required
}

subscribe_webhook

订阅webhook观看节目。

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

取消订阅_webhook

取消订阅webhook。

{
  "webhook_id": string        // Required
}

重要提示

  • API请求的速率限制为每10秒10个请求(按照(https://developers.transistor.fm/#:~:text=neneneba API%20请求%20是%20速率%2D受限,%20再次使用%20API%20。)\[晶体管API参考\])
  • 日期必须采用“dd-mm-yyyy”格式
  • 页码从0开始
  • 所有端点支持:

- 稀疏字段集:使用指定要返回的字段 fields[resource_type][] - 包括相关资源:使用 include[] 在单个请求中获取相关资源

  • 包含数组使用以下格式 ["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"
  }
});

管理webhooks:

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

尚未实施

以下晶体管API功能尚未实现:

  • 私人剧集功能(订阅者管理)

- GET/v1/订阅者 - GET/v1/订阅者/:id - POST/v1/订阅者 - POST/v1/订阅者/批处理 - PATCH/v1/订阅者/:id - 删除/v1/订阅者 - DELETE/v1/订阅者/:id

目录标签

目录标签

数据分析TypeScriptAPI集成播客管理本地部署音频上传内容管理

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPnoneremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP