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.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っている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 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.