MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者提供的说明(英文原文)
Mock small-business CRM, inbox, calendar, invoicing and phone tools for testing AI agents safely.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"sandbox": {
"command": "npx",
"args": [
"-y",
"@teamshift/sandbox-mcp",
"--industry",
"home-services",
"--seed",
"42"
]
}
}
}在终端中运行这条命令
claude mcp add sandbox -- npx -y @teamshift/sandbox-mcp --industry home-services --seed 42粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"sandbox": {
"command": "npx",
"args": [
"-y",
"@teamshift/sandbox-mcp",
"--industry",
"home-services",
"--seed",
"42"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"sandbox": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@teamshift/sandbox-mcp",
"--industry",
"home-services",
"--seed",
"42"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 teamshift-io 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.0)于34天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
sandbox-mcp is an open-source set of mock small-business MCP servers — CRM, inbox, calendar, invoicing and phone — backed by a realistic fictional company, so you can test AI agents end-to-end without touching real customer accounts.
Point Claude, Cursor, VS Code or any Model Context Protocol client at it and your agent gets a believable business to operate: leads waiting for a reply, quotes nobody followed up on, a duplicate contact, an overdue invoice, an unmatched check. Every change is validated like a real system would, recorded in an audit log, and stays inside the process. "Sending" an email or SMS only writes to an outbox.
npx @teamshift/sandbox-mcp --industry home-services
That starts an MCP server over stdio with a generated home-services company (seed 42, so it is the same company every time). Other industries: dental-clinic, marketing-agency.
npx @teamshift/sandbox-mcp --industry dental-clinic --seed 7 --toolsets crm,inbox --state-out run.json
claude mcp add sandbox -- npx -y @teamshift/sandbox-mcp
Add to claude_desktop_config.json:
{
"mcpServers": { "sandbox": { "command": "npx", "args": ["-y", "@teamshift/sandbox-mcp", "--industry", "home-services"] } } }
Add to .cursor/mcp.json:
{
"mcpServers": { "sandbox": { "command": "npx", "args": ["-y", "@teamshift/sandbox-mcp", "--industry", "home-services"] } } }
Add to .vscode/mcp.json:
{
"servers": { "sandbox": { "type": "stdio", "command": "npx", "args": ["-y", "@teamshift/sandbox-mcp", "--industry", "home-services"] } } }
Then try a prompt like: *"Check the inbox and the call log, reply to anything urgent, and make sure every open deal has a next step."*
| Option | Default | Description |
|---|---|---|
--industry | home-services | home-services, dental-clinic or marketing-agency |
--seed | 42 | Same seed, same company, byte for byte |
--size | medium | small, medium or large |
--messiness | 1 | Multiplier for injected data problems; 0 gives clean data |
--data | Load a dataset JSON (e.g. from @teamshift/fake-business) instead of generating | |
--toolsets | all | Comma list of crm,inbox,calendar,invoicing,phone,admin |
--expose-answers | off | Expose ground-truth anomalies as the sandbox://anomalies resource |
--state-out | Write final dataset + audit log + outbox JSON on exit and on admin_save_state | |
--http | Serve Streamable HTTP at http://127.0.0.1: /mcp instead of stdio |
Logs go to stderr only, so stdout stays a clean MCP channel.
All tools are prefixed by system, take zod-validated input, return compact JSON, and carry MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint: false). Failures come back as tool errors with an actionable message (for example failed_precondition: Cannot move deal from "new" to "won". Allowed: qualified, quote-sent, lost.), never as a crash.
| Toolset | Tools |
|---|---|
crm | crm_search_contacts, crm_get_contact, crm_create_contact, crm_update_contact, crm_merge_contacts, crm_list_customers, crm_get_customer, crm_list_employees, crm_list_leads, crm_update_lead, crm_list_deals, crm_get_deal, crm_update_deal, crm_list_quotes, crm_send_quote, crm_follow_up_quote, crm_list_tasks, crm_create_task, crm_complete_task |
inbox | inbox_list_threads, inbox_get_thread, inbox_send_email, inbox_send_sms, inbox_mark_thread_read |
calendar | calendar_list_jobs, calendar_get_job, calendar_schedule_job, calendar_reschedule_job, calendar_cancel_job, calendar_complete_job |
invoicing | invoicing_list_invoices, invoicing_get_invoice, invoicing_create_invoice, invoicing_send_reminder, invoicing_void_invoice, invoicing_record_payment, invoicing_list_payments, invoicing_match_payment |
phone | phone_list_calls, phone_log_call |
admin | admin_get_company_policies, admin_get_company, admin_get_audit_log, admin_reset, admin_save_state, admin_advance_clock |
Resources: sandbox://company, sandbox://policies, and sandbox://anomalies (only with --expose-answers, so the answers never leak to an agent under test).
YYYY-MM-DD.new → qualified → quote-sent → negotiation → won/lost); won is final, lost needs a reason and can be reopened.allowOverlap), and rescheduling updates the job's times.Run your agent against the sandbox with --state-out, then score the end state, not the transcript:
npx @teamshift/sandbox-mcp --industry home-services --seed 42 --toolsets crm,inbox,calendar,invoicing,phone --state-out run.json
run.json contains:
dataset: the final state of every record (same schema as @teamshift/fake-business), including new events.audit: every attempted change in order: { seq, at, tool, input, result: "ok" | "error", error?, changedIds }.outbox: every email and SMS the agent "sent".Compare dataset against the ground-truth anomalies from the original dataset (for example: was the duplicate contact merged, was the unmatched payment applied, did every stale deal get a nextAction?), and use audit to penalize errors, destructive actions or policy violations. Leave out the admin toolset so the agent cannot reset its own run.
The same engine is exported as a typed library, which is how reference solutions and verifiers run:
import { generate } from "@teamshift/fake-business";
import { SandboxStore } from "@teamshift/sandbox-mcp";
const store = new SandboxStore(generate({ industry: "home-services", seed: 42 })); for (const quote of store.listQuotes({ notFollowedUp: true, limit: 100 }).items) { store.followUpQuote({ quoteId: quote.id, body: "Just checking in on your quote. Any questions?" }); } console.log(store.audit().length, store.outbox().length); const finalState = store.snapshot();
You can also embed the MCP server in your own process with createSandboxServer(store, { toolsets, exposeAnswers }) and any SDK transport.
Give it a sandbox instead of production credentials. sandbox-mcp exposes the same kinds of tools a real CRM, inbox, calendar, invoicing and phone system would, over a fictional company, with no network access and no real accounts. Run the agent, save the state with --state-out, and check what it changed.
No. Nothing leaves the process. inbox_send_email, inbox_send_sms, crm_follow_up_quote and invoicing_send_reminder append an outbound message to the thread and to the outbox, and all addresses use the reserved .example domain and 555-01xx numbers.
Call the admin_reset tool (the audit log is kept and records the reset, so graders can see it), or restart the server. The same --industry and --seed always regenerate the identical company. In code, call store.reset().
From @teamshift/fake-business, a deterministic generator for realistic fictional small businesses, with labeled anomalies for scoring. You can also pass your own dataset with --data.
Not by default. The ground-truth anomalies are only exposed as a resource with --expose-answers; they are always included in --state-out files for graders.
Yes: --http 8787 serves stateless Streamable HTTP at http://127.0.0.1:8787/mcp. All requests share one sandbox state.
Apache-2.0
Built by TeamShift — AI workers for small-business operations.