Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Podcast transcripts: send an episode link and get the transcript back, a page at a time.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
AUDIVO_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://api.audivo.dev/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"audivodotdev": {
"command": "npx",
"args": [
"-y",
"@audivo/mcp"
],
"env": {
"AUDIVO_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http audivodotdev https://api.audivo.dev/mcpclaude mcp add audivodotdev --env AUDIVO_API_KEY='ใส่ค่าของคุณ' -- npx -y @audivo/mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"audivodotdev": {
"url": "https://api.audivo.dev/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"audivodotdev": {
"command": "npx",
"args": [
"-y",
"@audivo/mcp"
],
"env": {
"AUDIVO_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"audivodotdev": {
"type": "http",
"url": "https://api.audivo.dev/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"audivodotdev": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@audivo/mcp"
],
"env": {
"AUDIVO_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://api.audivo.dev/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub AudivoDotDev ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: AUDIVO_API_KEY
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.2) เข้า registry 35 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Safe Fetch
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP server for fetching URLs, safe against SSRF, DNS rebinding, and redirect-to-internal attacks.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Podcast transcripts for Claude, ChatGPT, Codex, Cursor, and any other MCP client, backed by the Audivo API. Ask for an episode; get the transcript back.
Transcribe the latest episode of Acquired and summarise it.
Two ways to connect. The hosted endpoint serves eleven tools. The local server serves the same eleven, with transcribe also taking a file on your machine or a YouTube link, plus upload_audio and youtube_search. Both serve an app to clients that render MCP Apps.
| Hosted | Local | |
|---|---|---|
| Where it runs | Audivo's servers | Your machine, spawned by the client |
| Transport | Streamable HTTP at https://api.audivo.dev/mcp | stdio via npx -y @audivo/mcp@latest |
| Credential | Sign in with OAuth, or Authorization: Bearer hk_live_… | AUDIVO_API_KEY environment variable |
| Good for | Claude on the web and desktop, ChatGPT, anything that takes a URL | Claude Code, Codex, Cursor, VS Code, and every client that spawns a process |
| YouTube | No | Yes, downloaded on your machine with yt-dlp |
| Tool | What it does | Spends credits |
|---|---|---|
transcribe | The default. One episode in, its transcript out, a page at a time | Yes, about one per audio minute |
search_shows | Find shows by name, host, or topic | No |
chart_shows | The current chart for a category | No |
list_episodes | A show's episodes, newest first | No |
quote | Price a selection of many episodes before anything runs | No |
confirm | Turn a quote into a job group | Yes, up to the quote's ceiling |
group_status | Where a group's jobs are, and which transcripts are ready | No |
list_groups | Your recent groups | No |
cancel_group | Stop what has not started and release its credits | No |
read_transcript | A job's transcript, a page at a time; waits for a running job | No |
list_transcripts | Your recent transcripts, with their titles | No |
upload_audio | Announce and upload a file from this machine | No (local only) |
youtube_search | Find an episode on YouTube when it has no podcast feed | No (local only) |
transcribePass one episode: an Apple Podcasts link, feed_url with guid, an episode_id from list_episodes (with that show's feed_url and itunes_id, so an episode nobody has transcribed yet can be found), or an upload_id — and on the local server, a YouTube link or an absolute path.
transcribe waits for it inside the call: up to 20 seconds on the hosted server, whose gateway allows 29, and 50 by default on the local one, which reports progress to clients that ask for it. If it is still running, the answer is the job_id and read_transcript waits the rest.max_credits refuses the call, before anything is spent, if it could cost more. A job holds its ceiling (the estimate plus 25%) and settles at the audio it measured, never above.For many episodes at once — a chart, a back catalogue — use quote and then confirm, which refuses unless the model restates the quote's total.
Clients that render MCP Apps — ChatGPT, Claude, and others — show results in Audivo's own view instead of only text:
The app is one self-contained page served as ui://audivo/app-v1.html. It loads nothing from any domain, so it declares none. Its data travels in each result's _meta, which hosts give the app and never the model; the model keeps getting the same fenced text as before. Every title and transcript line is rendered as text, never as markup. Clients without MCP Apps ignore all of this.
Its source is in ui/; npm run build:ui bundles it into src/app-html.ts, and a test fails when the two disagree.
npxYou need an API key from the Audivo dashboard. Keys are shown once. Set the key in the environment the client starts the server with, then add the server.
Claude Code (or install the Audivo plugin, which adds this server and the skill together)
claude mcp add --scope user audivo -e AUDIVO_API_KEY=hk_live_... -- npx -y @audivo/mcp@latest
Codex
codex mcp add audivo --env AUDIVO_API_KEY=hk_live_... -- npx -y @audivo/mcp@latest
Cursor, Claude Desktop, Windsurf, and other JSON-configured clients
{
"mcpServers": { "audivo": { "command": "npx", "args": ["-y", "@audivo/mcp@latest"], "env": { "AUDIVO_API_KEY": "hk_live_..." } } } }
VS Code (.vscode/mcp.json)
{
"servers": { "audivo": { "type": "stdio", "command": "npx", "args": ["-y", "@audivo/mcp@latest"], "env": { "AUDIVO_API_KEY": "hk_live_..." } } } }
Keep files that contain a real key out of Git and shared chats.
@latest makes npx look the package up on npm each time the client starts the server, so a new release arrives with your next session. To get it in the session you are in, restart the server: in Claude Code, /mcp, choose audivo, then Reconnect. A spec without @latest works too, but a bare @audivo/mcp resolves to a copy in the current project first, when there is one. The hosted server at https://api.audivo.dev/mcp is kept current by Audivo.
| Variable | Required | Meaning |
|---|---|---|
AUDIVO_API_KEY | Yes | Your API key. Bearer in front of it is accepted and normalised. |
AUDIVO_API_BASE_URL | No | The API origin. Defaults to https://api.audivo.dev. Must be a public https origin: no userinfo, no loopback or private address. |
AUDIVO_YTDLP_PATH | No | A yt-dlp binary to use for YouTube, instead of one on PATH or the managed copy. |
AUDIVO_CACHE_DIR | No | Where the managed yt-dlp is kept. Defaults to your user cache directory (~/Library/Caches/audivo-mcp, ~/.cache/audivo-mcp, …). |
The server writes nothing to stdout except protocol messages. Log lines go to stderr as JSON, and the key never appears in them.
When a show has no public RSS feed — many exist only on YouTube — search_shows finds nothing. On the local server, youtube_search finds the episode and transcribe takes its link:
Find the Costco episode of Acquired on YouTube and transcribe it
transcribe downloads the video's audio on your machine with yt-dlp, audio only and with no transcoding, uploads it to Audivo as your own upload, and transcribes it. The transcript is private to your account.
yt-dlp is found in this order: AUDIVO_YTDLP_PATH; a yt-dlp on your PATH; otherwise the project's official standalone binary for your platform, downloaded once from its GitHub releases into your user cache directory and checked against that release's SHA2-256SUMS before it is made executable. The package has no install script: nothing is downloaded until the first YouTube call. A managed copy that stops working is updated to the latest release once and the call retried; a yt-dlp you installed yourself is never touched. yt-dlp is given the Node running this server as its JavaScript runtime.
You run the download, on your machine, under your own account; you are responsible for having the rights to transcribe what you download, as with any upload. Audivo's servers never fetch from YouTube, which is why the hosted server does not offer any of this.
A recording you made, an interview, or any file you already have on disk:
Transcribe /Users/alex/Downloads/interview.m4a
transcribe with path announces the file to Audivo (its hash, size, content type, and duration), uploads the bytes straight to Audivo's storage with the signed URL the announcement returns, and transcribes it. upload_audio does only the first two steps and returns an upload_id, for when you want to quote several uploads together. The path must be absolute.
Limits: 1 byte to 5 GiB, up to 10 hours, and one of these content types: audio/mpeg, audio/mp3, audio/mp4, audio/m4a, audio/x-m4a, audio/aac, audio/x-aac, audio/ogg, audio/opus, audio/flac, audio/x-flac, audio/wav, audio/x-wav, audio/webm. An upload is kept for 7 days, and its transcript is private to your account; each account may hold up to 10 GiB across 100 unexpired uploads at a time. See the uploads guide.
| Setting | Value |
|---|---|
| MCP URL | https://api.audivo.dev/mcp |
| Transport | Streamable HTTP
ตัดมาแค่ช่วงต้น อ่านต่อใน repo