by GongRzhe
A Model Context Protocol (MCP) server for creating, reading, and manipulating Microsoft Visio documents programmatically.
Office-Visio-MCP-Server is a Model Context Protocol (MCP) server that provides tools for creating and editing Microsoft Visio diagrams programmatically via a standardized API. It leverages Microsoft's COM interface to control Visio, enabling automation of diagram creation and editing using Python.
To use Office-Visio-MCP-Server, you need a Windows operating system, Microsoft Visio (Professional or Standard) installed, Python 3.12+, and the mcp.server
and win32com.client
(pywin32) Python packages.
Installation:
pip install pywin32 mcp-server
.python visio_mcp_server.py
.MCP Configuration:
python /path/to/ppt_mcp_server.py
.uvx
is installed, run the server directly from PyPI without local installation using uvx --from office-visio-mcp-server visio_mcp_server
.API Usage: Interact with the server via JSON requests to perform actions like creating/opening files, adding/connecting shapes, adding text, and listing shapes. Examples are provided in the documentation for each API endpoint.
Q: What are the system requirements?
A: Windows operating system, Microsoft Visio (Professional or Standard) installed, Python 3.12+, and specific Python packages (mcp.server
, win32com.client
).
Q: What if Visio is not launching? A: Ensure Visio is correctly installed and can be opened manually. Check for sufficient permissions and restart Visio if necessary.
Q: What happens if a template is not found? A: The server will create a blank diagram. You can specify an absolute path to a template.
Q: How are invalid shape types handled? A: If a shape type is not recognized, the server will default to a rectangle. Check spelling and case of shape names.
Q: How to resolve COM errors? A: Restarting Visio manually may help. Ensure no existing Visio processes are hanging in Task Manager.
A MCP server that provides tools for creating and editing Microsoft Visio diagrams programmatically via a standardized API.
Visio MCP Server allows you to automate Visio diagram creation and editing using Python. It leverages Microsoft's COM interface to control Visio, enabling you to programmatically create diagrams, add shapes, connect them, add text, and more.
mcp.server
win32com.client
(pywin32)pip install pywin32
pip install mcp-server
python visio_mcp_server.py
The server provides the following functionality:
Add the server to your MCP settings configuration file:
{
"mcpServers": {
"ppt": {
"command": "python",
"args": ["/path/to/ppt_mcp_server.py"],
"env": {}
}
}
}
If you have uvx
installed, you can run the server directly from PyPI without local installation:
{
"mcpServers": {
"ppt": {
"command": "uvx",
"args": [
"--from", "office-visio-mcp-server", "visio_mcp_server"
]
}
}
}
Creates a new Visio diagram.
{
"template_path": "[optional] Path to Visio template (.vstx, .vst)",
"save_path": "[optional] Where to save the file"
}
Example:
{
"save_path": "C:\\Users\\YourUsername\\Documents\\MyDiagram.vsdx"
}
Opens an existing Visio diagram.
{
"file_path": "Path to the Visio file to open"
}
Adds a shape to a Visio diagram.
{
"file_path": "Path to the Visio file",
"shape_type": "Type of shape (Rectangle, Circle, Line, etc.)",
"x": 1.0,
"y": 1.0,
"width": 1.0,
"height": 1.0
}
Connects two shapes in a Visio diagram.
{
"file_path": "Path to the Visio file",
"shape1_id": 1,
"shape2_id": 2,
"connector_type": "Dynamic, Straight, or Curved"
}
Adds text to a shape in a Visio diagram.
{
"file_path": "Path to the Visio file",
"shape_id": 1,
"text": "Text to add to the shape"
}
Lists all shapes in a Visio diagram.
{
"file_path": "Path to the Visio file"
}
Here's a complete workflow example:
{
"save_path": "C:\\Diagrams\\FlowChart.vsdx"
}
{
"file_path": "C:\\Diagrams\\FlowChart.vsdx",
"shape_type": "Rectangle",
"x": 2.0,
"y": 2.0,
"width": 1.5,
"height": 1.0
}
{
"file_path": "C:\\Diagrams\\FlowChart.vsdx",
"shape_type": "Circle",
"x": 5.0,
"y": 2.0,
"width": 1.0,
"height": 1.0
}
{
"file_path": "C:\\Diagrams\\FlowChart.vsdx"
}
{
"file_path": "C:\\Diagrams\\FlowChart.vsdx",
"shape1_id": 1,
"shape2_id": 2,
"connector_type": "Straight"
}
{
"file_path": "C:\\Diagrams\\FlowChart.vsdx",
"shape_id": 1,
"text": "Start"
}
The following features are planned for future releases:
Visio Not Launching:
Template Not Found:
Invalid Shape Type:
COM Errors:
This project is licensed under the MIT License - see the LICENSE file for details.
Please log in to share your review and rating for this MCP.