一个与Dumpling AI集成的Model Context Protocol (MCP)服务器实现,用于数据抓取、内容处理、知识管理、AI代理和代码执行能力。
要通过Smithery自动安装mcp-server-dumplingai到Claude Desktop:
npx -y @smithery/cli install @Dumpling-AI/mcp-server-dumplingai --client claude
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:
{
"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密钥(必需)get-youtube-transcript)从YouTube视频中提取字幕,可选带有时间戳。
{
"name": "get-youtube-transcript",
"arguments": {
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"includeTimestamps": true,
"timestampsToCombine": 3,
"preferredLanguage": "en"
}
}
search)执行Google网络搜索,并可选地从结果中抓取内容。
{
"name": "search",
"arguments": {
"query": "机器学习基础",
"country": "us",
"language": "en",
"dateRange": "pastMonth",
"scrapeResults": true,
"numResultsToScrape": 3,
"scrapeOptions": {
"format": "markdown",
"cleaned": true
}
}
}
get-autocomplete)获取针对查询的Google搜索自动完成功能建议。
{
"name": "get-autocomplete",
"arguments": {
"query": "如何学习",
"country": "us",
"language": "en",
"location": "纽约"
}
}
search-maps)搜索Google地图上的位置和企业。
{
"name": "search-maps",
"arguments": {
"query": "咖啡店",
"gpsPositionZoom": "37.7749,-122.4194,14z",
"language": "en",
"page": 1
}
}
search-places)搜索具有更详细信息的地点。
{
"name": "search-places",
"arguments": {
"query": "巴黎酒店",
"country": "fr",
"language": "en",
"page": 1
}
}
search-news)搜索新闻文章,具有可定制参数。
{
"name": "search-news",
"arguments": {
"query": "气候变化",
"country": "us",
"language": "en",
"dateRange": "pastWeek"
}
}
get-google-reviews)检索企业的Google评论或地点。
{
"name": "get-google-reviews",
"arguments": {
"businessName": "埃菲尔铁塔",
"location": "法国巴黎",
"limit": 10,
"sortBy": "相关性"
}
}
scrape)从网页中提取内容,具有格式选项。
{
"name": "scrape",
"arguments": {
"url": "https://example.com",
"format": "markdown",
"cleaned": true,
"renderJs": true
}
}
crawl)递归爬取网站并提取内容,具有可定制参数。
{
"name": "crawl",
"arguments": {
"baseUrl": "https://example.com",
"maxPages": 10,
"crawlBeyondBaseUrl": false,
"depth": 2,
"scrapeOptions": {
"format": "markdown",
"cleaned": true,
"renderJs": true
}
}
}
screenshot)捕获网页的屏幕截图,具有可定制视口和格式选项。
{
"name": "screenshot",
"arguments": {
"url": "https://example.com",
"width": 1280,
"height": 800,
"fullPage": true,
"format": "png",
"waitFor": 1000
}
}
extract)使用AI驱动的指令从网页中提取结构化数据。
{
"name": "extract",
"arguments": {
"url": "https://example.com/products",
"instructions": "从这一页提取所有产品名称、价格和描述",
"schema": {
"products": [
{
"name": "string",
"price": "number",
"description": "string"
}
]
},
"renderJs": true
}
}
doc-to-text)将文档转换为纯文本,可选OCR。
{
"name": "doc-to-text",
"arguments": {
"url": "https://example.com/document.pdf",
"options": {
"ocr": true,
"language": "en"
}
}
}
convert-to-pdf)将各种文件格式转换为PDF。
{
"name": "convert-to-pdf",
"arguments": {
"url": "https://example.com/document.docx",
"format": "docx",
"options": {
"quality": 90,
"pageSize": "A4",
"margin": 10
}
}
}
merge-pdfs)将多个PDF合并成一个文档。
{
"name": "merge-pdfs",
"arguments": {
"urls": ["https://example.com/doc1.pdf", "https://example.com/doc2.pdf"],
"options": {
"addPageNumbers": true,
"addTableOfContents": true
}
}
}
trim-video)从视频中提取特定片段。
{
"name": "trim-video",
"arguments": {
"url": "https://example.com/video.mp4",
"startTime": 30,
"endTime": 60,
"output": "mp4",
"options": {
"quality": 720,
"fps": 30
}
}
}
extract-document)从各种格式的文档中提取特定内容。
{
"name": "extract-document",
"arguments": {
"url": "https://example.com/document.pdf",
"format": "structured",
"options": {
"ocr": true,
"language": "en",
"includeMetadata": true
}
}
}
extract-image)从图像中提取文本和信息。
{
"name": "extract-image",
"arguments": {
"url": "https://example.com/image.jpg",
"extractionType": "text",
"options": {
"language": "en",
"detectOrientation": true
}
}
}
extract-audio)转录和提取音频文件中的信息。
{
"name": "extract-audio",
"arguments": {
"url": "https://example.com/audio.mp3",
"language": "en",
"options": {
"model": "enhanced",
"speakerDiarization": true,
"wordTimestamps": true
}
}
}
extract-video)从视频中提取内容,包括字幕、场景和对象。
{
"name": "extract-video",
"arguments": {
"url": "https://example.com/video.mp4",
"extractionType": "transcript",
"options": {
"language": "en",
"speakerDiarization": true
}
}
}
read-pdf-metadata)从PDF文件中提取元数据。
{
"name": "read-pdf-metadata",
"arguments": {
"url": "https://example.com/document.pdf",
"includeExtended": true
}
}
write-pdf-metadata)更新PDF文件中的元数据。
{
"name": "write-pdf-metadata",
"arguments": {
"url": "https://example.com/document.pdf",
"metadata": {
"title": "新标题",
"author": "约翰·多伊",
"keywords": ["关键词1", "关键词2"]
}
}
}
generate-agent-completion)获取AI代理完成,可选工具定义。
{
"name": "generate-agent-completion",
"arguments": {
"prompt": "我该如何改进我的电子商务网站的SEO?",
"model": "gpt-4",
"temperature": 0.7,
"maxTokens": 500,
"context": ["该网站是一个销售手工工艺品的电子商务商店。"]
}
}
search-knowledge-base)搜索知识库以查找相关信息。
{
"name": "search-knowledge-base",
"arguments": {
"kbId": "kb_12345",
"query": "如何优化数据库性能",
"limit": 5,
"similarityThreshold": 0.7
}
}
add-to-knowledge-base)向知识库添加条目。
{
"name": "add-to-knowledge-base",
"arguments": {
"kbId": "kb_12345",
"entries": [
{
"text": "MongoDB是一个基于文档的NoSQL数据库。",
"metadata": {
"source": "MongoDB文档",
"category": "数据库"
}
}
],
"upsert": true
}
}
generate-ai-image)使用AI模型生成图像。
{
"name": "generate-ai-image",
"arguments": {
"prompt": "一座未来城市,有飞行汽车和霓虹灯",
"width": 1024,
"height": 1024,
"numImages": 1,
"quality": "hd",
"style": "照片级真实"
}
}
generate-image)使用各种AI提供商生成图像。
{
"name": "generate-image",
"arguments": {
"prompt": "一只金毛猎犬在野花丛中",
"provider": "dalle",
"width": 1024,
"height": 1024,
"numImages": 1
}
}
run-js-code)执行JavaScript代码,可选依赖项。
{
"name": "run-js-code",
"arguments": {
"code": "const result = [1, 2, 3, 4].reduce((sum, num) => sum + num, 0); console.log(`总和: ${result}`); return result;",
"dependencies": {
"lodash": "^4.17.21"
},
"timeout": 5000
}
}
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}')\nreturn mean",
"dependencies": ["numpy", "pandas"],
"timeout": 10000,
"saveOutputFiles": true
}
}
服务器提供强大的错误处理:
示例错误响应:
{
"content": [
{
"type": "text",
"text": "错误:无法获取YouTube字幕:404未找到"
}
],
"isError": true
}
# 安装依赖
npm install
# 构建
npm run build
MIT许可证 - 查看LICENSE文件了解详情