Zoo MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zoo MCP ServerCreate a 3D cube with side length 10mm using KCL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zoo Model Context Protocol (MCP) Server
An MCP server housing various Zoo built utilities
Prerequisites
An API key for Zoo, get one here
An environment variable
ZOO_API_TOKENset to your API keyexport ZOO_API_TOKEN="your_api_key_here"
Related MCP server: Fusion360 LLM Assistant
Installation
uv venvInstall the package from GitHub
uv pip install git+ssh://git@github.com/KittyCAD/mcp.git
Running the Server
The server can be started by using uvx
uvx zoo-mcpThe server can be started locally by using uv and the zoo_mcp module
uv run -m zoo_mcpThe server can also be run with the mcp package
uv run mcp run src/zoo_mcp/server.pyPrebuilt binaries
Each GitHub release also attaches standalone executables (built with PyInstaller) for Linux (x86_64, arm64), macOS (arm64, x86_64), and Windows (x86_64) — no Python toolchain required. Download the binary for your platform, set ZOO_API_TOKEN, and run it directly, e.g.:
ZOO_API_TOKEN="your_api_key_here" ./zoo-mcp-linux-x86_64The binaries are not code-signed, so macOS Gatekeeper and Windows SmartScreen may warn on first run.
Integrations
The server can be used as is by running the server or importing directly into your python code.
from zoo_mcp.server import mcp
mcp.run()Individual tools can be used in your own python code as well
from mcp.server.fastmcp import FastMCP
from zoo_mcp.zoo_tools import zoo_execute_kcl
mcp = FastMCP(name="My Example Server")
@mcp.tool()
async def my_execute_kcl(kcl_code: str) -> tuple[bool, str]:
"""
Example tool that uses the zoo_execute_kcl function from zoo_mcp.zoo_tools
"""
return await zoo_execute_kcl(kcl_code=kcl_code)The server can be integrated with Claude desktop using the following command
uv run mcp install src/zoo_mcp/server.pyThe server can also be integrated with Claude Code using the following command
claude mcp add --scope project "Zoo-MCP" uv -- --directory "$PWD"/src/zoo_mcp run server.pyThe server can also be tested using the MCP Inspector
uv run mcp dev src/zoo_mcp/server.pyFor running with codex-cli
codex \
-c 'mcp_servers.zoo.command="uvx"' \
-c 'mcp_servers.zoo.args=["zoo-mcp"]' \
-c mcp_servers.zoo.env.ZOO_API_TOKEN="$ZOO_API_TOKEN"You can also use the helper script included in this repo:
./codex-zoo.shThe script prompts for a request, runs Codex with the Zoo MCP server, and saves a JSONL transcript (including token usage) to codex-run-<timestamp>.jsonl.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository
PRs will need to pass tests and linting before being merged.
ruff is used for linting and formatting.
uvx ruff check
uvx ruff formatty is used for type checking.
uvx ty checkTesting
The server includes tests located in tests. To run the tests, use the following command:
uv run pytest -n autoMaintenance
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/KittyCAD/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server