Skip to main content
Glama
jenstangen1

PowerPoint MCP Server

by jenstangen1

PowerPoint MCP 服务器

一个模型上下文协议 (MCP) 服务器,用于在 AI 辅助下创建和操作 PowerPoint 演示文稿。该服务器为 AI 模型提供了全面的 API,可与 PowerPoint 文件进行交互,并支持高级格式、财务图表和数据集成。

特征

演示管理

  • 创建和修改 PowerPoint 演示文稿

  • 添加、删除和修改幻灯片

  • 从工作区保存和加载演示文稿

  • 模板管理系统

元素操作

  • 对幻灯片元素(文本、形状、图像、图表)进行细粒度控制

  • 高级形状创建和造型

  • 元素定位和分组

  • 形状之间的连接线

金融一体化

  • 创建财务图表(折线图、条形图、柱形图、饼图、瀑布图等)

  • 生成比较表

  • 支持各种财务指标:

    • 收入

    • 息税折旧摊销前利润

    • 利润

    • 资产

    • 公平

    • 增长率

    • 边距

  • 目前使用虚拟数据,计划整合 Proff API 获取挪威公司数据

  • 通过API定制适应其他金融数据提供商

样式和格式

  • 富文本格式

  • 形状样式(填充、渐变、轮廓)

  • 图表定制

  • 背景颜色和效果

Related MCP server: Meeting BaaS MCP Server

安装

  1. 克隆存储库:

git clone https://github.com/jenstangen1/pptx-mcp.git
cd pptx-mcp
  1. 安装依赖项:

pip install -r requirements.txt

与 Claude 一起设置

将 MCP 安装到 Claude 的界面中

要将此 PowerPoint MCP 与 Claude 集成,请将以下 JSON 配置添加到您的 Claude MCP 文件中:

{
    "mcpServers": {
      "powerpoint_mcp": {
        "command": "uv",
        "args": [
          "--directory",
          "your directory here",
          "run",
          "mcp_powerpoint_server.py"
        ]
      }
    }
}

注意:您可能需要修改目录路径以匹配您的安装位置。

可用的 MCP 工具

演示管理

  • list_presentations :列出工作区中的所有 PowerPoint 文件

  • upload_presentation :将新演示文稿上传到工作区

  • save_presentation :保存当前演示文稿

滑动操作

  • add_slide :向演示文稿添加新幻灯片

  • delete_slide :从演示文稿中删除幻灯片

  • get_slide_count :获取演示文稿中的幻灯片总数

  • analyze_slide :分析幻灯片的内容

  • set_background_color :设置幻灯片的背景颜色

元素操作

  • add_text :向幻灯片添加文本

  • add_shape :向幻灯片添加形状

  • edit_element :编辑元素的属性

  • style_element :将样式应用于元素

  • connect_shapes :用连接器连接两个形状

  • find_element :根据条件在幻灯片上查找元素

金融工具

  • get_company_financials :获取公司的财务数据(当前返回虚拟数据)

  • create_financial_chart :在幻灯片上创建财务图表

  • create_comparison_table :创建公司比较表

**注:**财务工具目前使用虚拟数据。未来版本计划与 Proff API 集成,以自动获取挪威公司数据。用户可以修改代码,以连接本地或首选的财务数据提供商。

模板操作

  • list_templates :列出所有可用的模板

  • apply_template :将模板应用于演示文稿

  • create_slide_from_template :从模板创建新幻灯片

  • save_as_template :将幻灯片保存为模板

调试工具

  • debug_element_mappings :用于检查幻灯片元素映射的调试工具

用法

启动服务器

运行服务器:

python mcp_powerpoint_server.py

如果不存在,服务器将为演示文稿和模板创建一个工作区目录。

基本操作

# List presentations
presentations = mcp.list_presentations()

# Create a new slide
slide_index = mcp.add_slide(presentation_path, layout_name="Title and Content")

# Add text to a slide
element_id = mcp.add_text(
    presentation_path=presentation_path,
    slide_index=slide_index,
    text="Hello World",
    position=[1.0, 1.0],
    font_size=24
)

# Add a shape
shape_id = mcp.add_shape(
    presentation_path=presentation_path,
    slide_index=slide_index,
    shape_type="rectangle",
    position={"x": 2.0, "y": 2.0},
    size={"width": 2.0, "height": 1.0}
)

财务图表

# Create a financial chart
chart_id = mcp.create_financial_chart(
    presentation_path=presentation_path,
    slide_index=slide_index,
    chart_type="column",
    data={
        "categories": ["2020", "2021", "2022"],
        "series": [{
            "name": "Revenue",
            "values": [1000000, 1200000, 1500000]
        }]
    },
    position={"x": 1.0, "y": 1.0},
    size={"width": 6.0, "height": 4.0},
    title="Revenue Growth"
)

# Create a comparison table
table_id = mcp.create_comparison_table(
    presentation_path=presentation_path,
    slide_index=slide_index,
    companies=["Company A", "Company B"],
    metrics=["revenue", "ebitda", "margin"],
    position={"x": 1.0, "y": 1.0},
    title="Company Comparison"
)

模板管理

# List available templates
templates = mcp.list_templates()

# Apply a template
mcp.apply_template(
    presentation_path=presentation_path,
    template_name="financial_report",
    options={
        "apply_master": True,
        "apply_theme": True,
        "apply_layouts": True
    }
)

# Create a slide from template
mcp.create_slide_from_template(
    presentation_path=presentation_path,
    template_name="comparison_slide",
    content={
        "title": "Market Analysis",
        "subtitle": "Q3 2023"
    }
)

目录结构

pptx-mcp/
├── mcp_powerpoint_server.py  # Main server implementation
├── requirements.txt          # Python dependencies
├── presentations/           # Workspace for presentations
│   └── templates/          # Template storage
└── README.md               # This file

依赖项

  • python-pptx:PowerPoint 文件操作

  • 枕头:图像处理

  • numpy:数值运算

  • MCP SDK:模型上下文协议实现

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jenstangen1/pptx-xlsx-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server