Discover Awesome MCP Servers

Extend your agent with 16,031 capabilities via MCP servers.

All16,031
mcp-ytTranscript

mcp-ytTranscript

了解しました。以下に、URLと希望する言語を使用してYouTube動画の文字起こしを返すシンプルなMCP(Minimal, Complete, and Verifiable example)サーバーの概要を示します。 **注意:** YouTubeの利用規約により、自動化されたスクレイピングやAPIの使用が制限されている場合があります。このコードは教育目的でのみ提供され、実際の使用にはYouTubeの利用規約を遵守する必要があります。また、YouTube APIを使用する場合は、APIキーが必要になる場合があります。 **必要なライブラリ:** * `youtube-transcript-api`: YouTube動画の文字起こしを取得 * `fastapi`: シンプルなAPIサーバーを構築 * `uvicorn`: ASGIサーバー これらのライブラリをインストールするには、以下のコマンドを実行します。 ```bash pip install youtube-transcript-api fastapi uvicorn ``` **コード例 (Python):** ```python from fastapi import FastAPI, HTTPException from youtube_transcript_api import YouTubeTranscriptApi from youtube_transcript_api.formatters import TextFormatter app = FastAPI() @app.get("/transcript") async def get_transcript(url: str, language: str = "en"): """ YouTube動画のURLと希望する言語を受け取り、文字起こしを返します。 Args: url: YouTube動画のURL。 language: 希望する言語コード (例: "en", "ja")。デフォルトは英語。 Returns: 文字起こしテキスト。 Raises: HTTPException: 動画が見つからない場合、または指定された言語の文字起こしがない場合。 """ try: video_id = extract_video_id(url) transcript_list = YouTubeTranscriptApi.list_transcripts(video_id) transcript = transcript_list.find_generated_transcript([language]) # 自動生成された字幕を優先 # transcript = transcript_list.find_manually_created_transcript([language]) # 手動で作成された字幕を優先 transcript_data = transcript.fetch() formatter = TextFormatter() text_formatted = formatter.format_transcript(transcript_data) return text_formatted except Exception as e: raise HTTPException(status_code=404, detail=f"Transcript not found: {e}") def extract_video_id(url: str) -> str: """ YouTube動画のURLから動画IDを抽出します。 """ # 簡単な実装。より堅牢な実装が必要な場合は、正規表現を使用してください。 try: return url.split("v=")[1].split("&")[0] except IndexError: raise ValueError("Invalid YouTube URL") if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000) ``` **コードの説明:** 1. **必要なライブラリのインポート:** 必要なライブラリをインポートします。 2. **FastAPIアプリケーションの作成:** `FastAPI()`でFastAPIアプリケーションを作成します。 3. **`/transcript`エンドポイントの定義:** * `@app.get("/transcript")`デコレータを使用して、`/transcript`エンドポイントを定義します。 * `url`と`language`のクエリパラメータを受け取ります。 * `extract_video_id`関数を使用して、URLから動画IDを抽出します。 * `YouTubeTranscriptApi.get_transcript(video_id, languages=[language])`を使用して、指定された言語の文字起こしを取得します。 * 文字起こしが見つからない場合は、`HTTPException`を発生させます。 * 文字起こしが見つかった場合は、テキスト形式に変換して返します。 4. **`extract_video_id`関数の定義:** * YouTube動画のURLから動画IDを抽出します。 * 簡単な実装ですが、より堅牢な実装が必要な場合は、正規表現を使用してください。 5. **サーバーの起動:** * `if __name__ == "__main__":`ブロックを使用して、スクリプトが直接実行された場合にのみサーバーを起動するようにします。 * `uvicorn.run(app, host="0.0.0.0", port=8000)`を使用して、Uvicornサーバーを起動します。 **実行方法:** 1. 上記のコードを`main.py`などのファイルに保存します。 2. ターミナルで、`python main.py`を実行します。 3. ブラウザまたはcurlを使用して、`/transcript`エンドポイントにリクエストを送信します。 例: ```bash curl "http://localhost:8000/transcript?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ&language=ja" ``` **重要な考慮事項:** * **エラー処理:** より堅牢なエラー処理を追加する必要があります。たとえば、`YouTubeTranscriptApi.get_transcript()`が例外を発生させた場合に、適切なエラーメッセージを返すようにします。 * **レート制限:** YouTube APIにはレート制限があります。レート制限を超えないように、リクエストを調整する必要があります。 * **APIキー:** YouTube APIを使用する場合は、APIキーが必要になる場合があります。APIキーを取得して、コードに追加する必要があります。 * **利用規約:** YouTubeの利用規約を遵守する必要があります。自動化されたスクレイピングやAPIの使用が制限されている場合があります。 * **言語サポート:** すべての動画がすべての言語で文字起こしを提供しているわけではありません。指定された言語の文字起こしがない場合、エラーが発生します。 * **URLの検証:** `extract_video_id`関数は、簡単な実装です。より堅牢な実装が必要な場合は、正規表現を使用してください。 * **自動生成 vs 手動作成:** `find_generated_transcript` は自動生成された字幕を優先して取得します。手動で作成された字幕を優先したい場合は、`find_manually_created_transcript` を使用してください。 **日本語訳:** 了解しました。以下に、URLと希望する言語を使用してYouTube動画の文字起こしを返すシンプルなMCP(Minimal, Complete, and Verifiable example)サーバーの概要を示します。 **注意:** YouTubeの利用規約により、自動化されたスクレイピングやAPIの使用が制限されている場合があります。このコードは教育目的でのみ提供され、実際の使用にはYouTubeの利用規約を遵守する必要があります。また、YouTube APIを使用する場合は、APIキーが必要になる場合があります。 **必要なライブラリ:** * `youtube-transcript-api`: YouTube動画の文字起こしを取得 * `fastapi`: シンプルなAPIサーバーを構築 * `uvicorn`: ASGIサーバー これらのライブラリをインストールするには、以下のコマンドを実行します。 ```bash pip install youtube-transcript-api fastapi uvicorn ``` **コード例 (Python):** ```python from fastapi import FastAPI, HTTPException from youtube_transcript_api import YouTubeTranscriptApi from youtube_transcript_api.formatters import TextFormatter app = FastAPI() @app.get("/transcript") async def get_transcript(url: str, language: str = "en"): """ YouTube動画のURLと希望する言語を受け取り、文字起こしを返します。 Args: url: YouTube動画のURL。 language: 希望する言語コード (例: "en", "ja")。デフォルトは英語。 Returns: 文字起こしテキスト。 Raises: HTTPException: 動画が見つからない場合、または指定された言語の文字起こしがない場合。 """ try: video_id = extract_video_id(url) transcript_list = YouTubeTranscriptApi.list_transcripts(video_id) transcript = transcript_list.find_generated_transcript([language]) # 自動生成された字幕を優先 # transcript = transcript_list.find_manually_created_transcript([language]) # 手動で作成された字幕を優先 transcript_data = transcript.fetch() formatter = TextFormatter() text_formatted = formatter.format_transcript(transcript_data) return text_formatted except Exception as e: raise HTTPException(status_code=404, detail=f"Transcript not found: {e}") def extract_video_id(url: str) -> str: """ YouTube動画のURLから動画IDを抽出します。 """ # 簡単な実装。より堅牢な実装が必要な場合は、正規表現を使用してください。 try: return url.split("v=")[1].split("&")[0] except IndexError: raise ValueError("Invalid YouTube URL") if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000) ``` **コードの説明:** 1. **必要なライブラリのインポート:** 必要なライブラリをインポートします。 2. **FastAPIアプリケーションの作成:** `FastAPI()`でFastAPIアプリケーションを作成します。 3. **`/transcript`エンドポイントの定義:** * `@app.get("/transcript")`デコレータを使用して、`/transcript`エンドポイントを定義します。 * `url`と`language`のクエリパラメータを受け取ります。 * `extract_video_id`関数を使用して、URLから動画IDを抽出します。 * `YouTubeTranscriptApi.get_transcript(video_id, languages=[language])`を使用して、指定された言語の文字起こしを取得します。 * 文字起こしが見つからない場合は、`HTTPException`を発生させます。 * 文字起こしが見つかった場合は、テキスト形式に変換して返します。 4. **`extract_video_id`関数の定義:** * YouTube動画のURLから動画IDを抽出します。 * 簡単な実装ですが、より堅牢な実装が必要な場合は、正規表現を使用してください。 5. **サーバーの起動:** * `if __name__ == "__main__":`ブロックを使用して、スクリプトが直接実行された場合にのみサーバーを起動するようにします。 * `uvicorn.run(app, host="0.0.0.0", port=8000)`を使用して、Uvicornサーバーを起動します。 **実行方法:** 1. 上記のコードを`main.py`などのファイルに保存します。 2. ターミナルで、`python main.py`を実行します。 3. ブラウザまたはcurlを使用して、`/transcript`エンドポイントにリクエストを送信します。 例: ```bash curl "http://localhost:8000/transcript?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ&language=ja" ``` **重要な考慮事項:** * **エラー処理:** より堅牢なエラー処理を追加する必要があります。たとえば、`YouTubeTranscriptApi.get_transcript()`が例外を発生させた場合に、適切なエラーメッセージを返すようにします。 * **レート制限:** YouTube APIにはレート制限があります。レート制限を超えないように、リクエストを調整する必要があります。 * **APIキー:** YouTube APIを使用する場合は、APIキーが必要になる場合があります。APIキーを取得して、コードに追加する必要があります。 * **利用規約:** YouTubeの利用規約を遵守する必要があります。自動化されたスクレイピングやAPIの使用が制限されている場合があります。 * **言語サポート:** すべての動画がすべての言語で文字起こしを提供しているわけではありません。指定された言語の文字起こしがない場合、エラーが発生します。 * **URLの検証:** `extract_video_id`関数は、簡単な実装です。より堅牢な実装が必要な場合は、正規表現を使用してください。 * **自動生成 vs 手動作成:** `find_generated_transcript` は自動生成された字幕を優先して取得します。手動で作成された字幕を優先したい場合は、`find_manually_created_transcript` を使用してください。 このコードはあくまで例であり、実際の使用には、上記の考慮事項を考慮して、必要に応じて修正する必要があります。

