返回市场
网格实验室-MCP

网格实验室-MCP

作者:Georges9992 星标更新:2025-06-06

项目介绍

MeshLab-MCP

一个用于MeshLab的最小且可扩展的模型上下文协议(MCP)桥接器,使用FastAPI(HTTP)和自定义的TCP(JSON)后端通过pymeshlab进行网格操作。


功能

  • 使用FastAPI的HTTP API供MCP客户端(Web UI、编排器)使用
  • 使用pymeshlab与MeshLab进程通信的TCP(JSON)后端
  • 可扩展性:轻松添加新的网格工具和协议命令

项目结构

MeshLab-mcp/
├── meshlab_tcp_server.py   # 包装pymeshlab的TCP服务器
├── meshlab_tcp_client.py   # 用于服务器通信的TCP客户端
├── meshlab_mcp.py          # 核心MCP协议逻辑(可扩展)
├── mcp_server.py           # FastAPI HTTP服务器(入口点)
├── mcp_client.py           # 测试用的HTTP客户端
├── requirements.txt
└── README.md

安装指南

  1. 克隆仓库并进入目录。
  2. 安装依赖项
    pip install -r requirements.txt
    
  3. 将Python脚本目录添加到PATH中(如果尚未添加):
    • 示例:C:\Users\<your-username>\AppData\Roaming\Python\Python313\Scripts\
    • 更改PATH后重启终端。
  4. 启动MeshLab TCP服务器(在终端中):
    python meshlab_tcp_server.py
    
  5. 启动HTTP MCP服务器(在另一个终端中):
    python -m uvicorn mcp_server:app --reload
    

    如果uvicorn未被识别,请使用完整路径或如上所示的python -m uvicorn ...形式。

  6. 使用HTTP客户端测试(可选):
    python mcp_client.py
    
    您应该看到如下输出:
    {'mesh_loaded': False, 'current_mesh_name': None}
    

MCP客户端配置示例(用于MeshLab集成)

要连接MeshLab(或编排器)到此MCP服务器,可以使用如下配置:

{
  "mcpServers": {
    "meshlab": {
      "command": "uvx",
      "args": [
        "meshlab-mcp"
      ],
      "host": "1172.16.31.10",
      "port": 8000
    }
  }
}
  • command:启动您的MCP HTTP服务器的命令(例如,uvx meshlab-mcppython -m uvicorn mcp_server:app --reload
  • host/port:HTTP API可达的位置。

工作原理

  • MCP客户端(Web UI、编排器)向FastAPI服务器发送HTTP请求。
  • FastAPI服务器将这些请求转发给运行网格操作的MeshLab TCP服务器(使用pymeshlab)。
  • TCP服务器以JSON结果响应。

扩展

  • meshlab_tcp_server.py中添加新的网格工具/命令,并在协议中公开它们。
  • meshlab_tcp_client.py中添加相应的方法,并在mcp_server.py中添加新的HTTP端点。

故障排除

  • 如果uvicorn未被识别,请确保您的Python脚本目录已添加到PATH中,或使用python -m uvicorn ...
  • 总是先启动TCP服务器,然后再启动HTTP服务器。
  • 对于网格操作,请确保工作目录中有网格文件。

下一步

  • 开始构建新的网格工具和协议命令!
  • 对于与MeshLab GUI或其他工具的高级集成,请参阅MeshLab文档和MCP规范。

如果您有任何问题或想要添加新功能,请随时提问!