The MCP server for AI like to automate Microsoft office applications like Word, Excel, Outlook, PowerPoint, Access, OneNote, Publisher, Visio, Project and also WPS .
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"OfficeMCP": {
"args": [
"officemcp"
],
"type": "stdio",
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'uv' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
uv is vulnerable to arbitrary file write through entry point names
### Impact In versions of uv prior to 0.11.15, when installing a distribution containing an entry point specification (under `console_scripts` or `gui_scripts`), uv would place the generated entry point according to the given name even if doing so resulted in a path outside of the environment's scripts directory. A malicious wheel could use this to place an executable outside of the intended environment, including in a directory already present on the user's `PATH`. This could shadow or overwr
uv vulnerable to arbitrary file deletion through RECORD entries
## Impact Wheel RECORD entries can contain relative paths that traverse outside of the wheel’s installation prefix. In versions 0.11.5 and earlier of uv, these wheels were not rejected on installation and the RECORD was respected without validation on uninstall. uv uses the RECORD to determine files to remove on uninstall. Consequently, a malicious or malformed wheel could induce deletion of arbitrary files outside of the wheel’s installation prefix on uninstall. uv does not use the RECORD fi
uv allows ZIP payload obfuscation through parsing differentials
### Impact In versions 0.9.5 and earlier of uv, ZIP archives were handled in a manner that enabled two parsing differentials against other components of the Python packaging ecosystem: 1. Central directory entries in a ZIP archive can contain comment fields. However, uv would assume that these fields were not present, since they aren't widely used. Consequently, a ZIP archive could be constructed where uv would interpret the contents of a central directory comment field as ZIP control structur
uv has differential in tar extraction with PAX headers
### Impact In versions 0.9.4 and earlier of uv, tar archives containing PAX headers with file size overrides were not handled properly. As a result, an attacker could contrive a source distribution (as a tar archive) that would extract differently when installed via uv versus other Python package installers. The underlying parsing differential here originates with astral-tokio-tar, which disclosed this vulnerability as CVE-2025-62518. In practice, the impact of this vulnerability is **low**:
uv allows ZIP payload obfuscation through parsing differentials
## Impact In versions 0.8.5 and earlier of uv, remote ZIP archives were handled in a streamwise fashion, and file entries were not reconciled against the archive's central directory. This enabled two parser differentials against other Python package installers: 1. An attacker could contrive a ZIP archive that would extract with legitimate contents on some package installers, and malicious contents on others due to multiple local file entries. The attacker could choose which installer to target
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
Official Notion MCP Server
MCP Security Weekly
Get CVE alerts and security updates for OfficeMCP and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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.
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.
Windows system
python 3.1 or above installed
uv installed open an shell window and run command
pip install uv
There are two ways or two modes to install OfficeMCP (They also can be used in the same time):
{
"mcpServers": {
"OfficeMCP": {
"type": "stdio",
"command": "uvx",
"args": [
"officemcp"
]
}
}
}
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
uvx officemcp sse --port 7777 --host 127.0.0.8 --folder D:\myfolder
"url" will be : "http://127.0.0.8:7777/sse"
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"
}
}
}
{
"servers": {
"OfficeMCP": {
"url": "http://{your_host}:{your_port}/sse"
}
}
}
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:
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.