# Bitbybit CAD MCP

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

- name: dev.bitbybit/cad
- version: 1.5.0
- connection class: R0 (autonomous)
- trust: 95/100
- quality: 96/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/dev.bitbybit%2Fcad
- tools: https://api.protogrid.dev/v1/servers/dev.bitbybit%2Fcad/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "cad": {
      "type": "http",
      "url": "https://mcp.bitbybit.dev/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 98
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-95% +updated-8d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 96/100 (strong)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,563 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 2 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know @bitbybit-dev/mcp@1.5.0

- tools: 7, about 1,563 tokens to load them all
- tool set hash: 084c73766405807abfeeafab7a2ba076
- tools last changed: 2026-10-12T16:28:19.796Z
- badge: [![protogrid quality](https://protogrid.dev/badge/dev.bitbybit/cad.svg)](https://protogrid.dev/servers/dev.bitbybit/cad)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-12 `get_guide` changed (title, description, inputSchema, annotations)
  - before: 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.
  - after: Sections of the public guides: building with Bitbybit (what runs in the browser, on a server, on a lightweight backend, and what needs CAD Cloud), writing geometry with the kernels (which kernel to use, the order to build a part in, choosing edges, checking and exporting shapes), writing design documents (parametric models as JSON: parameters, sketches, features, references, parts and assemblies), and writing IFC building models (storeys, walls and their joins, doors, windows, slabs, roofs, rooms, properties and quantities). 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. Read "geometry" before writing geometry code, "design" before writing a design document, and "ifc" before writing an IFC model.
- 2026-10-12 `describe` changed (description, inputSchema)
  - before: 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.
  - after: 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. It also describes the types a member returns or takes by their name, for example Inputs.IFC.SpaceInfoDto, field by field, and a member's answer lists those types. An unknown path is reported as not found together with the nearest existing paths; nothing is guessed.

Full history: https://api.protogrid.dev/v1/servers/dev.bitbybit%2Fcad/changes

## Dependencies

- npm @bitbybit-dev/mcp@1.5.0: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.bitbybit.dev/mcp (streamable-http, auth none, reachable true, uptime30d 0.94690263)

## Packages

- npm @bitbybit-dev/mcp@1.5.0

## Tools (7)

- `describe`: 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. It also describes the types a member returns or takes by their name, for example Inputs.IFC.SpaceInfoDto, field by field, and a member's answer lists those types. An unknown path is reported as not found together with the nearest existing paths; nothing is guessed.
- `fetch`: 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.
- `get_examples`: 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.
- `get_guide`: Sections of the public guides: building with Bitbybit (what runs in the browser, on a server, on a lightweight backend, and what needs CAD Cloud), writing geometry with the kernels (which kernel to use, the order to build a part in, choosing edges, checking and exporting shapes), writing design documents (parametric models as JSON: parameters, sketches, features, references, parts and assemblies), and writing IFC building models (storeys, walls and their joins, doors, windows, slabs, roofs, rooms, properties and quantities). 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. Read "geometry" before writing geometry code, "design" before writing a design document, and "ifc" before writing an IFC model.
- `list_namespace`: 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.
- `search`: 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.
- `search_api`: 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.