MCP-researcher Server

MCP-researcher Server

コーディング中に、Perplexity AIを活用してインテリジェントな検索、ドキュメント検索、APIの発見、コードの現代化支援を行うために、ClineとClaude Desktopと連携する強力なリサーチアシスタントです。

Bluesky MCP (Model Context Protocol)

Bluesky MCP (Model Context Protocol)

Bluesky MCPは、Blueskyソーシャルネットワーク用のGo言語で構築されたサーバーです。JSON-RPC 2.0 APIエンドポイントを通じて、AIを活用した機能を提供します。柔軟な構成をサポートし、セキュリティ、パフォーマンス、エラー処理において業界のベストプラクティスに従っています。

AI Video Generator MCP Server

AI Video Generator MCP Server

テキストプロンプトや画像から、AIモデル(Luma Ray2 Flash、Kling v1.6 Proなど)を使用してビデオを生成できるModel Context Protocolサーバー。アスペクト比、解像度、デュレーションなどのパラメータは設定可能です。

SMCPHUB Server

SMCPHUB Server

A client library for connecting to and interacting with MCP servers hosted on smcphub.com, allowing users to find, publish, and call tools on MCP servers.

Remote MCP Server Authless

Remote MCP Server Authless

A deployable Model Context Protocol server on Cloudflare Workers that doesn't require authentication, allowing tools to be added and used from Cloudflare AI Playground or Claude Desktop.

