mcpField
M
macOS Office 365 MCP Server

macOS Office 365 MCP Server

本地服务
github.com/vAirpower生产力1565 周前更新

关于 macOS Office 365 MCP Server

macOS Office 365 MCP Server 是一款概念验证服务,供 AI 助手在 macOS 上创建和编辑 PowerPoint、Word 与 Excel 文件。它通过 AppleScript 控制已安装的 Office 应用。

主要功能

  1. 01创建和编辑 PowerPoint 演示文稿
  2. 02构建并设置 Word 文档格式
  3. 03写入 Excel 数据并创建图表
  4. 04以多种格式保存文件
  5. 05检查已打开的 Office 应用

适用场景

  1. 01制作带演讲者备注的幻灯片
  2. 02根据模板排版文档
  3. 03写入电子表格数据和公式
  4. 04根据工作簿数据创建图表

MCP 相关

该 MCP 服务提供创建和编辑 PowerPoint、Word 与 Excel 文件的工具,也可检查活动文档和 Office 应用状态。Claude Desktop 和 Cline 等 MCP 客户端可以调用这些工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

macOS Office 365 MCP 服务

一个 Model Context Protocol(MCP)服务,可让 AI 助手在 macOS 上创建和操作 Microsoft Office 文档(PowerPoint、Word 和 Excel)。这是一个概念验证项目,也是个人项目,并非官方 MCP 服务。如果遇到任何问题,请告诉我。

LinkedIn:https://www.linkedin.com/in/bluhmadam/

功能

PowerPoint
  • 使用自定义标题和主题创建演示文稿
  • 使用各种版式添加幻灯片
  • 插入文本、图像和演讲者备注
  • 以多种格式保存演示文稿
Word
  • 从头开始或使用模板创建文档
  • 添加标题、段落、列表和表格
  • 应用文本格式和样式
  • 以多种格式保存文档
Excel
  • 创建包含多个工作表的工作簿
  • 向单元格和区域写入数据
  • 添加公式和计算
  • 创建图表(柱形图、折线图、饼图)
  • 应用单元格格式和样式
  • 以多种格式保存工作簿

前置条件

系统要求
  • macOS 10.15 或更高版本
  • Python 3.8 或更高版本
  • Microsoft Office for Mac(PowerPoint、Word 和/或 Excel)
Python 依赖项
pip install mcp
pip install python-pptx
pip install python-docx
pip install openpyxl
pip install aiofiles

安装

  1. 克隆仓库

    git clone https://github.com/vAirpower/macos-office365-mcp-server.git
    cd macos-office365-mcp-server
    
  2. 安装依赖项

    pip install -r requirements.txt
    
  3. 设置 macOS 权限

    此服务使用 AppleScript 控制 Office 应用。你需要授予相应权限:

    a. 打开 系统偏好设置 → 安全性与隐私 → 隐私 b. 在左侧边栏中选择 自动化 c. 找到你的终端应用(Terminal、iTerm2、VS Code 等) d. 勾选以下选项:

    • Microsoft PowerPoint
    • Microsoft Word
    • Microsoft Excel

    首次运行服务时,如果系统提示,请点击“好”以允许自动化。

配置

MCP 客户端配置

将此服务添加到 MCP 客户端配置中:

用于 Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "office365": {
      "command": "python",
      "args": ["/path/to/macos-office365-mcp-server/src/office365_mcp_server.py"]
    }
  }
}
用于 Cline(VS Code)

编辑 Cline 的 MCP 设置:

{
  "mcpServers": {
    "office365": {
      "command": "python",
      "args": ["/path/to/macos-office365-mcp-server/src/office365_mcp_server.py"]
    }
  }
}

使用方法

配置完成后,AI 助手可以使用以下工具:

PowerPoint 工具
  • create_presentation - 创建新的演示文稿
  • add_slide - 向演示文稿添加幻灯片
  • add_text_to_slide - 向幻灯片添加文本内容
  • add_image_to_slide - 向幻灯片添加图像
  • add_speaker_notes - 向幻灯片添加演讲者备注
  • save_presentation - 将演示文稿保存到文件
Word 工具
  • create_document - 创建新文档
  • add_heading - 向文档添加标题
  • add_paragraph - 添加段落,可选设置格式
  • add_list - 添加项目符号列表或编号列表
  • add_table - 添加包含数据的表格
  • save_document - 将文档保存到文件
