v

visio_mcp_server

ooopos/visio_mcp_server
4 Stars 376 次浏览 更新于 2026-08-23

# 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.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": "[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"

}

使用示例

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

  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 UI 的服务器操作
  • 后台图表处理
  • 定时操作

故障排除

常见问题:

  1. Visio 无法启动

    • 确保 Visio 已正确安装并且可以手动打开
    • 检查您是否有足够的权限启动 COM 应用程序
  2. 找不到模板:- 如果未找到模板,服务器将创建一个空白图表

  • 如有需要,请指定模板的绝对路径
  1. 无效的形状类型:

    • 如果形状类型无法识别,服务器将默认使用矩形
    • 检查形状名称的拼写和大小写
  2. COM 错误:

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

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

相关 MCP 服务