Skip to main content
Glama
Georges999

MeshLab-mcp

by Georges999

MeshLab-MCP

A minimal, extensible Model Context Protocol (MCP) bridge for MeshLab, using FastAPI (HTTP) and a custom TCP (JSON) backend for mesh operations via pymeshlab.


Features

  • HTTP API for MCP clients (web UIs, orchestrators) using FastAPI

  • TCP (JSON) backend to communicate with a MeshLab process (using pymeshlab)

  • Extensible: Add new mesh tools and protocol commands easily


Project Structure

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

Setup Instructions

  1. Clone the repository and cd into the directory.

  2. Install dependencies:

    pip install -r requirements.txt
  3. Add Python Scripts directory to PATH (if not already):

    • Example: C:\Users\<your-username>\AppData\Roaming\Python\Python313\Scripts\

    • Restart your terminal after changing PATH.

  4. Start the MeshLab TCP server (in a terminal):

    python meshlab_tcp_server.py
  5. Start the HTTP MCP server (in another terminal):

    python -m uvicorn mcp_server:app --reload

    If uvicorn is not recognized, use the full path or the python -m uvicorn ... form as above.

  6. Test with the HTTP client (optional):

    python mcp_client.py

    You should see output like:

    {'mesh_loaded': False, 'current_mesh_name': None}

MCP Client Configuration Example (for MeshLab integration)

To connect MeshLab (or an orchestrator) to this MCP server, use a configuration like:

{
  "mcpServers": {
    "meshlab": {
      "command": "uvx",
      "args": [
        "meshlab-mcp"
      ],
      "host": "127.0.0.1",
      "port": 8000
    }
  }
}
  • command: The command to launch your MCP HTTP server (e.g., uvx meshlab-mcp or python -m uvicorn mcp_server:app --reload)

  • host/port: Where the HTTP API is reachable.


How It Works

  • MCP clients (web UI, orchestrator) send HTTP requests to the FastAPI server.

  • The FastAPI server bridges these requests to the MeshLab TCP server (which runs mesh operations using pymeshlab).

  • The TCP server responds with JSON results.


Extending

  • Add new mesh tools/commands in meshlab_tcp_server.py and expose them in the protocol.

  • Add corresponding methods in meshlab_tcp_client.py and new HTTP endpoints in mcp_server.py.


Troubleshooting

  • If uvicorn is not recognized, ensure your Python Scripts directory is in PATH or use python -m uvicorn ....

  • Always start the TCP server before the HTTP server.

  • For mesh operations, ensure your mesh files are present in the working directory.


Next Steps

  • Start building new mesh tools and protocol commands!

  • For advanced integration with MeshLab's GUI or other tools, refer to MeshLab's documentation and MCP specs.


If you have questions or want to add new features, just ask!

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Georges999/MeshLab-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server