mcp-server-circleci

mcp-server-circleci

このMCPサーバーを使用すると、Cursor IDEや、MCPクライアントが有効になっているエージェントを使って、自然言語でCircleCIの操作ができます。例えば、「自分のブランチで最後に失敗したパイプラインを見つけて、ログを取得する」といったことが可能です。

Ethora MCP Server

Ethora MCP Server

Enables integration with the Ethora platform through user authentication, registration, and application management operations. Supports creating, updating, deleting, and listing applications within the Ethora service.

Okta MCP Server by CData

Okta MCP Server by CData

This project builds a read-only MCP server. For full read, write, update, delete, and action capabilities and a simplified setup, check out our free CData MCP Server for Okta (beta): https://www.cdata.com/download/download.aspx?sku=KUZK-V&type=beta

MCP Background Task Server

MCP Background Task Server

A Model Context Protocol server that enables running and managing long-running background tasks (like development servers, builds) from within Claude Desktop or other MCP-compatible clients.

Algorand MCP Server

Algorand MCP Server

Enables interaction with the Algorand blockchain network including account management, payments, asset creation and transfers, along with general utility tools. Provides secure mnemonic encryption and supports both testnet and mainnet environments.

Puppeteer MCP Server

Puppeteer MCP Server

LLMがウェブブラウジング、スクリーンショットの撮影、およびブラウザ自動化のためのPuppeteerを使用したJavaScriptの実行を可能にします。

