这是一个模型上下文协议(MCP)服务器,使AI助手能够在macOS上创建和操作Microsoft Office文档(PowerPoint、Word和Excel)。这是一个概念验证和个人项目,并非官方的MCP服务器。如果有任何问题,请告知我。
LinkedIn: https://www.linkedin.com/in/bluhmadam/
pip install mcp
pip install python-pptx
pip install python-docx
pip install openpyxl
pip install aiofiles
克隆仓库
git clone https://github.com/vAirpower/macos-office365-mcp-server.git
cd macos-office365-mcp-server
安装依赖项
pip install -r requirements.txt
设置macOS权限
该服务器使用AppleScript来控制Office应用程序。您需要授予权限:
a. 打开 系统偏好设置 → 安全性与隐私 → 隐私 b. 在左侧边栏中选择 自动化 c. 查找您的终端应用(如 Terminal、iTerm2、VS Code 等) d. 勾选以下选项:
当首次运行服务器时,如果被提示,点击“好”以允许自动化。
将服务器添加到您的MCP客户端配置中:
编辑 ~/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 MCP设置:
{
"mcpServers": {
"office365": {
"command": "python",
"args": ["/path/to/macos-office365-mcp-server/src/office365_mcp_server.py"]
}
}
}
配置完成后,AI助手可以使用以下工具:
create_presentation - 创建新的演示文稿add_slide - 向演示文稿添加幻灯片add_text_to_slide - 向幻灯片添加文本内容add_image_to_slide - 向幻灯片添加图像add_speaker_notes - 向幻灯片添加演讲者备注save_presentation - 将演示文稿保存到文件create_document - 创建新的文档add_heading - 向文档添加标题add_paragraph - 向文档添加段落,可选格式化add_list - 向文档添加项目符号或编号列表add_table - 向文档添加带有数据的表格save_document - 将文档保存到文件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应用程序是否可用# AI助手可以执行:
result = await create_presentation(
title="Q4 销售报告",
theme="现代"
)
slide = await add_slide(
presentation_id=result["presentation_id"],
layout="标题和内容"
)
await add_text_to_slide(
slide_id=slide["slide_id"],
text="收入增长了25%",
placeholder="内容"
)
await save_presentation(
presentation_id=result["presentation_id"],
file_path="~/桌面/Q4_销售.pptx"
)
# AI助手可以执行:
doc = await create_document(title="项目提案")
await add_heading(
document_id=doc["document_id"],
text="执行摘要",
level=1
)
await add_paragraph(
document_id=[doc"document_id],
text="本提案概述了我们的方法论...",
formatting={"字体大小": 12, "字体名称": "Arial"}
)
await save_document(
document_id=doc["document_id"],
file_path="~/桌面/提案.docx"
)
# AI助手可以执行:
workbook = await create_workbook(title="销售分析")
# 添加数据
data = [
["产品", "Q1", "Q2", "Q3", "Q4"],
["笔记本电脑", 100, 150, 200, 180],
["平板电脑", 80, 90, 110, 120],
["手机", 200, 250, 300, 350]
]
await write_range(
workbook_id=workbook["workbook_id"],
sheet_name="Sheet1",
start_cell="A1",
data=data,
formatting={"粗体": True} # 加粗标题
)
# 添加公式
await add_formula(
workbook_id=workbook["workbook_id"],
sheet_name="Sheet1",
cell="F2",
formula="=SUM(B2:E2)"
)
# 创建图表
await create_chart(
workbook_id=workbook["workbook_id"],
sheet_name="Sheet1",
chart_type="条形图",
data_range="A1:E4",
chart_title="季度销售",
position="G2"
)
await save_workbook(
workbook_id=workbook["workbook_id"],
file_path="~/桌面/销售分析.xlsx"
)
如果您看到“未授权发送Apple事件”,请确保:
如果您看到导入错误:
pip install -r requirements.txtpython --version(应为3.8及以上)pip show mcp如果Office应用程序未被检测到:
macos-office365-mcp-server/
├── src/
│ ├── office365_mcp_server.py # 主MCP服务器
│ ├── controllers/
│ │ ├── powerpoint_controller.py
│ │ ├── word_controller.py
│ │ └── excel_controller.py
│ ├── integrations/
│ │ └── applescript_bridge.py # AppleScript自动化
│ └── utils/
│ ├── config.py
│ ├── logger.py
│ └── validators.py
├── requirements.txt
└── README.md
office365_mcp_server.py中注册新工具MIT许可证 - 详情见LICENSE文件
欢迎贡献!请:
对于问题和疑问: