PostHog MCP Server
Official PostHog MCP Server for product analytics, feature flags, experiments, and more.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Citation-ready YouTube transcript research and optional channel intelligence for AI agents.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
YOUTUBE_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"youtube-research": {
"command": "npx",
"args": [
"-y",
"@coyasong/youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add youtube-research --env YOUTUBE_API_KEY='ใส่ค่าของคุณ' -- npx -y @coyasong/youtube-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"youtube-research": {
"command": "npx",
"args": [
"-y",
"@coyasong/youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"youtube-research": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@coyasong/youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub coyaSONG ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 14 วันที่ผ่านมา
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 2 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: YOUTUBE_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 14 วันที่ผ่านมา และส่งรุ่นล่าสุด (2.0.0) เข้า registry 30 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี PostHog MCP Server, Agent-Native Analytics, Openshorts
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Official PostHog MCP Server for product analytics, feature flags, experiments, and more.
Agent-Native Amplitude/Mixpanel - connect data sources, prompt for charts
Turn long videos into viral vertical shorts and publish them to TikTok, Instagram and YouTube.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Turn YouTube videos into citation-ready research for Codex, Claude, Cursor, and other MCP clients. Paste a video URL and get transcript evidence with timestamps and links that open at the exact quoted moment.
Input: https://youtu.be/dQw4w9WgXcQ
Output: [01:05] ...evidence text... https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=65s
No YouTube API key is required for transcript research.
/mcp, plus Docker and Smithery support.flowchart LR
C[MCP client] -->|stdio or Streamable HTTP| T[Transport] T --> R[Tool and resource registry] R --> S[YouTubeService] S --> K[(In-memory cache)] S -->|no key required| YT[Caption tracks] S -->|optional API key| API[YouTube Data API v3]
The MCP layer validates inputs and returns structured evidence; it does not ask a model to invent summaries or citations. Transcript tools derive timestamps and canonical links from caption segments. Data API tools return an explicit key-required error when YOUTUBE_API_KEY is unavailable, and remote authentication is enforced before MCP session handling.
The included live smoke test asks a focused question about a public video and compares the response with the full timestamped transcript:
| Response | Characters returned |
|---|---|
| Full transcript | 85,518 |
research-video (3 citations with source identity) | 1,550 |
| Reduction | 98.2% |
This measures response characters, not model-specific tokens. Reproduce it against the default public fixture—or substitute your own video and query:
npm run test:live
LIVE_TEST_VIDEO='https://youtu.be/VIDEO_ID' LIVE_TEST_QUERY='evaluation' npm run test:live
Requirements: Node.js 22 or newer.
The shortest local install uses stdio and needs no API key:
codex mcp add youtube-research -- npx -y @coyasong/youtube-mcp-server@latest
For Claude Desktop and other MCPB-compatible desktop clients, download the latest one-click MCP bundle and open it. The bundle vendors its runtime dependencies, starts locally over stdio, and asks for a YouTube API key only if you want the optional analytics tools.
Or install from the VS Code command line:
code --add-mcp '{"name":"youtube-research","command":"npx","args":["-y","@coyasong/youtube-mcp-server@latest"]}'
For Claude Desktop, Cursor, and other stdio clients, use command npx with arguments -y @coyasong/youtube-mcp-server@latest.
To run the Streamable HTTP transport instead:
git clone https://github.com/coyaSONG/youtube-mcp-server.git
cd youtube-mcp-server npm install npm run build npm start
The server starts at http://localhost:3000/mcp in transcript-only mode. Confirm it with:
curl http://localhost:3000/health
With the HTTP server running:
codex mcp add youtube-research --url http://localhost:3000/mcp
Then ask Codex:
Use research-video to find what this video says about evaluation,
and cite the exact moments: https://www.youtube.com/watch?v=VIDEO_ID
npx @modelcontextprotocol/inspector
npx -y smithery@latest auth login
npx -y smithery@latest mcp add coyaSONG/youtube-mcp-server --client claude
Set a YouTube Data API v3 key to switch from transcript-only to full mode:
export YOUTUBE_API_KEY=your_key_here
npm start
YOUTUBE_API_KEY is optional. PORT defaults to 3000. For stdio clients, set YOUTUBE_API_KEY in the MCP server environment configuration.
Do not expose a full-mode server publicly without authentication: unauthenticated users could consume your YouTube API quota. Set a strong bearer token and restrict browser origins when deploying outside localhost:
export MCP_BEARER_TOKEN='replace-with-a-long-random-secret'
export CORS_ORIGIN='https://your-client.example' export MAX_SESSIONS=100 export SESSION_IDLE_TIMEOUT_MS=1800000 npm start
Browser origins are denied by default. CORS_ORIGIN accepts a comma-separated allowlist of exact http:// or https:// origins; wildcard origins are rejected.
Connect Codex using an environment variable rather than writing the secret into its configuration:
export YOUTUBE_MCP_TOKEN='replace-with-a-long-random-secret'
codex mcp add youtube-research \ --url https://your-server.example/mcp \ --bearer-token-env-var YOUTUBE_MCP_TOKEN
/health remains public for container health checks. MCP requests return 401 when authentication is enabled and the bearer token is missing or invalid. Idle sessions are removed automatically, and MAX_SESSIONS bounds memory use.
research-video accepts:
video: a YouTube URL or 11-character video IDlanguage: optional caption language such as en, ko, or jaquery: optional phrase to find inside the transcriptcontextLines: surrounding segments to retain, from 0 to 5matchMode: word (default) or substringstartSeconds / endSeconds: optional time windowoffset: result offset for paginationmaxSegments: response cap from 1 to 1,000 (default: 200)It returns structured JSON containing the video title and channel identity, canonical video URL, full caption-track duration and segment count, matching transcript segments, human-readable citation labels, timestamps, directly navigable citation URLs, and pagination metadata. For long videos, use a query or time window first; follow nextOffset only when more evidence is needed.
research-videos applies one focused query to 2–5 video URLs concurrently. It returns the same structured, timestamp-linked evidence for each source while capping results per video. This is useful for comparing interviews, checking whether multiple sources support a claim, or researching a topic across a short watchlist.
{
"videos": [ "https://youtu.be/VIDEO_ONE", "https://youtu.be/VIDEO_TWO" ], "query": "evaluation", "maxSegmentsPerVideo": 10 }
See YouTube Research Recipes for copy-paste workflows for fact-checking claims, comparing interviews, navigating long talks, researching multilingual captions, and building citation-ready notes.
| Capability | No-key mode | With YOUTUBE_API_KEY |
|---|---|---|
| Transcript research, filtering, key moments, segmentation, summaries | Yes | Yes |
| Video search and comments | No | Yes |
| Video/channel metadata, statistics, trends, and comparisons | No | Yes |
Captions must be available for the requested video. Age-restricted, private, region-restricted, or caption-disabled videos may not return a transcript.
If this project saves you research time, consider starring the repository so other agent builders can discover it.
See the broader AI tooling portfolio for the reliability principles shared with ralph-research and tmuxicate.
docker build -t youtube-research-mcp .
docker run --rm -p 3000:3000 youtube-research-mcp
docker run --rm -p 3000:3000 -e YOUTUBE_API_KEY=your_key youtube-research-mcp
npm run dev # HTTP server from TypeScript
npm test # build and run all tests npm run test:live # live public-video transcript and citation smoke test npm run test:user # clean-room smoke test against the published npm package npm run test:mcpb # build, unpack, and exercise the installable MCP bundle
Maintainers can follow the release guide. Published GitHub releases run the complete npm, MCP Registry, MCPB, and Smithery delivery pipeline.
youtube://video/{videoId} - Get detailed information about a specific videoyoutube://channel/{channelId} - Get information about a specific channelyoutube://transcript/{videoId} - Get transcript for a specific video?language=LANGUAGE_CODE (e.g., en, ko, ja)research-video - Get citation-ready transcript evidence from a URL or video ID without an API keyresearch-videos - Compare timestamp-linked evidence across 2–5 videos without an API keysearch-videos - Search for YouTube videos with advanced filtering optionsget-video-comments - Get comments for a specific videoget-video-transcript - Get transcript for a specific video with optional languageenhanced-transcript - Advanced transcript extraction with filtering, search, and multi-video capabilitiesget-key-moments - Extract key moments with timestamps from a video transcript for easier navigationget-segmented-transcript - Divide a video transcript into segments for easier analysisTools requiring YOUTUBE_API_KEY are search, comments, statistics, discovery, and channel analysis. enhanced-transcript needs the key only when includeMetadata is true.
get-video-stats - Get statistical information for a specific videoget-channel-stats - Get subscriber count, view count, and other channel statisticscompare-videos - Compare statistics across multiple videosget-trending-videos - Retrieve trending videos by region and categoryget-video-categories - Get available video categories for a specific regionanalyze-channel-videos - Analyze performance trends of videos from a specific channelvideo-analysis - Generate an analysis of a YouTube video