Bitbybit CAD MCP
Bitbybit 3D parametric CAD API, version-exact, for coding agents: search, describe, examples, guide
Should I use this
Quality & Safety
Findings (2)
- LOWin get_examples
- LOWin fetch
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"cad": {
"command": "npx",
"args": [
"@bitbybit-dev/mcp"
]
}
}
}Runnable packages
1.3.2stdioRemote endpoints
https://mcp.bitbybit.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢search_api(query, engine, limit, version)
Find Bitbybit API members (methods, namespaces, cloud operations) by keywords, for example "box solid" or "fillet edges". Returns dotted paths with a one-line summary, the tier (oss on npm, platform-pro only at bitbybit.dev, cloud-pro only on CAD Cloud) and the engines each is published for. Call describe with a path before writing code that uses it.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Keywords, a phrase, or a partial dotted path"
},
"engine": {
"description": "Only members published for this engine, plus the cloud operations, which run on CAD Cloud rather than in an engine; omit for every engine",
"type": "string",
"enum": [
"babylonjs",
"threejs",
"playcanvas"
]
},
"limit": {
"description": "How many results, 10 by default",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"version": {
"description": "The API version to search; omit for the version the server holds",
"type": "string"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢describe(path, version)
The exact contract of one member by dotted path, for example occt.shapes.solid.createBox: signature, every parameter with its type, default and range, the return type, the documentation, examples and where it runs. Answers are for the API version the server holds. An unknown path is reported as not found together with the nearest existing paths; nothing is guessed.
Input Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "The dotted path of the member, for example occt.shapes.solid.createBox"
},
"version": {
"description": "The API version to describe; omit for the version the server holds",
"type": "string"
}
},
"required": [
"path"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_namespace(path, version)
The members one level below a namespace path, for example occt.shapes, each with its kind and summary. Without a path, the top-level namespaces. Use it to discover what exists before searching for details.
Input Schema
{
"type": "object",
"properties": {
"path": {
"description": "A namespace path such as occt or occt.shapes; omit for the top level",
"type": "string",
"maxLength": 256
},
"version": {
"description": "The API version to list; omit for the version the server holds",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_examples(path, topic, engine, limit, version)
Working TypeScript examples for a member path, for a namespace, or for a topic given as keywords. Each example names the member it belongs to and links its reference page. Examples are written for the API version the server holds.
Input Schema
{
"type": "object",
"properties": {
"path": {
"description": "A member or namespace path, for example occt.shapes.solid.createBox or occt.fillets",
"type": "string",
"maxLength": 256
},
"topic": {
"description": "Keywords to find examples by, when no path is known",
"type": "string",
"maxLength": 200
},
"engine": {
"description": "Prefer members published for this engine when searching by topic",
"type": "string",
"enum": [
"babylonjs",
"threejs",
"playcanvas"
]
},
"limit": {
"description": "How many examples, 5 by default",
"type": "integer",
"minimum": 1,
"maximum": 20
},
"version": {
"description": "The API version; omit for the version the server holds",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_guide(topic)
Sections of the public guide on building with Bitbybit: what runs in the browser, on a server, on a lightweight backend, and what needs CAD Cloud. Without a topic it lists the sections. Read "integrate" before recommending where geometry should run: the npm packages are the default, and CAD Cloud is for algorithms that exist only there or compute the caller cannot provide.
Input Schema
{
"type": "object",
"properties": {
"topic": {
"description": "A section id or a short name such as integrate, browser, backend, server-side, pro, start; omit to list the sections",
"type": "string",
"maxLength": 128
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search(query)
Searches the Bitbybit API documentation and returns a list of results with id, title and url. Each id is a dotted API path that fetch accepts.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Search terms"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢fetch(id)
Fetches the full documentation of one Bitbybit API member by id (a dotted path returned by search) as text, with its title, url and metadata.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "A dotted API path returned by search"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Recommended Prompts
get_examplessearch_apisearch_apiget_exampleslist_namespaceCommunity
Evidence