Zoo integration
Zoo (formerly KittyCAD) is a CAD platform API. Convert CAD files between formats (STEP, STL, glTF, OBJ, FBX, PLY and more) and compute a part's mass, volume, density, surface area, center of mass or bounding box; follow long jobs with get_async_operation; manage your CAD projects, versions, libraries and share links; browse and vote on public community projects; read text-to-CAD parts, Zookeeper conversations and KCL code completions; convert engineering units; manage your org, members, datasets, custom ML models, privacy settings and shortlinks; read API call history, balances, invoices, payment methods and subscriptions. File conversion, file analysis and KCL completion are billed per use. Not exposed: sign-in, OAuth and SAML set-up, API token and service account management (they return secrets), creating or changing payment details or subscriptions, deleting your account, multipart project uploads and the websocket (engine, copilot) endpoints. Authentication is a Zoo API token sent as a Bearer token (create one in your Zoo account settings).
Say what should happen.
The workflow builds itself.
What you can do with Zoo
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Dataset, 5 operations
create_org_datasetCreate org datasetPOSTRegisters a storage location (an S3 bucket via an IAM role, or a Zoo-managed store) as an org dataset; Zoo then converts its CAD files to KCL. Apply get_dataset_s3_policies first for S3.delete_org_datasetDelete org datasetDELETEDeletes a dataset owned by your org. This cannot be undone.get_org_datasetGet org datasetGETReturns one org dataset: name, status, storage provider, source URI, access role ARN and last sync error.list_org_datasetsList org datasetsGETLists your org's datasets (registered CAD file stores Zoo converts to KCL): name, status, storage provider, source URI and last sync error.update_org_datasetUpdate org datasetPUTUpdates an org dataset: name, description, the similarity-score rule or its storage connection. Leave a field out to keep it; create a new dataset rather than repoint one to another bucket.
Member, 5 operations
add_org_memberAdd org memberPOSTAdds a user to your org by email with role admin or member (requires an org admin). Creates the user if needed and Zoo emails them that they were added.get_org_memberGet org memberGETReturns one member of your org (requires an org admin): name, email, phone, role. Personal data.list_org_membersList org membersGETLists your org's members (requires an org admin): name, email, phone, role and profile handles. Personal data.remove_org_memberRemove org memberDELETERemoves a member from your org (requires an org admin). Their user account is kept.update_org_memberUpdate org memberPUTChanges a member's role in your org to admin or member (requires an org admin).
Shortlink, 5 operations
create_user_shortlinkCreate user shortlinkPOSTCreates a shortlink to a URL and returns its key and short URL. Anyone with the link can open it unless restrict_to_org is true or a password is set.delete_user_shortlinkDelete user shortlinkDELETEDeletes one of your shortlinks; the short URL stops working.list_org_shortlinksList org shortlinksGETLists your org's shortlinks: key, target URL, whether restricted to the org and timestamps.list_user_shortlinksList user shortlinksGETLists your shortlinks: key, target URL, whether restricted to your org and timestamps.update_user_shortlinkUpdate user shortlinkPUTChanges the restrict_to_org setting (and, if your plan allows, the password) of one of your shortlinks. Returns nothing on success.
Api call, 4 operations
get_org_api_callGet org api callGETReturns one API call of your org (requires an org admin): endpoint, method, status, timing, price and the caller's email and IP address.get_user_api_callGet user api callGETReturns one API call of the authenticated user: endpoint, method, status code, duration, billed time, price, IP address and user agent.list_org_api_callsList org api callsGETLists the API calls made by your org's members, newest first (requires an org admin): endpoint, method, status code, duration, price and the caller's email and IP address.list_user_api_callsList user api callsGETLists the authenticated user's API calls, newest first: endpoint, method, status code, duration, billed minutes and price, IP address and user agent.
Conversion, 4 operations
convert_cad_fileConvert cad filePOSTConverts an uploaded CAD file to another format with default options; the converted files come back base64 encoded in outputs (path to content). Billed per use; over 25 MB it runs async: poll get_async_operation with the id.get_dataset_conversionGet dataset conversionGETReturns one dataset conversion in full: file path, status, phase, the latest KCL output, raw and refined KCL with similarity scores, and snapshot images.list_dataset_conversionsList dataset conversionsGETLists the file conversions of an org dataset (summaries with status and phase; no KCL output). Filter with filter (for example status:success), q (id or path) or phase.search_dataset_conversionsSearch dataset conversionsGETSearches the conversions of an org dataset by exact conversion id or fuzzy file path (q).
Job, 4 operations
get_org_factory_jobGet org factory jobGETReturns one Factory (manufacturing) job owned by your org, with its current customer-visible specifications.get_user_factory_jobGet user factory jobGETReturns one of your personal Factory (manufacturing) jobs and its current customer-visible specifications.list_org_factory_jobsList org factory jobsGETLists your org's Factory (manufacturing) jobs: status, part, material, finish and quantity.list_user_factory_jobsList user factory jobsGETLists your personal Factory (manufacturing) jobs, archived ones included; jobs owned by your org are listed by list_org_factory_jobs.
Org, 4 operations
create_orgCreate orgPOSTCreates an org for the authenticated user, who must not already belong to one, and makes them its admin.get_orgGet orgGETReturns your org (requires an org admin): name, domain, billing email, phone, auto-join setting and Stripe customer id.get_user_orgGet user orgGETReturns the org the authenticated user belongs to and their role in it (name, domain, billing email, phone).update_orgUpdate orgPUTUpdates your org (requires an org admin): name, domain, image, billing email, phone, domain auto-join. Zoo does not say whether omitted fields are kept: read get_org first and send unchanged values back.
Privacy, 4 operations
get_org_privacy_settingsGet org privacy settingsGETReturns your org's privacy setting can_train_on_data (whether Zoo may train on its data; it overrides members' own settings).get_user_privacy_settingsGet user privacy settingsGETReturns your privacy setting can_train_on_data (whether Zoo may train on your data; your org setting wins if you belong to one).update_org_privacy_settingsUpdate org privacy settingsPUTSets whether Zoo may train on your org's data (can_train_on_data); the org setting overrides members' own (requires an org admin).update_user_privacy_settingsUpdate user privacy settingsPUTSets whether Zoo may train on your data (can_train_on_data); your org setting wins if you belong to one.
Project, 4 operations
delete_projectDelete projectDELETEDeletes one of your projects. This cannot be undone.get_projectGet projectGETReturns one of your projects with its file list (path, size, role), access settings, publication status and current revision.list_library_projectsList library projectsGETLists the projects in a project library, newest first.list_projectsList projectsGETLists the authenticated user's CAD projects: title, description, library, access settings, publication status and preview URL. scope and unassigned narrow the list.
Project library, 4 operations
create_project_libraryCreate project libraryPOSTCreates a project library, personal or owned by your active org.delete_project_libraryDelete project libraryDELETEDeletes an empty project library (it must hold no project).list_project_librariesList project librariesGETLists your personal project libraries and those of your active org (name, owner, project count).rename_project_libraryRename project libraryPATCHRenames a project library owned by you or your active org.
Download, 3 operations
download_projectDownload projectGETDownloads one of your projects (all its files) as a tar (default) or zip archive file.download_project_versionDownload project versionGETDownloads the files of one saved project version as a tar (default) or zip archive file.download_public_projectDownload public projectGETDownloads a published community project as a tar (default) or zip archive file.
Model, 3 operations
create_custom_modelCreate custom modelPOSTCreates a custom ML model for your org, backed by one or more org datasets (at least one conversion succeeded and none still queued). Requires an org admin.get_custom_modelGet custom modelGETReturns a custom ML model of your org: name, system prompt and timestamps.update_custom_modelUpdate custom modelPUTUpdates the name or system prompt of a custom ML model owned by your org (the only fields that can change).
Share link, 3 operations
create_project_share_linkCreate project share linkPOSTCreates a share link for one of your projects and returns its URL. access_mode anyone_with_link makes the project viewable by anyone holding the link.delete_project_share_linkDelete project share linkDELETEDeletes a share link of one of your projects; its URL stops working.list_project_share_linksList project share linksGETLists the share links of one of your projects: key, URL, access mode and timestamps.
Text to cad, 3 operations
get_text_to_cad_partGet text to cad partGETReturns one text-to-CAD part of the authenticated user: prompt, status, generated KCL code and the model outputs (base64 by file path).list_text_to_cad_partsList text to cad partsGETLists the text-to-CAD parts the authenticated user generated, newest first. Each item carries its prompt, status and outputs (the STEP file and requested format, base64); set no_parts=true for metadata only.rate_text_to_cad_partRate text to cad partPOSTRecords your feedback on a text-to-CAD part you own: thumbs_up, thumbs_down, accepted or rejected. Returns nothing on success.
Thumbnail, 3 operations
get_project_thumbnailGet project thumbnailGETReturns the current preview image file of one of your projects.get_project_version_thumbnailGet project version thumbnailGETReturns the preview image file of one saved project version.get_public_project_thumbnailGet public project thumbnailGETReturns the preview image file of a published community project.
Balance, 2 operations
get_org_balanceGet org balanceGETReturns your org's credit balance: monthly and stable API credits left (and their value), amount due and when monthly credits refresh.get_user_balanceGet user balanceGETReturns your credit balance: monthly and stable API credits left (and their value), amount due and when monthly credits refresh.
Invoice, 2 operations
list_org_invoicesList org invoicesGETLists your org's invoices (requires an org admin): number, status, amounts, dates, PDF and hosted invoice URLs.list_user_invoicesList user invoicesGETLists your invoices: number, status, amounts, dates, PDF and hosted invoice URLs.
Mass, 2 operations
calculate_file_massCalculate file massPOSTComputes the mass of the object in an uploaded CAD file from the material density you give. Billed per use; a file over 25 MB returns a pending status: then poll get_async_operation with the id.convert_mass_unitsConvert mass unitsGETConverts a mass value from input_unit to output_unit (g, kg, lb) and returns the result in output. Free of usage charges; needs a Zoo API token.
Method, 2 operations
list_org_payment_methodsList org payment methodsGETLists your org's payment methods, default card first (requires an org admin): card brand, last four digits, expiry and billing details.list_user_payment_methodsList user payment methodsGETLists your payment methods, default card first: card brand, last four digits, expiry and billing details.
Organization, 2 operations
move_project_to_orgMove project to orgPUTMoves one of your projects into your active org library, where org members can access it.move_project_to_personalMove project to personalDELETEMoves an org project back to its creator's personal library, so org members lose access through the org.
Payment, 2 operations
get_org_payment_infoGet org payment infoGETReturns your org's billing details (requires an org admin): name, email, phone and postal address. Personal data.get_user_payment_infoGet user payment infoGETReturns your billing details: name, email, phone and postal address. Personal data.
Public, 2 operations
get_public_projectGet public projectGETReturns one published community project: title, description, categories, like count, owner username and preview URL. Public data.list_public_projectsList public projectsGETLists published community projects (the Zoo gallery): title, description, categories, like count, owner username and preview URL. Public data.
Retrigger, 2 operations
retrigger_dataset_conversionRetrigger dataset conversionPOSTQueues one dataset conversion to run again (for example after a failure). Returns nothing on success.retrigger_org_datasetRetrigger org datasetPOSTQueues conversions of an org dataset to run again. Returns nothing on success.
Semantic, 2 operations
search_dataset_contentSearch dataset contentGETSemantic search over the converted content of an org dataset: returns the best matching chunks (text, file path, conversion id, similarity), best first.search_org_projectsSearch org projectsPOSTSemantic search over projects shared with your org (title, description and file names, not file contents); returns project and version ids with a similarity score, best first.
Subscription, 2 operations
get_org_subscriptionGet org subscriptionGETReturns your org's Zoo subscription: plan (modeling_app tier, price, included features) and any pending payment action.get_user_subscriptionGet user subscriptionGETReturns your Zoo subscription: plan (modeling_app tier, price, included features) and any pending payment action.
Usage collection threshold, 2 operations
get_org_usage_thresholdGet org usage thresholdGETReturns your org's usage collection threshold: the amount of accrued, unpaid usage that triggers an early invoice before the billing period closes (effective, default and admin amounts).get_user_usage_thresholdGet user usage thresholdGETReturns your personal usage collection threshold: the amount of accrued, unpaid usage that triggers an early invoice before the billing period closes (effective, default and admin amounts).
User, 2 operations
get_userGet userGETReturns the authenticated user: name, email, phone, company, Discord and GitHub handles, username, pay-as-you-go opt-in and privacy flag. Personal data.update_userUpdate userPUTUpdates your profile (name, company, phone, handles, username, pay-as-you-go opt-in). image is required. Zoo does not say whether omitted fields are kept: read get_user first and send unchanged values back.
Version, 2 operations
get_project_versionGet project versionGETReturns one saved version of a project: title, description, parent version and its file list.list_project_versionsList project versionsGETLists a project's saved versions, newest first (requires access to the project; public or link sharing does not grant history).
Volume, 2 operations
calculate_file_volumeCalculate file volumePOSTComputes the volume of the object in an uploaded CAD file. Billed per use; a file over 25 MB returns a pending status: then poll get_async_operation with the id.convert_volume_unitsConvert volume unitsGETConverts a volume value from input_unit to output_unit (mm3, cm3, ft3, in3, m3, yd3, usfloz, usgal, l, ml) and returns the result in output. Free of usage charges; needs a Zoo API token.
Vote, 2 operations
remove_public_project_voteRemove public project voteDELETERemoves your upvote from a published community project and returns the new vote state.vote_public_projectVote public projectPOSTAdds your upvote to a published community project (visible as its like count) and returns the new vote state.
Angle, 1 operation
convert_angle_unitsConvert angle unitsGETConverts a angle value from input_unit to output_unit (degrees, radians) and returns the result in output. Free of usage charges; needs a Zoo API token.
Announcement, 1 operation
list_announcementsList announcementsGETLists the active Zoo announcements (product news and notices shown in Zoo apps). No authentication required.
Area, 1 operation
convert_area_unitsConvert area unitsGETConverts a area value from input_unit to output_unit (cm2, dm2, ft2, in2, km2, m2, mm2, yd2) and returns the result in output. Free of usage charges; needs a Zoo API token.
Bounding box, 1 operation
calculate_file_bounding_boxCalculate file bounding boxPOSTComputes the bounding box (center and dimensions) of the object in an uploaded CAD file. Billed per use; a file over 25 MB returns a pending status: then poll get_async_operation with the id.
Category, 1 operation
list_project_categoriesList project categoriesGETLists the active categories for community projects (id, slug, display name, description). Public, no authentication needed.
Center of mass, 1 operation
calculate_file_center_of_massCalculate file center of massPOSTComputes the center of mass of the object in an uploaded CAD file. Billed per use; a file over 25 MB returns a pending status: then poll get_async_operation with the id.
Completion, 1 operation
create_kcl_completionsCreate kcl completionsPOSTGenerates KCL (Zoo CAD language) code completions for a prompt and returns them in completions. Billed per use (beta, see Zoo API pricing).
Conversation, 1 operation
list_ml_conversationsList ml conversationsGETLists the authenticated user's Zookeeper (Zoo AI assistant) conversations, newest first, with their first prompt and timestamps.
Current, 1 operation
convert_current_unitsConvert current unitsGETConverts a current value from input_unit to output_unit (amperes, microamperes, milliamperes, nanoamperes) and returns the result in output. Free of usage charges; needs a Zoo API token.
Density, 1 operation
calculate_file_densityCalculate file densityPOSTComputes the density of the object in an uploaded CAD file from the mass you give (material_mass). Billed per use; a file over 25 MB returns a pending status: then poll get_async_operation with the id.
Energy, 1 operation
convert_energy_unitsConvert energy unitsGETConverts a energy value from input_unit to output_unit (btu, electronvolts, joules, kilocalories, kilowatt_hours, watt_hours) and returns the result in output. Free of usage charges; needs a Zoo API token.
Extended, 1 operation
get_user_extendedGet user extendedGETReturns the authenticated user with extra account fields (Stripe customer id among them): name, email, phone, company and handles. Personal data.
Finish, 1 operation
list_factory_finishesList factory finishesGETLists the surface finishes currently offered for Factory (manufacturing) jobs, alphabetically with Other last.
Force, 1 operation
convert_force_unitsConvert force unitsGETConverts a force value from input_unit to output_unit (dynes, kiloponds, micronewtons, millinewtons, newtons, poundals, pounds) and returns the result in output. Free of usage charges; needs a Zoo API token.
Frequency, 1 operation
convert_frequency_unitsConvert frequency unitsGETConverts a frequency value from input_unit to output_unit (gigahertz, hertz, kilohertz, megahertz, microhertz, millihertz, nanohertz, terahertz) and returns the result in output. Free of usage charges; needs a Zoo API token.
Kcl, 1 operation
download_dataset_kclDownload dataset kclGETDownloads the KCL outputs of every successful conversion of an org dataset as one archive file.
Length, 1 operation
convert_length_unitsConvert length unitsGETConverts a length value from input_unit to output_unit (cm, ft, in, m, mm, yd) and returns the result in output. Free of usage charges; needs a Zoo API token.
Library, 1 operation
move_project_to_libraryMove project to libraryPUTMoves one of your projects into a project library (library_id from list_project_libraries). expected_revision must be the metadata_revision get_project returned.
Material, 1 operation
list_factory_materialsList factory materialsGETLists the materials currently offered for Factory (manufacturing) jobs, alphabetically with Other last.
Operation, 1 operation
get_async_operationGet async operationGETReturns the status and result of an async operation (a file conversion or file analysis over 25 MB, or a text-to-CAD job): status is queued, uploaded, in_progress, completed or failed; type says which kind of result it holds.
Original, 1 operation
download_dataset_original_fileDownload dataset original fileGETDownloads the original source CAD file of a dataset conversion.
Ping, 1 operation
pingPingGETChecks that the Zoo API is reachable; returns message pong. Needs no credential and costs nothing.
Policy, 1 operation
get_dataset_s3_policiesGet dataset s3 policiesGETReturns the IAM trust, permission and bucket policies (JSON text) to apply to your AWS account and S3 bucket before registering it as an org dataset with create_org_dataset.
Power, 1 operation
convert_power_unitsConvert power unitsGETConverts a power value from input_unit to output_unit (btu_per_minute, horsepower, kilowatts, metric_horsepower, microwatts, milliwatts, watts) and returns the result in output. Free of usage charges; needs a Zoo API token.
Pressure, 1 operation
convert_pressure_unitsConvert pressure unitsGETConverts a pressure value from input_unit to output_unit (atmospheres, bars, hectopascals, kilopascals, millibars, pascals, psi) and returns the result in output. Free of usage charges; needs a Zoo API token.
Provider, 1 operation
list_user_login_providersList user login providersGETLists the sign-in providers linked to your account (for example google, github, apple, discord, microsoft, saml or zoo_corp); an empty list means email sign-in only.
Publish, 1 operation
publish_projectPublish projectPOSTSubmits one of your projects for public review; once approved it is published in the public Zoo community gallery.
Skill, 1 operation
list_org_skillsList org skillsGETLists your org's skills (reusable instructions for Zoo's AI tools), ordered by name.
Stats, 1 operation
get_dataset_statsGet dataset statsGETReturns conversion counts for an org dataset: total, successes, failures and a count per status.
Surface area, 1 operation
calculate_file_surface_areaCalculate file surface areaPOSTComputes the surface area of the object in an uploaded CAD file. Billed per use; a file over 25 MB returns a pending status: then poll get_async_operation with the id.
Temperature, 1 operation
convert_temperature_unitsConvert temperature unitsGETConverts a temperature value from input_unit to output_unit (celsius, fahrenheit, kelvin, rankine) and returns the result in output. Free of usage charges; needs a Zoo API token.
Torque, 1 operation
convert_torque_unitsConvert torque unitsGETConverts a torque value from input_unit to output_unit (newton_metres, pound_foot) and returns the result in output. Free of usage charges; needs a Zoo API token.
Use Zoo from Claude Code, Cursor or Codex
Connect Zoo in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Zoo operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Zoo
- Create your workspace
Sign up free. Nothing to install.
- Connect Zoo once
Add your Zoo connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Zoo integration FAQ
What can you do with the Zoo integration?
LiveContext exposes 120 operations on Zoo, covering dataset, member, shortlink and api call.
