返回市场
<中文翻译>
办公Visio MCP服务器

<中文翻译> 办公Visio MCP服务器

作者:GongRzhe24 星标更新:2025-05-14

项目介绍

Visio MCP Server

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

概述

Visio MCP Server 允许您使用Python自动化Visio图表的创建和编辑。它利用Microsoft的COM接口来控制Visio,使您可以编程地创建图表、添加形状、连接它们、添加文本等。

示例

演示

要求

  • Windows操作系统
  • 安装了Microsoft Visio(专业版或标准版)
  • Python 3.12+
  • Python包:
    • mcp.server
    • win32com.client (pywin32)

安装

  1. 确保您的系统上已安装Microsoft Visio
  2. 安装所需的Python包:
pip install pywin32
pip install mcp-server
  1. 克隆或下载此仓库
  2. 运行服务器:
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": "[可选] Visio模板的路径(.vstx, .vst)",
  "save_path": "[可选] 保存文件的位置"
}

示例:

{
  "save_path": "C:\\Users\\YourUsername\\Documents\\MyDiagram.vsdx"
}

打开Visio文件

打开现有的Visio图表。

{
  "file_path": "要打开的Visio文件的路径"
}

添加形状

向Visio图表中添加一个形状。

{
  "file_path": "Visio文件的路径",
  "shape_type": "形状类型(矩形、圆形、线等)",
  "x": 1.0,
  "y": 1.0,
  "width": 1.0,
  "height": 1.0
}

连接形状

连接Visio图表中的两个形状。

{
  "file_path": "Visio文件的路径",
  "shape1_id": 1,
  "shape2_id": 2,
  "connector_type": "动态、直线或曲线"
}

添加文本

向Visio图表中的形状添加文本。

{
  "file_path": "Visio文件的路径",
  "shape_id": 1,
  "text": "要添加到形状的文本"
}

列出形状

列出Visio图表中的所有形状。

{
  "file_path": "Visio文件的路径"
}

使用示例

这里是一个完整的流程示例:

  1. 创建一个新的Visio文件:
{
  "save_path": "C:\\Diagrams\\FlowChart.vsdx"
}
  1. 添加一个矩形形状:
{
  "file_path": "C:\\Diagrams\\FlowChart.vsdx",
  "shape_type": "Rectangle",
  "x": 2.0,
  "y": 2.0,
  "width": 1.5,
  "height": 1.0
}
  1. 添加另一个形状:
{
  "file_path": "C:\\Diagrams\\FlowChart.vsdx",
  "shape_type": "Circle",
  "x": 5.0,
  "y": 2.0,
  "width": 1.0,
  "height": 1.0
}
  1. 获取形状ID:
{
  "file_path": "C:\\Diagrams\\FlowChart.vsdx"
}
  1. 连接形状:
{
  "file_path": "C:\\Diagrams\\FlowChart.vsdx",
  "shape1_id": 1,
  "shape2_id": 2,
  "connector_type": "Straight"
}
  1. 向形状添加文本:
{
  "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界面的服务器操作
  • 后台图表处理
  • 定时操作

故障排除

常见问题:

  1. Visio未启动

    • 确保Visio正确安装并且可以手动打开
    • 检查是否有足够的权限启动COM应用程序
  2. 模板未找到

    • 如果找不到模板,服务器将创建一个空白图表
    • 如需指定,请提供模板的绝对路径
  3. 无效的形状类型

    • 如果形状类型不被识别,服务器将默认为矩形
    • 检查形状名称的拼写和大小写
  4. COM错误

    • 手动重启Visio可能有助于解决COM接口问题
    • 确保任务管理器中没有挂起的Visio进程

许可证

该项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。