OfficeMCP

OfficeMCP

A server that allows AI models to automate Microsoft Office applications (Word, Excel, PowerPoint, etc.) through COM interface on Windows, enabling natural language control of Office functions.

Category
Visit Server

README

<div align="center">

<!-- omit in toc -->

OfficeMCP v1.0.5

<strong>>The most seeable and free way to control Microsof applications by AI model.</strong>

PyPI - Version

</div>

OfficeMCP

OfficeMCP server is designed for AI to automate Microsoft Office Applications (Word, Excel, PowerPoint, Access, OneNote, Visio, Project, WPS.word, Wps.powerpoint, wps.excel etc.) by COM interface in Windows OS. Not working on Linux/MacOS.

Warns

Please keep it in mind, as OfficeMCP not limit the usage of python. epeciall there's a tool RunPython(...) to execute python codes created by Ai model. But it is also the most wonderfull parts of OfficeMCP. we can't guarantee that your AI model will not do something bad to your computer. we don't take any responsibility.

System Requirements

  1. Windows system

  2. python 3.1 or above installed

  3. uv installed open an shell window and run command

    pip install uv

How to install OfficeMCP

There are two ways or two modes to install OfficeMCP (They also can be used in the same time):

1. Use OfficeMCP as stdio server:

  • One OfficeMCP server for one mcp client mode
  • Put following setting to MCP.json file for vscode or some proper place for other AI IDE:
{
    "mcpServers": {
        "OfficeMCP": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "officemcp"
            ]
        }
    }
}

2. Use OfficeMCP as sse server:

  • One OfficeMCP server for multi mcp client mode
  • You can change port and host as you like
  • This is recommended way to use OfficeMCP server.

step 1:

Run one command in shell or power shell:

uvx officemcp sse

the Mcp server url will be: "http://127.0.0.1:8888/sse" or "http://127.0.0.1:8888/sse" the default work folder is D:@officemcp

or something like below

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

"url" will be : "http://127.0.0.8:7777/sse"

step 2:

Put following setting to MCP.json file for vscode or some proper place for other AI IDE:

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

or

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

Usage

On AI IDE, you can ask AI model to control Office Applications by OfficeMCP server:

  • You ask AI model to open a new Office Application. AI model will send a request to OfficeMCP server, and OfficeMCP server will open a new Office Application.

  • You ask AI model to do whatever you want to do in the current Office Application. AI model will analyze your request, and call OfficeMCP server's tool to accomplish your request.

Tools Reference

Tools:

  • AvailableApps(): check if Microsoft Office applications are installed on your computer.

  • RunningApps(): get a list of currently running Office applications.

  • IsAppAvailable(...): check if a specific Office application is installed.

  • Launch(...): launch a new Office application and set its visibility.

  • Visible(...): set the specified Office application's visibility to True or False.

  • Quit(...): quit the specified Office application.

  • Demonstrate(): run a demonstration of OfficeMCP automation features.

  • Speak(...): speak a string you passed in.

  • Beep(...): play a beep sound.

  • DefaultFolder(...): return the OfficeMCP root work folder default is ("D:\OfficeMCP")

  • IsFileExists(sub_path): check if a file exists in the OfficeMCP root folder.

  • DownloadImage(...): download an image from a given URL and save it to the specified path.

  • RunPython(codes,data): run python code in the OfficeMCP server context.

    • This is the most powerful tool in OfficeMCP server. AI can use this tool to do anything supported by the server, including automating Office applications.
    • There is an object "Officer" that can be used in the python code, e.g. Officer.Excel holds the current Excel com Application, and more are Officer.Word, Officer.Powerpoint, Office.Visio, Officer.Access, Officer.OneNote, Officer.Visio, Officer.Project. Office.Kwps for WPS word, Office.Ket for WPS excell, Office.Kwpp for WPS powerpoint.
    • There is an object "output" as RunPython(...) return that can be used in the python code, to put your own return result in to output, like output="run python sccessed", then RunPython return "run python sccessed" to AI model.
    • You can use Officer.Visio to create a new Visio document, and then use Officer.Visio.ActivePage to get the active page, and use Officer.Visio.ActivePage.DrawRectangle(...) to draw a rectangle on the page.
    • You can use Officer.Excel to create a new Excel document, and then use Officer.Excel.ActiveSheet to get the active sheet, and use Officer.Excel.ActiveSheet.Cells(...) to get the cell, and use Officer.Excel.ActiveSheet.Cells(...).Value = "hello" to set the cell value.
    • You use codes to control them by running the codes with RunPython tool.
  • More tools will be added in the future.

Development

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured