Visio MCP服务器
一种MCP服务器,提供通过标准化API以编程方式创建和编辑Microsoft Visio图表的工具。

概述
Visio MCP Server允许您使用Python自动创建和编辑Visio图表。它利用Microsoft的COM接口来控制Visio,使您能够以编程方式创建图表、添加形状、连接它们、添加文本等。
示例
需求
- Windows操作系统
- 已安装Microsoft Visio(专业版或标准版)
- Python 3.12+
- Python包:
- mcp.server - win32com.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导出以供web使用
- PNG/JPG,具有自定义分辨率
- 导出特定页面或部分
集成能力
- REST API包装
- 对图表更改的Webhook支持
- 版本控制集成
- CI/CD管道支持
无头操作
- 没有可见Visio UI的服务器操作
- 背景图处理
- 预定操作
故障排除
常见问题:
- Visio未启动:
- 确保Visio已正确安装并且可以手动打开 - 检查您是否有足够的权限启动COM应用程序
- 找不到模板:
- 如果找不到模板,服务器将创建一个空白图表 - 如果需要,指定模板的绝对路径
- 形状类型无效:
- 如果无法识别形状类型,服务器将默认为矩形 - 检查形状名称的拼写和大小写
- COM错误:
- 手动重新启动Visio可能有助于解决COM接口问题 - 确保任务管理器中没有挂起现有的Visio进程
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
