MCP服务器-PPTX代
此存储库提供了一个MCP(模型上下文协议)服务器,用于使用Python代码生成PowerPoint(.pptx)演示文稿。
它提供了三种交互方式:
- MCP协议:可以作为MCP工具连接,供代理(Claude、游标等)通过
/mcp/sse终点。 - REST API:标准端点(
/api/generate,/api/stats)以便与其他框架集成。 - 网页用户界面:一个简单直观的网络界面,用于跟踪统计数据并手动生成演示文稿。
特性
- 使用FastAPI和FastMCP构建。
- 用于执行python pptx生成代码的高度隔离环境。
- GCP云运行就绪。
本地开发
- 安装依赖项:
pip install -r requirements.txt- 运行服务器:
uvicorn app:app --reloadweb UI将在 http://localhost:8000. MCP SSE端点将在 http://localhost:8000/mcp/sse.
- 使用Docker Compose:
docker-compose up --build部署到GCP云运行
最简单的部署方法是使用提供的Dockerfile和Cloud Run:
gcloud builds submit --config cloudbuild.yaml或者手动部署:
gcloud run deploy pptx-generator \
--source . \
--allow-unauthenticated \
--memory 2Gi \
--region us-central1API使用
POST /api/generate
根据提供的python PPTX代码生成PPTX文件。
请求正文:
{
"python_code": "from pptx import Presentation\nprs = Presentation()\nslide = prs.slides.add_slide(prs.slide_layouts[0])\nslide.shapes.title.text = 'Hello World'\nprs.save('output.pptx')"
}答复:
{
"success": true,
"message": "Presentation generated successfully.",
"file_url": "/downloads/abc-123/output.pptx",
"execution_id": "abc-123",
"filename": "output.pptx"
}POST /api/image-to-pptx
将图像转换为具有与图像完美匹配的单张幻灯片的演示文稿。对于获取生成的图表或示意图并立即将其包装成幻灯片非常有用。
请求正文:
{
"image_source": "https://example.com/image.png",
"is_url": true
}*(您也可以直接通过以下方式传递base64字符串 is_url: false 或者使用base64数据URI is_url: true)*
POST /api/process-pdf
处理一个新的PDF文件(或Base64内容)并将其转换为 pptx 或 docx 格式。 如果 target_format 是 pptx,以及 GOOGLE_API_KEY (或 GEMINI_API_KEY)设置后,服务器使用AI 将完整图像重新哈希为可编辑幻灯片内容。它详细了解幻灯片内容,使用Aptos Narrow字体将其转换为可编辑的幻灯片,应用一致的标题大小、AI生成的视觉图像(通过DiceBear API),并为每张幻灯片生成一条总体笑点。布局会根据幻灯片的意图自动调整(例如,标题和内容,两列)。如果API键不存在,它将回退到为每张幻灯片生成全页图像。
请求正文:
{
"pdf_source": "https://example.com/report.pdf",
"is_url": true,
"instructions": "Extract financial tables only",
"layout_theme": "Modern Corporate",
"visual_iconography": "Flat design, tech icons",
"slide_content_rules": "Max 5 bullets per slide",
"target_format": "pptx"
}GET /api/stats
返回当前请求和生成统计信息。
