MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者による説明(英語の原文)
CLI and MCP server for the LinkedIn API
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
LINKEDCTL_ACCESS_TOKEN, LINKEDCTL_CLIENT_ID, LINKEDCTL_CLIENT_SECRET「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"linkedctl": {
"command": "npx",
"args": [
"-y",
"linkedctl",
"mcp"
],
"env": {
"LINKEDCTL_ACCESS_TOKEN": "your-value",
"LINKEDCTL_CLIENT_ID": "your-value",
"LINKEDCTL_CLIENT_SECRET": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add linkedctl --env LINKEDCTL_ACCESS_TOKEN=your-value --env LINKEDCTL_CLIENT_ID=your-value --env LINKEDCTL_CLIENT_SECRET=your-value -- npx -y linkedctl mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"linkedctl": {
"command": "npx",
"args": [
"-y",
"linkedctl",
"mcp"
],
"env": {
"LINKEDCTL_ACCESS_TOKEN": "your-value",
"LINKEDCTL_CLIENT_ID": "your-value",
"LINKEDCTL_CLIENT_SECRET": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"linkedctl": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"linkedctl",
"mcp"
],
"env": {
"LINKEDCTL_ACCESS_TOKEN": "your-value",
"LINKEDCTL_CLIENT_ID": "your-value",
"LINKEDCTL_CLIENT_SECRET": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
LINKEDCTL_CLIENT_ID envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント alexey-pelykh で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:LINKEDCTL_ACCESS_TOKEN, LINKEDCTL_CLIENT_SECRET
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.5.0)がレジストリに届いたのは8 か月前です。
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、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
OAuth2 CLI and MCP server for the LinkedIn API.
npm install -g linkedctl
Or run directly:
npx linkedctl --help
sh linkedctl auth login --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET sh linkedctl post "Hello from LinkedCtl!" See the OAuth Setup Guide for detailed step-by-step instructions.
Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": { "linkedctl": { "command": "npx", "args": ["linkedctl", "mcp"] } } }
Claude Code
claude mcp add linkedctl -- npx linkedctl mcp
Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": { "linkedctl": { "command": "npx", "args": ["linkedctl", "mcp"] } } }
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "linkedctl": { "command": "npx", "args": ["linkedctl", "mcp"] } } }
All tools accept an optional profile parameter to select a configuration profile.
| Tool | Description |
|---|---|
whoami | Show the current user's name, email, and profile picture URL |
auth_status | Show authentication status for a profile |
auth_revoke | Revoke the access token server-side and clear local credentials |
| Tool | Description |
|---|---|
post_create | Create a post on LinkedIn with optional media, poll, or article attachment |
post_get | Fetch a single post by URN |
post_list | List posts with pagination (supports as_org for organization posts) |
post_update | Update the commentary text of an existing post |
post_delete | Delete a post by URN |
post_create supports rich content types:
| Parameter | Description |
|---|---|
text | Post text content (required) |
visibility | PUBLIC or CONNECTIONS (default PUBLIC) |
draft | Save as draft instead of publishing |
image / image_file | Attach a single image (URN or local file path) |
video / video_file | Attach a video (URN or local file path) |
document / document_file | Attach a document (URN or local file path) |
images / image_files | Attach multiple images (minimum 2) |
article_url | Attach an article link |
poll | Poll question text |
poll_options | Poll answer options (2–4 required when poll is set) |
poll_duration | ONE_DAY, THREE_DAYS, ONE_WEEK, or TWO_WEEKS |
as_org | Post as an organization (numeric ID) |
| Tool | Description |
|---|---|
comment_create | Create a comment on a post (supports as_org) |
comment_list | List comments on a post |
comment_get | Get a specific comment by URN |
comment_delete | Delete a comment by URN |
| Tool | Description |
|---|---|
reaction_create | Add a reaction to a post (supports as_org). Types: LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION, ENTERTAINMENT |
reaction_list | List reactions on a post |
reaction_delete | Remove a reaction from a post (supports as_org) |
| Tool | Description |
|---|---|
org_list | List organizations the authenticated user administers |
org_get | Fetch a single organization by ID |
org_followers | Get the follower count for an organization |
| Tool | Description |
|---|---|
stats_post | Get analytics for a single post (impressions, reach, reactions, comments, reshares) |
stats_me | Get aggregated analytics across all your posts |
stats_org | Get share statistics for an organization (lifetime or time-bucketed) |
| Tool | Description |
|---|---|
document_upload | Upload a document to LinkedIn (PDF, DOCX, PPTX, DOC, PPT; max 100 MB) |
LinkedCtl stores configuration in YAML files. Each file represents a single profile:
api-version: "202601"
oauth: client-id: "YOUR_CLIENT_ID" client-secret: "YOUR_CLIENT_SECRET" access-token: "YOUR_ACCESS_TOKEN" refresh-token: "YOUR_REFRESH_TOKEN" token-expires-at: "2026-05-03T12:00:00.000Z"
Available keys:
| Key | Description |
|---|---|
api-version | LinkedIn API version (e.g. 202601) |
oauth.client-id | OAuth 2.0 client ID |
oauth.client-secret | OAuth 2.0 client secret |
oauth.access-token | OAuth 2.0 access token |
oauth.refresh-token | OAuth 2.0 refresh token |
oauth.token-expires-at | Token expiration timestamp (ISO 8601) |
Config files are written with 0600 permissions (owner read/write only).
Without a profile, LinkedCtl searches for config files in this order:
.linkedctl.yaml in the current working directory~/.linkedctl.yaml in the home directoryThe first file found is used. When writing (e.g. after auth login), LinkedCtl writes to the CWD file if it exists, otherwise to the home directory file.
Profiles let you manage multiple LinkedIn accounts or configurations. Each profile is stored as a separate YAML file under ~/.linkedctl/:
| Profile | Config file path |
|---|---|
| (default) | ~/.linkedctl.yaml |
work | ~/.linkedctl/work.yaml |
personal | ~/.linkedctl/personal.yaml |
Use the --profile flag with any command:
linkedctl --profile work auth login --client-id ID --client-secret SECRET
linkedctl --profile work post "Hello from my work account!"
Manage profiles with the profile command:
linkedctl profile create work --access-token YOUR_TOKEN --api-version 202601
linkedctl profile list linkedctl profile show work linkedctl profile delete work
LinkedCtl supports OAuth 2.0 with your own LinkedIn Developer App:
linkedctl auth login --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
If you already have an access token from another application:
linkedctl auth token --access-token YOUR_TOKEN
| Variable | Description |
|---|---|
LINKEDCTL_CLIENT_ID | LinkedIn OAuth 2.0 client ID |
LINKEDCTL_CLIENT_SECRET | LinkedIn OAuth 2.0 client secret |
LINKEDCTL_ACCESS_TOKEN | Direct access token (bypasses OAuth flow) |
LINKEDCTL_API_VERSION | LinkedIn API version string (e.g. 202601) required |
Environment variables take precedence over config file values.
When using a named profile, LinkedCtl also reads profile-prefixed environment variables. The profile name is uppercased with hyphens converted to underscores:
| Profile | Variable |
|---|---|
| (default) | LINKEDCTL_ACCESS_TOKEN |
work | LINKEDCTL_WORK_ACCESS_TOKEN |
my-brand | LINKEDCTL_MY_BRAND_ACCESS_TOKEN |
The same pattern applies to CLIENT_ID, CLIENT_SECRET, and API_VERSION.
Configuration values are resolved in this order (highest priority first):
冒頭だけを表示しています。続きはリポジトリで読めます