返回市场
办公MCP

办公MCP

作者:OfficeMCP31 星标更新:2025-05-29

项目介绍

<div align="center"> <!-- omit in toc -->

OfficeMCP v1.0.5

<strong>>通过AI模型控制Microsoft应用程序的最可见且免费的方式。</strong>

PyPI - 版本

</div>

OfficeMCP

OfficeMCP服务器旨在通过Windows操作系统中的COM接口实现对Microsoft Office应用程序(如Word、Excel、PowerPoint、Access、OneNote、Visio、Project、WPS.word、Wps.powerpoint、wps.excel等)的自动化。不支持Linux/MacOS。

警告

请注意,OfficeMCP不限制Python的使用,特别是有一个工具RunPython(...)可以执行由AI模型创建的Python代码。但这也是OfficeMCP最神奇的部分。我们无法保证您的AI模型不会对您的计算机造成损害。我们不承担任何责任。

系统要求

  1. Windows系统

  2. 安装了Python 3.1或更高版本

  3. 安装了uv 打开一个shell窗口并运行命令

    pip install uv

如何安装OfficeMCP

有两种方式或两种模式来安装OfficeMCP(它们也可以同时使用):

1. 将OfficeMCP作为标准I/O服务器使用:

  • 每个mcp客户端模式对应一个OfficeMCP服务器
  • 将以下设置添加到vscode的MCP.json文件或其他AI IDE的适当位置:
{
    "mcpServers": {
        "OfficeMCP": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "officemcp"
            ]
        }
    }
}

2. 将OfficeMCP作为SSE服务器使用:

  • 多个mcp客户端模式对应一个OfficeMCP服务器
  • 您可以根据需要更改端口和主机
  • 这是推荐的使用OfficeMCP服务器的方式。

第一步:

在shell或powershell中运行一个命令:

uvx officemcp sse

Mcp服务器URL将是:"http://127.0.0.1:8888/sse" 或 "http://127.0.0.1:8888/sse" 默认工作文件夹是D:@officemcp

或类似如下:

uvx officemcp sse --port 7777 --host 127.0.0.8 --folder D:\myfolder

"URL"将是:"http://127.0.0.8:7777/sse"

第二步:

将以下设置添加到vscode的MCP.json文件或其他AI IDE的适当位置:

{
    "servers": {
        "OfficeMCP": {
            "url": "http://127.0.0.1:8888/sse"
        }
    }
}

{
    "servers": {
        "OfficeMCP": {
            "url": "http://{your_host}:{your_port}/sse"
        }
    }
}

使用方法

在AI IDE中,您可以请求AI模型通过OfficeMCP服务器控制Office应用程序:

  • 请求AI模型打开一个新的Office应用程序。 AI模型会向OfficeMCP服务器发送请求,OfficeMCP服务器会打开一个新的Office应用程序。

  • 请求AI模型在当前Office应用程序中执行您想要的操作。 AI模型会分析您的请求,并调用OfficeMCP服务器的工具来完成您的请求。

工具参考

工具:

  • AvailableApps():检查您的计算机上是否安装了Microsoft Office应用程序。

  • RunningApps():获取当前正在运行的Office应用程序列表。

  • IsAppAvailable(...):检查特定的Office应用程序是否已安装。

  • Launch(...):启动新的Office应用程序并设置其可见性。

  • Visible(...):将指定的Office应用程序的可见性设置为True或False。

  • Quit(...):退出指定的Office应用程序。

  • Demonstrate():运行OfficeMCP自动化功能的演示。

  • Speak(...):播放传入字符串的声音。

  • Beep(...):播放蜂鸣声。

  • DefaultFolder(...):返回OfficeMCP根工作文件夹,默认为("D:\OfficeMCP")。

  • IsFileExists(sub_path):检查OfficeMCP根文件夹中是否存在某个文件。

  • DownloadImage(...):从给定的URL下载图像并保存到指定路径。

  • RunPython(codes,data):在OfficeMCP服务器上下文中运行Python代码。

    • 这是OfficeMCP服务器中最强大的工具。AI可以使用此工具执行服务器支持的所有操作,包括自动化Office应用程序。
    • 在Python代码中可以使用对象"Officer",例如Officer.Excel持有当前的Excel COM应用程序,还有更多如Officer.Word, Officer.Powerpoint, Office.Visio, Officer.Access, Officer.OneNote, Officer.Visio, Officer.Project. Office.Kwps用于WPS word, Office.Ket用于WPS excel, Office.Kwpp用于WPS powerpoint。
    • 在Python代码中可以使用对象"output"作为RunPython(...)的返回值,将您自己的返回结果放入output中,例如output="run python sccessed",则RunPython返回"run python sccessed"给AI模型。
    • 您可以使用Officer.Visio创建一个新的Visio文档,然后使用Officer.Visio.ActivePage获取活动页面,并使用Officer.Visio.ActivePage.DrawRectangle(...)在页面上绘制矩形。
    • 您可以使用Officer.Excel创建一个新的Excel文档,然后使用Officer.Excel.ActiveSheet获取活动工作表,并使用Officer.Excel.ActiveSheet.Cells(...)获取单元格,并使用Officer.Excel.ActiveSheet.Cells(...).Value = "hello"设置单元格值。
    • 您可以通过运行代码使用RunPython工具来控制它们。
  • 将在未来添加更多工具。

开发

git clone https://github.com/officemcp/officemcp