MeshLab模型协议桥接器

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

  • by Georges999
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 Georges999/MeshLab-mcp

使用说明

MeshLab MCP

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


特性

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

项目结构

MeshLab-mcp/
├── meshlab_tcp_server.py   # TCP server wrapping pymeshlab
├── meshlab_tcp_client.py   # TCP client for server communication
├── meshlab_mcp.py          # Core MCP protocol logic (extensible)
├── mcp_server.py           # FastAPI HTTP server (entrypoint)
├── mcp_client.py           # HTTP client for testing
├── requirements.txt
└── README.md

安装说明

  1. 克隆存储库 和 cd 进入目录。

  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": "127.0.0.1",
      "port": 8000
    }
  }
}
  • command:启动MCP HTTP服务器的命令(例如。, uvx meshlab-mcp 或 python -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 以及新的HTTP端点 mcp_server.py.

故障排除

  • 如果 uvicorn 无法识别,请确保您的Python脚本目录在PATH中或使用 python -m uvicorn ....
  • 始终在启动HTTP服务器之前启动TCP服务器。
  • 对于网格操作,请确保网格文件存在于工作目录中。

后续步骤

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

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