visio_mcp_server
# Visio MCP 服务器 一个MCP服务器,通过标准化API提供用于程序化创建和编辑Microsoft Visio图表的工具。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"visio_mcp_server": {
"args": [
"--from",
"office-visio-mcp-server",
"visio_mcp_server"
],
"command": "uvx"
}
}
}
服务介绍
Visio MCP 服务器
一个通过标准化 API 提供工具以编程方式创建和编辑 Microsoft Visio 图表的 MCP 服务器。
概述
Visio MCP 服务器允许您使用 Python 自动化 Visio 图表的创建和编辑。它利用 Microsoft 的 COM 接口来控制 Visio,使您可以编程方式创建图表、添加形状、连接它们、添加文本等。
示例

要求
- Windows 操作系统
- 安装了 Microsoft Visio(专业版或标准版)
- Python 3.12+
- Python 包:
mcp.serverwin32com.client(pywin32)
安装
- 确保您的系统上已安装 Microsoft Visio
- 安装所需的 Python 包:
pip install pywin32
pip install mcp-server
- 克隆或下载此仓库
- 运行服务器:
python visio_mcp_server.py
功能
该服务器提供以下功能:
创建和打开文件
- 创建新的 Visio 图表
- 打开现有的 Visio 图表
形状管理
- 添加各种形状(矩形、圆形、线条等)
- 使用不同类型的连接器连接形状
- 向形状中添加文本
- 列出文档中的所有形状
文件操作
- 将文档保存到指定位置
- 将图表导出为图像
- 安全关闭文档
MCP 配置
选项 1:本地 Python 服务器
将服务器添加到您的 MCP 设置配置文件中:
{
"mcpServers": {
"ppt": {
"command": "python",
"args": ["/path/to/ppt_mcp_server.py"],
"env": {}
}
}
}
选项 2:使用 UVX(无需本地安装)
如果您已安装 uvx,则可以直接从 PyPI 运行服务器而无需本地安装:
{
"mcpServers": {
"ppt": {
"command": "uvx",
"args": [
"--from", "office-visio-mcp-server", "visio_mcp_server"
]
}
}
}
API 参考
创建 Visio 文件
创建一个新的 Visio 图表。
{
"template_path": "[optional] Path to Visio template (.vstx, .vst)",
"save_path": "[optional] Where to save the file"
}
示例:
{
"save_path": "C:\\Users\\YourUsername\\Documents\\MyDiagram.vsdx"
}
打开 Visio 文件
打开现有的 Visio 图表。
{
"file_path": "Path to the Visio file to open"
}
添加形状
向 Visio 图表中添加形状。
{
"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
}
连接形状
在 Visio 图表中连接两个形状。
{
"file_path": "Path to the Visio file",
"shape1_id": 1,
"shape2_id": 2,
"connector_type": "Dynamic, Straight, or Curved"
}
添加文本
向 Visio 图表中的形状添加文本。
{
"file_path": "Path to the Visio file",
"shape_id": 1,
"text": "Text to add to the shape"
}
列出形状
列出 Visio 图表中的所有形状。
{
"file_path": "Path to the Visio file"
}
使用示例
这是一个完整的流程示例:
- 创建一个新的 Visio 文件:
{
"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
}
- 获取形状 ID:
{
"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"
}
未来功能
计划在未来版本中实现以下功能:
增强的形状样式
- 颜色和填充图案自定义
- 线条粗细、样式和颜色选项
- 文本格式(字体、大小、对齐方式)
- 阴影和 3D 效果
高级 Visio 对象
- 支持图层和页面
- 组的创建和操作
- 容器管理
- 仅文本形状和标注
模板管理
- 访问模板库
- 创建自定义模板
- 收藏模板列表
批量操作
- 批量创建形状
- 大规模格式更改
- 从 CSV/JSON 数据源导入
自定义模板支持
- 加载自定义模板
- 创建和保存自定义模板
- 搜索模板形状
图表分析
- 形状关系分析
- 形状之间的路径查找
- 针对图表规则进行验证
导出选项
- 带有选项的 PDF 导出
- 用于网页的 SVG 导出
- 带有自定义分辨率的 PNG/JPG 导出
- 导出特定页面或部分
集成能力
- REST API 封装
- 用于图表更改的 Webhook 支持
- 版本控制集成
- CI/CD 流水线支持
无头操作
- 无可见 Visio UI 的服务器操作
- 后台图表处理
- 定时操作
故障排除
常见问题:
-
Visio 无法启动:
- 确保 Visio 已正确安装并且可以手动打开
- 检查您是否有足够的权限启动 COM 应用程序
-
找不到模板:- 如果未找到模板,服务器将创建一个空白图表
- 如有需要,请指定模板的绝对路径
-
无效的形状类型:
- 如果形状类型无法识别,服务器将默认使用矩形
- 检查形状名称的拼写和大小写
-
COM 错误:
- 手动重启 Visio 可能有助于解决 COM 接口问题
- 确保任务管理器中没有挂起的 Visio 进程
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。