Binary Ninja MCP

Binary Ninja MCP

Binary Ninjaのリバースエンジニアリング機能をLLMアシスタンスとシームレスに統合し、ClaudeのようなAIツールがリアルタイムでバイナリ解析機能と連携できるようにするサーバー。

GoHighLevel MCP Server

GoHighLevel MCP Server

Enables AI assistants to interact with GoHighLevel's complete API including contacts, opportunities, calendars, workflows, communications, and business management tools. Supports both Bearer token and OAuth2 authentication with automatic token management.

MCP Math Server

MCP Math Server

RESTful API エンドポイントを通じて、数学的な計算と自然言語による数学クエリを処理する Node.js サーバー。

azure-devops MCP Server

azure-devops MCP Server

TypeScript で構築された MCP サーバーで、シンプルなノートシステムを実装しています。ユーザーはテキストノートの作成、アクセス、および要約の生成が可能です。

Unifuncs

Unifuncs

Top MCP Servers

Top MCP Servers

2025年の開発ワークフローを強化するための、厳選されたトップモデルコンテキストプロトコル(MCP)サーバーコレクション

MCP Server for Kubernetes Support Bundles

MCP Server for Kubernetes Support Bundles

MCP Subfinder Server

MCP Subfinder Server

ProjectDiscoveryのsubfinderツールをラップし、JSON-RPC APIを通じて強力なサブドメイン列挙を行うModel Context Protocol (MCP) サーバー。

MCP Node Time

MCP Node Time

A MCP server that provides timezone-aware date and time operations. This server addresses the common issue where AI assistants provide incorrect date information due to timezone confusion.

CodeChecker MCP

CodeChecker MCP

Cursor IDE用のコードレビューツール。OpenAIのGPTモデルを利用して、インテリジェントなコード分析と提案を提供します。

Huoshan Test

Huoshan Test

FGD Fusion Stack Pro

FGD Fusion Stack Pro

MCP server with intelligent memory management and file monitoring that enables context-aware AI assistance across multiple LLM providers (Grok, OpenAI, Claude, Ollama) with persistent memory of interactions and real-time file system changes.

Universal Menu

Universal Menu

Provides an interactive decision menu that surfaces contextual choices on every assistant turn, allowing users to navigate available actions through a React widget interface.

freee-mcp-server

freee-mcp-server

MCP-Devin

MCP-Devin

TypeScript で書かれた MCP (Multi-Channel Platform) サーバーで、Devin AI と Slack を統合し、ユーザーが Devin セッションを作成したり、タスクを Slack チャンネルに投稿したり、Devin セッションと Slack スレッド間でスレッドのコンテキストを維持したりできるようにします。

Semantic Scholar MCP Server

Semantic Scholar MCP Server

Enables access to the Semantic Scholar Academic Graph API for searching and retrieving detailed information about academic papers, authors, citations, and references.

Amazon Athena MCP Server by CData

Amazon Athena MCP Server by CData

Amazon Athena MCP Server by CData

MCP Geo Location Demo

MCP Geo Location Demo

A server that enables AI models to access user geolocation information via EdgeOne Pages Functions through the Model Context Protocol.