Dutling AI MCP 服务器
模型上下文协议 (MCP) 服务器实现与 Dumpling AI 集成,用于数据抓取、内容处理、知识管理、AI 代理和代码执行功能。
特征
- 与所有 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 版本 0.45.6+
要在 Cursor 中配置 Dumpling AI MCP:
- 打开游标设置
- 前往“功能”>“MCP 服务器”
- 点击“+ 添加新的 MCP 服务器”
- 输入以下内容:
{
"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"
用您的 Dumpling AI API 密钥替换your-api-key
。
配置
环境变量
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"
}
}
网页抓取
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
}
}
使用人工智能指令从网页中提取结构化数据。
{
"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 合并为一个文档。
{
"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
}
}
}
从各种格式的文档中提取特定内容。
{
"name": "extract-document",
"arguments": {
"url": "https://example.com/document.pdf",
"format": "structured",
"options": {
"ocr": true,
"language": "en",
"includeMetadata": true
}
}
}
从图像中提取文本和信息。
{
"name": "extract-image",
"arguments": {
"url": "https://example.com/image.jpg",
"extractionType": "text",
"options": {
"language": "en",
"detectOrientation": true
}
}
}
从音频文件中转录并提取信息。
{
"name": "extract-audio",
"arguments": {
"url": "https://example.com/audio.mp3",
"language": "en",
"options": {
"model": "enhanced",
"speakerDiarization": true,
"wordTimestamps": true
}
}
}
从视频中提取内容,包括文字记录、场景和对象。
{
"name": "extract-video",
"arguments": {
"url": "https://example.com/video.mp4",
"extractionType": "transcript",
"options": {
"language": "en",
"speakerDiarization": true
}
}
}
从 PDF 文件中提取元数据。
{
"name": "read-pdf-metadata",
"arguments": {
"url": "https://example.com/document.pdf",
"includeExtended": true
}
}
更新 PDF 文件中的元数据。
{
"name": "write-pdf-metadata",
"arguments": {
"url": "https://example.com/document.pdf",
"metadata": {
"title": "New Title",
"author": "John Doe",
"keywords": ["keyword1", "keyword2"]
}
}
}
人工智能
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 许可证 - 详情请参阅许可证文件