Excel 工具
  • create_workbook - 创建新工作簿
  • add_worksheet - 向工作簿添加工作表
  • write_cell - 向指定单元格写入数据
  • write_range - 向单元格区域写入数据
  • add_formula - 向单元格添加公式
  • create_chart - 根据数据创建图表
  • save_workbook - 将工作簿保存到文件
  • list_worksheets - 列出工作簿中的所有工作表
实用工具
  • list_active_presentations - 列出所有已打开的演示文稿
  • list_active_documents - 列出所有已打开的文档
  • list_active_workbooks - 列出所有已打开的工作簿
  • check_office_status - 检查 Office 应用是否可用

使用示例

创建 PowerPoint 演示文稿
# AI Assistant can execute:
result = await create_presentation(
    title="Q4 Sales Report",
    theme="modern"
)

slide = await add_slide(
    presentation_id=result["presentation_id"],
    layout="Title and Content"
)

await add_text_to_slide(
    slide_id=slide["slide_id"],
    text="Revenue increased by 25%",
    placeholder="content"
)

await save_presentation(
    presentation_id=result["presentation_id"],
    file_path="~/Desktop/Q4_Sales.pptx"
)
创建 Word 文档
# AI Assistant can execute:
doc = await create_document(title="Project Proposal")

await add_heading(
    document_id=doc["document_id"],
    text="Executive Summary",
    level=1
)

await add_paragraph(
    document_id=doc["document_id"],
    text="This proposal outlines our approach...",
    formatting={"font_size": 12, "font_name": "Arial"}
)

await save_document(
    document_id=doc["document_id"],
    file_path="~/Desktop/proposal.docx"
)
创建 Excel 工作簿
# AI Assistant can execute:
workbook = await create_workbook(title="Sales Analysis")

# Add data
data = [
    ["Product", "Q1", "Q2", "Q3", "Q4"],
    ["Laptops", 100, 150, 200, 180],
    ["Tablets", 80, 90, 110, 120],
    ["Phones", 200, 250, 300, 350]
]

await write_range(
    workbook_id=workbook["workbook_id"],
    sheet_name="Sheet1",
    start_cell="A1",
    data=data,
    formatting={"bold": True}  # Bold headers
)

# Add a formula
await add_formula(
    workbook_id=workbook["workbook_id"],
    sheet_name="Sheet1",
    cell="F2",
    formula="=SUM(B2:E2)"
)

# Create a chart
await create_chart(
    workbook_id=workbook["workbook_id"],
    sheet_name="Sheet1",
    chart_type="bar",
    data_range="A1:E4",
    chart_title="Quarterly Sales",
    position="G2"
)

await save_workbook(
    workbook_id=workbook["workbook_id"],
    file_path="~/Desktop/sales_analysis.xlsx"
)

故障排除

权限问题

如果看到“未获授权发送 Apple 事件”,请确保:

  1. 你的终端拥有 Office 应用的自动化权限
  2. 已安装 Office 应用,并且至少打开过一次
  3. 授予权限后,可能需要重启终端
导入错误

如果遇到导入错误:

  1. 确保已安装所有依赖项:pip install -r requirements.txt
  2. 检查 Python 版本:python --version(应为 3.8+)
  3. 确认已安装 MCP:pip show mcp
未找到 Office

如果未检测到 Office 应用程序:

  1. 确保已安装适用于 Mac 的 Microsoft Office
  2. 先尝试手动打开 PowerPoint/Word/Excel
  3. 检查 Office 是否安装在标准 Applications 文件夹中

开发

项目结构
macos-office365-mcp-server/
├── src/
│   ├── office365_mcp_server.py    # Main MCP server
│   ├── controllers/
│   │   ├── powerpoint_controller.py
│   │   ├── word_controller.py
│   │   └── excel_controller.py
│   ├── integrations/
│   │   └── applescript_bridge.py  # AppleScript automation
│   └── utils/
│       ├── config.py
│       ├── logger.py
│       └── validators.py
├── requirements.txt
└── README.md
添加新功能
  1. 在相应的控制器中添加新方法
  2. 在 office365_mcp_server.py 中注册新工具
  3. 在此 README 中更新用法示例

许可证

MIT 许可证——详情请参阅 LICENSE 文件

贡献

欢迎贡献!请:

  1. Fork 此仓库
  2. 创建功能分支
  3. 为新功能添加测试
  4. 提交拉取请求

支持

如有问题或疑问:

  • 在 GitHub 上提交问题
  • 查看现有问题以寻找解决方案
  • 确保已完成所有设置步骤

致谢

  • 使用 Model Context Protocol(MCP)构建
  • 使用 python-pptx、python-docx 和 openpyxl 操作文档
  • 通过 AppleScript 集成实现原生 Office 控制

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。