Zoo MCP Server
Enables interaction with Zoo's CAD and 3D modeling APIs through natural language, including executing KCL code and accessing Zoo's design tools.
README
Zoo Model Context Protocol (MCP) Server
An MCP server housing various Zoo built utilities
<!-- mcp-name: io.github.KittyCAD/zoo-mcp -->
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"
Installation
-
uv venv -
Install 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-mcp
The server can be started locally by using uv and the zoo_mcp module
uv run -m zoo_mcp
The server can also be run with the mcp package
uv run mcp run src/zoo_mcp/server.py
Prebuilt 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_64
The 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.py
The 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.py
The server can also be tested using the MCP Inspector
uv run mcp dev src/zoo_mcp/server.py
For 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.sh
The 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 format
ty is used for type checking.
uvx ty check
Testing
The server includes tests located in tests. To run the tests, use the following command:
uv run pytest -n auto
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.