Georges999/MeshLab-mcp
If you are the rightful owner of MeshLab-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MeshLab-MCP is a minimal, extensible Model Context Protocol (MCP) bridge for MeshLab, utilizing FastAPI for HTTP communication and a custom TCP backend for mesh operations via `pymeshlab`.
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
-
Clone the repository and
cd
into the directory. -
Install dependencies:
pip install -r requirements.txt
-
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.
- Example:
-
Start the MeshLab TCP server (in a terminal):
python meshlab_tcp_server.py
-
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 thepython -m uvicorn ...
form as above. -
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
orpython -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 inmcp_server.py
.
Troubleshooting
- If
uvicorn
is not recognized, ensure your Python Scripts directory is in PATH or usepython -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!