Dumpling AI MCP Server について
Dumpling AI MCP Server は、Dumpling AI API を MCP から利用するための MCP サーバーです。データ取得、Webスクレイピング、ドキュメント処理、AI機能、コード実行をカバーしています。MCP クライアントからこれらのエンドポイントを直接呼び出したい開発者に向いています。
主な機能
- 01YouTube 字幕、検索、マップ、ニュース、レビューのデータ取得
- 02Web スクレイピング、クロール、スクリーンショット、構造化抽出
- 03PDF、画像、音声、動画のドキュメント処理
- 04エージェント補完、ナレッジベース、画像生成
- 05JavaScript と Python のコード実行
活用シーン
- 01コンテンツ分析のための YouTube 字幕の取得
- 02Web ページから構造化された商品情報の抽出
- 03ドキュメントのプレーンテキストや PDF への変換
MCP 対応
本プロジェクトは MCP サーバーであり、scrape、search、run-python-code などの Dumpling AI のエンドポイントをツールとして MCP クライアントに公開します。環境変数 DUMPLING_API_KEY の設定が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dumpling AI MCP サーバー
データスクレイピング、コンテンツ処理、ナレッジ管理、AI エージェント、コード実行機能のために Dumpling AI と統合する Model Context Protocol (MCP) サーバー実装です。
機能
- すべての Dumpling AI API エンドポイントとの完全な統合
- YouTube トランスクリプト、検索、オートコンプリート、マップ、プレイス、ニュース、レビュー用のデータ API
- スクレイピング、クロール、スクリーンショット、構造化データ抽出をサポートする Web スクレイピング
- テキスト抽出、PDF 操作、動画処理用のドキュメント変換ツール
- ドキュメント、画像、音声、動画からのデータ抽出
- エージェント補完、ナレッジベース管理、画像生成を含む AI 機能
- 安全な環境で JavaScript と Python コードを実行するための開発者ツール
- 自動エラーハンドリングと詳細なレスポンスフォーマット
インストール
Smithery 経由でのインストール
Smithery 経由で Claude Desktop 用に mcp-server-dumplingai を自動インストールするには:
npx -y @smithery/cli install @Dumpling-AI/mcp-server-dumplingai --client claude
npx での実行
env DUMPLING_API_KEY=your_api_key npx -y mcp-server-dumplingai
手動インストール
npm install -g mcp-server-dumplingai
Cursor での実行
Cursor の設定 🖥️ 注: Cursor バージョン 0.45.6 以上が必要です
Cursor で Dumpling AI MCP を設定するには:
- Cursor の設定を開きます
- Features > MCP Servers に移動します
- 「+ Add New MCP Server」をクリックします
- 以下を入力します:
{
"mcpServers": {
"dumplingai": {
"command": "npx",
"args": ["-y", "mcp-server-dumplingai"],
"env": {
"DUMPLING_API_KEY": "<your-api-key>"
}
}
}
}
Windows を使用していて問題が発生する場合は、
cmd /c "set DUMPLING_API_KEY=your-api-key && npx -y mcp-server-dumplingai"を試してください
your-api-key をあなたの Dumpling AI API キーに置き換えてください。
設定
環境変数
DUMPLING_API_KEY: あなたの Dumpling AI API キー (必須)
利用可能なツール
データ API
1. YouTube トランスクリプトの取得 (get-youtube-transcript)
オプションのタイムスタンプ付きで YouTube 動画からトランスクリプトを抽出します。
{
"name": "get-youtube-transcript",
"arguments": {
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"includeTimestamps": true,
"timestampsToCombine": 3,
"preferredLanguage": "en"
}
}
2. 検索 (search)
Google ウェブ検索を実行し、必要に応じて結果からコンテンツをスクレイピングします。
{
"name": "search",
"arguments": {
"query": "machine learning basics",
"country": "us",
"language": "en",
"dateRange": "pastMonth",
"scrapeResults": true,
"numResultsToScrape": 3,
"scrapeOptions": {
"format": "markdown",
"cleaned": true
}
}
}
3. オートコンプリートの取得 (get-autocomplete)
クエリに対する Google 検索のオートコンプリート候補を取得します。
{
"name": "get-autocomplete",
"arguments": {
"query": "how to learn",
"country": "us",
"language": "en",
"location": "New York"
}
}
4. マップの検索 (search-maps)
Google マップで場所やビジネスを検索します。
{
"name": "search-maps",
"arguments": {
"query": "coffee shops",
"gpsPositionZoom": "37.7749,-122.4194,14z",
"language": "en",
"page": 1
}
}
5. プレイスの検索 (search-places)
より詳細な情報とともに場所を検索します。
{
"name": "search-places",
"arguments": {
"query": "hotels in paris",
"country": "fr",
"language": "en",
"page": 1
}
}
6. ニュースの検索 (search-news)
カスタマイズ可能なパラメータでニュース記事を検索します。
{
"name": "search-news",
"arguments": {
"query": "climate change",
"country": "us",
"language": "en",
"dateRange": "pastWeek"
}
}
7. Google レビューの取得 (get-google-reviews)
ビジネスや場所の Google レビューを取得します。
{
"name": "get-google-reviews",
"arguments": {
"businessName": "Eiffel Tower",
"location": "Paris, France",
"limit": 10,
"sortBy": "relevance"
}
}
Web スクレイピング
8. スクレイプ (scrape)
フォーマットオプションを使用してウェブページからコンテンツを抽出します。
{
"name": "scrape",
"arguments": {
"url": "https://example.com",
"format": "markdown",
"cleaned": true,
"renderJs": true
}
}
9. クロール (crawl)
カスタマイズ可能なパラメータでウェブサイトを再帰的にクロールし、コンテンツを抽出します。
{
"name": "crawl",
"arguments": {
"baseUrl": "https://example.com",
"maxPages": 10,
"crawlBeyondBaseUrl": false,
"depth": 2,
"scrapeOptions": {
"format": "markdown",
"cleaned": true,
"renderJs": true
}
}
}
10. スクリーンショット (screenshot)
カスタマイズ可能なビューポートとフォーマットオプションでウェブページのスクリーンショットをキャプチャします。
{
"name": "screenshot",
"arguments": {
"url": "https://example.com",
"width": 1280,
"height": 800,
"fullPage": true,
"format": "png",
"waitFor": 1000
}
}
11. 抽出 (extract)
AI を活用した指示を使用してウェブページから構造化データを抽出します。
{
"name": "extract",
"arguments": {
"url": "https://example.com/products",
"instructions": "Extract all product names, prices, and descriptions from this page",
"schema": {
"products": [
{
"name": "string",
"price": "number",
"description": "string"
}
]
},
"renderJs": true
}
}
ドキュメント変換
12. ドキュメントからテキストへ (doc-to-text)
オプションの OCR を使用してドキュメントをプレーンテキストに変換します。
{
"name": "doc-to-text",
"arguments": {
"url": "https://example.com/document.pdf",
"options": {
"ocr": true,
"language": "en"
}
}
}
13. PDF への変換 (convert-to-pdf)
さまざまなファイル形式を PDF に変換します。
{
"name": "convert-to-pdf",
"arguments": {
"url": "https://example.com/document.docx",
"format": "docx",
"options": {
"quality": 90,
"pageSize": "A4",
"margin": 10
}
}
}
14. PDF の結合 (merge-pdfs)
複数の PDF を 1 つのドキュメントに結合します。
{
"name": "merge-pdfs",
"arguments": {
"urls": ["https://example.com/doc1.pdf", "https://example.com/doc2.pdf"],
"options": {
"addPageNumbers": true,
"addTableOfContents": true
}
}
}
15. 動画のトリミング (trim-video)
動画から特定のクリップを抽出します。
{
"name": "trim-video",
"arguments": {
"url": "https://example.com/video.mp4",
"startTime": 30,
"endTime": 60,
"output": "mp4",
"options": {
"quality": 720,
"fps": 30
}
}
}
16. ドキュメントの抽出 (extract-document)
さまざまな形式のドキュメントから特定のコンテンツを抽出します。
{
"name": "extract-document",
"arguments": {
"url": "https://example.com/document.pdf",
"format": "structured",
"options": {
"ocr": true,
"language": "en",
"includeMetadata": true
}
}
}
17. 画像の抽出 (extract-image)
画像からテキストと情報を抽出します。
{
"name": "extract-image",
"arguments": {
"url": "https://example.com/image.jpg",
"extractionType": "text",
"options": {
"language": "en",
"detectOrientation": true
}
}
}
18. 音声の抽出 (extract-audio)
音声ファイルから文字起こしと情報の抽出を行います。
{
"name": "extract-audio",
"arguments": {
"url": "https://example.com/audio.mp3",
"language": "en",
"options": {
"model": "enhanced",
"speakerDiarization": true,
"wordTimestamps": true
}
}
}
19. 動画の抽出 (extract-video)
トランスクリプト、シーン、オブジェクトを含む動画からコンテンツを抽出します。
{
"name": "extract-video",
"arguments": {
"url": "https://example.com/video.mp4",
"extractionType": "transcript",
"options": {
"language": "en",
"speakerDiarization": true
}
}
}
20. PDF メタデータの読み取り (read-pdf-metadata)
PDF ファイルからメタデータを抽出します。
{
"name": "read-pdf-metadata",
"arguments": {
"url": "https://example.com/document.pdf",
"includeExtended": true
}
}
21. PDF メタデータの書き込み (write-pdf-metadata)
PDF ファイルのメタデータを更新します。
{
"name": "write-pdf-metadata",
"arguments": {
"url": "https://example.com/document.pdf",
"metadata": {
"title": "New Title",
"author": "John Doe",
"keywords": ["keyword1", "keyword2"]
}
}
}
AI
22. エージェント補完の生成 (generate-agent-completion)
オプションのツール定義を使用して AI エージェントの補完を取得します。
{
"name": "generate-agent-completion",
"arguments": {
"prompt": "How can I improve my website's SEO?",
"model": "gpt-4",
"temperature": 0.7,
"maxTokens": 500,
"context": ["The website is an e-commerce store selling handmade crafts."]
}
}
23. ナレッジベースの検索 (search-knowledge-base)
ナレッジベースから関連情報を検索します。
{
"name": "search-knowledge-base",
"arguments": {
"kbId": "kb_12345",
"query": "How to optimize database performance",
"limit": 5,
"similarityThreshold": 0.7
}
}
24. ナレッジベースへの追加 (add-to-knowledge-base)
ナレッジベースにエントリを追加します。
{
"name": "add-to-knowledge-base",
"arguments": {
"kbId": "kb_12345",
"entries": [
{
"text": "MongoDB is a document-based NoSQL database.",
"metadata": {
"source": "MongoDB documentation",
"category": "databases"
}
}
],
"upsert": true
}
}
25. AI 画像の生成 (generate-ai-image)
AI モデルを使用して画像を生成します。
{
"name": "generate-ai-image",
"arguments": {
"prompt": "A futuristic city with flying cars and neon lights",
"width": 1024,
"height": 1024,
"numImages": 1,
"quality": "hd",
"style": "photorealistic"
}
}
26. 画像の生成 (generate-image)
さまざまな AI プロバイダーを使用して画像を生成します。
{
"name": "generate-image",
"arguments": {
"prompt": "A golden retriever in a meadow of wildflowers",
"provider": "dalle",
"width": 1024,
"height": 1024,
"numImages": 1
}
}
開発者ツール
27. JavaScript コードの実行 (run-js-code)
オプションの依存関係を使用して JavaScript コードを実行します。
{
"name": "run-js-code",
"arguments": {
"code": "const result = [1, 2, 3, 4].reduce((sum, num) => sum + num, 0); console.log(`Sum: ${result}`); return result;",
"dependencies": {
"lodash": "^4.17.21"
},
"timeout": 5000
}
}
28. Python コードの実行 (run-python-code)
オプションの依存関係を使用して Python コードを実行します。
{
"name": "run-python-code",
"arguments": {
"code": "import numpy as np\narr = np.array([1, 2, 3, 4, 5])\nmean = np.mean(arr)\nprint(f'Mean: {mean}')\nreturn mean",
"dependencies": ["numpy", "pandas"],
"timeout": 10000,
"saveOutputFiles": true
}
}
エラー処理
サーバーは堅牢なエラー処理を提供します。
- HTTP ステータスコードを含む詳細なエラーメッセージ
- API キーの検証
- Zod スキーマを使用した入力検証
- 説明的なメッセージによるネットワークエラー処理
エラー応答の例:
{
"content": [
{
"type": "text",
"text": "Error: Failed to fetch YouTube transcript: 404 Not Found"
}
],
"isError": true
}
開発
# Install dependencies
npm install
# Build
npm run build
ライセンス
MIT License - 詳細は LICENSE ファイルを参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。