Bitbybit CAD MCP

Bitbybit 3D parametric CAD API, version-exact, for coding agents: search, describe, examples, guide

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
96%
Naming quality
97%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_examples' description lacks action verbin get_examples
  • LOWTool 'fetch' suggests web access but openWorldHint=falsein fetch

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,358Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (1.06% of 128k context)

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

npm@bitbybit-dev/mcp1.3.2stdio

Remote endpoints

https://mcp.bitbybit.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

fetch_info
Fetch [information type] using Bitbybit CAD MCP
Expected tools: get_examples
search_research
Search for information about [topic] using Bitbybit CAD MCP
Expected tools: search_api
find_specific
Find [specific item] using Bitbybit CAD MCP
Expected tools: search_api
retrieve_data
Get details about [item] from Bitbybit CAD MCP
Expected tools: get_examples
list_items
List all [items] available in Bitbybit CAD MCP
Expected tools: list_namespace

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools