Bitbybit Monorepo

MCP serverSearch

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

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use Bitbybit Monorepo

From the project's README

As published by bitbybit-dev/bitbybit in README.md.

Open-source 3D CAD algorithms for the web - MIT licensed. This monorepo contains all Bitbybit NPM packages plus example applications.

Written to be used by people and by AI coding agents alike: every function is published in a form an agent can look up while it writes - see Build It With an AI Agent.

License

Source code in packages/, languages/, and examples/ is MIT licensed. Documentation text in docs/ is CC BY 4.0. Logos, trademarks, and media assets are not open-source - see CONTENT-LICENSE.md for details.

FULL PLATFORM AT BITBYBIT.DEV

LEARN BITBYBIT

TYPESCRIPT API REFERENCE

Quick Start

Scaffold a fully-configured 3D CAD project in seconds:

npx @bitbybit-dev/create-app my-project

The CLI first asks you to pick an app type:

  • Frontend - Browser-based 3D/CAD app. Choose a game engine (Three.js, Babylon.js, or PlayCanvas) and OCCT architecture (32-bit, 64-bit, or 64-bit MT). You get a Vite + TypeScript project with all three CAD kernels (OCCT, JSCAD, Manifold) pre-configured.
  • CAD Cloud - Full-stack project with server-side CAD via our CAD Cloud API. Choose a backend template (Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST). You get a React + Three.js frontend that proxies requests through your backend - your API key never leaves the server.
cd my-project
npm install
npm run dev

Build It With an AI Agent

Bitbybit has 1725 functions across three CAD kernels - more than any model remembers, so an agent working from memory invents plausible names that do not exist. Give it the Bitbybit CAD MCP instead and it looks up the exact signature, defaults, return type and examples for the version you have installed. It is free and needs no account:

claude mcp add --transport http bitbybit https://mcp.bitbybit.dev/mcp

Codex, Cursor, VS Code, Gemini CLI, Windsurf, Zed, the JetBrains IDEs, claude.ai, ChatGPT and the Claude API connect to the same endpoint, and npx -y @bitbybit-dev/mcp runs it locally against the @bitbybit-dev packages in your project - every configuration is here.

What it gives an agentCost
Bitbybit CAD MCPThe exact API of the version you use: search, full signatures with defaults, examples, and the guide on where geometry should run. Read-only.Free, no account
Bitbybit CAD Cloud MCPHands as well as knowledge: the agent runs operations and pipelines on CAD Cloud, converts STEP to glTF, runs Pro algorithms, and returns the files.A CAD Cloud key
Context files and Context7The whole API as one file to attach, for assistants that cannot speak MCP.Free

Every answer carries a tier - oss runs in these MIT packages anywhere, platform-pro inside the bitbybit.dev editors, cloud-pro only on CAD Cloud - so an agent never sends you to a paid service for something the free packages already do. The AI section of the documentation covers all of it.

Support the Mission

Subscribe - Silver or Gold plan | Get API Key for CAD Cloud

Check out 3D Bits app for Shopify - interactive 3D product configurators for e-commerce.

Your subscription directly funds continued open-source development of these packages.

Important Topics

TopicLink
Getting Startedhttps://learn.bitbybit.dev/learn/getting-started/overview
TypeScript API Referencehttps://docs.bitbybit.dev
API Reference - OCCT kernelhttps://docs.bitbybit.dev/classes/Bit.OCCT
API Reference - JSCAD kernelhttps://docs.bitbybit.dev/classes/Bit.JSCAD
API Reference - Manifold kernelhttps://docs.bitbybit.dev/classes/Bit.Manifold
NPM Packages Introhttps://learn.bitbybit.dev/learn/npm-packages/intro
Integrate with Three.jshttps://learn.bitbybit.dev/learn/npm-packages/threejs/start-with-three-js
Integrate with BabylonJShttps://learn.bitbybit.dev/learn/npm-packages/babylonjs/start-with-babylon-js
Integrate with PlayCanvashttps://learn.bitbybit.dev/learn/npm-packages/playcanvas/start-with-playcanvas
CAD Cloud APIhttps://learn.bitbybit.dev/api/cloud-api
Script Runnershttps://learn.bitbybit.dev/learn/runners/intro
3D Bits for Shopifyhttps://learn.bitbybit.dev/learn/3d-bits/intro
AI Coding Agents - Overviewhttps://learn.bitbybit.dev/learn/using-ai-with-bitbybit/intro
Bitbybit CAD MCP - free, version-exact API lookupshttps://learn.bitbybit.dev/learn/using-ai-with-bitbybit/mcp/bitbybit-mcp
Bitbybit CAD Cloud MCP - let an agent run the geometryhttps://learn.bitbybit.dev/learn/using-ai-with-bitbybit/mcp/cad-cloud-mcp
Context Files for Assistants Without MCPhttps://learn.bitbybit.dev/learn/using-ai-with-bitbybit/prompt-contexts
Unit Testing Approachhttps://learn.bitbybit.dev/learn/github/unit-tests
Live Unit Test Coveragehttps://github.com/bitbybit-dev/bitbybit/actions/workflows/verify.yml
Bloghttps://learn.bitbybit.dev/blog

How Bitbybit Fits Into Your Stack

The diagram shows every way a website can reach Bitbybit geometry, and where the NPM packages below sit among them:

  • NPM packages - this repository. The kernels compile to WebAssembly and run in your users' browsers or in your own Node process, inside your build, MIT licensed and free.
  • Script runners - one script file loads the same engine and executes scripts exported from the visual editors, with no build step.
  • Iframe embeds - a project published on bitbybit.dev dropped straight into a page.
  • CAD Cloud REST API - your backend sends the work to our managed kernels and gets results back as files, for the Pro algorithms and for compute you would rather not host.
  • AI agents - the MCP servers above, writing code against any of these paths or running the geometry themselves.

The full walkthrough of the diagram is on learn.bitbybit.dev.

NPM Packages

PackageDescription
@bitbybit-dev/babylonjsBabylonJS engine integration for drawing CAD geometry
@bitbybit-dev/threejsThree.js engine integration for drawing CAD geometry
@bitbybit-dev/playcanvasPlayCanvas engine integration for drawing CAD geometry
@bitbybit-dev/coreCore assembly layer combining all CAD kernels
@bitbybit-dev/occtOpenCascade CAD kernel (works in Node.js & browser)
@bitbybit-dev/occt-workerOCCT via WebWorker (non-blocking, browser only)
@bitbybit-dev/manifoldManifold fast mesh booleans (works in Node.js & browser)
@bitbybit-dev/manifold-workerManifold via WebWorker (non-blocking, browser only)
@bitbybit-dev/jscadJSCAD solid modeling (works in Node.js & browser)
@bitbybit-dev/jscad-workerJSCAD via WebWorker (non-blocking, browser only)
@bitbybit-dev/baseBase math/vector/matrix algorithms used by all packages
@bitbybit-dev/create-appCLI tool to scaffold 3D/CAD projects
@bitbybit-dev/cad-cloud-sdkTypeScript SDK for the CAD Cloud API
@bitbybit-dev/mcpMCP server that documents this API for AI coding agents

NPM Package Architecture

Example Applications

All examples live in the examples/ directory of this monorepo:

AppEngineSource Code
Hex ShellThree.jsGitHub
Cup ConfiguratorThree.jsGitHub
Hex House ConceptThree.jsGitHub
Starter TemplateBabylonJSGitHub
Starter TemplateThree.jsGitHub
Starter TemplatePlayCanvasGitHub
Terrace FurnitureBabylonJSClosed source

Bitbybit Platform

Beyond these open-source NPM packages, the Bitbybit platform includes:

Community

Watch the Introduction

Matas walks through the platform and the ideas behind it:

Development Setup

Contributions

If you're interested in contributing please check our Contribution guidelines & code of conduct

First Time Setup and Testing

For first-time developers working on this project, follow these steps to set up the development environment and run all unit tests:

Prerequisites

  • Node.js 22 or newer (.tool-versions pins 22; the nightly workflow also runs 24)
  • pnpm 11 (see step 2 below)
  • Git

Quick Start

  1. Clone the repository:

    git clone https://github.com/bitbybit-dev/bitbybit.git
    cd bitbybit
    
  2. Install pnpm 11 once (the packages are one pnpm workspace; the packageManager field pins the exact version):

    npm install -g pnpm@11
    
  3. Run the complete first-time setup (this will install all dependencies, build all packages, and run all unit tests):

    npm run first-time-setup
    

Available Commands

  • npm run first-time-setup - Complete setup for new developers (installs dependencies, builds packages, runs tests)
  • npm run setup - Install dependencies and build all packages without running tests
  • npm run setup-and-test - Install dependencies, build packages, and run all unit tests
  • npm run test - Run all unit tests (requires packages to be built first)
  • npm run test:report - One report over every suite's last results (files, tests, failures, skipped, coverage); written to the job summary on GitHub Actions
  • npm run ci-packages - Install dependencies for all packages (one pnpm install --frozen-lockfile for the workspace)
  • npm run refresh-lockfile - Rewrite pnpm-lock.yaml after a dependency change, without touching node_modules
  • npm run build-packages - Build and stage all packages (tsc -b over generated project references, run by pnpm in dependency order)
  • npm run rebuild-all-packages - Empty every dist, then build all packages
  • npm run gen:references - Regenerate the TypeScript project references from the package manifests after a dependency change
  • npm run check:references - Fail if the project references and the manifests disagree (the first step of npm test)
  • npm run lint - ESLint over the repository, green by the committed suppression baseline; a new finding fails
  • npm run typecheck:strict - Every package's typecheck under the full strict set
  • npm run check:strict-baselines - Fail if any package has grown a strict baseline; every package is fully strict, so the check holds the line at zero
  • npm run api:check - Fail if any package's public API surface differs from the committed report in its etc/ folder
  • npm run api:update - Regenerate those API reports after a deliberate change to the public surface
  • npm run check:tarballs - Pack every built package and install the tarballs together into an empty project, as a user would

Running Individual Package Tests

You can also run tests for individual packages:

  • npm run test-base - Test base package
  • npm run test-occt - Test OCCT package
  • npm run test-core - Test core package
  • npm run test-jscad - Test JSCAD package
  • npm run test-manifold - Test Manifold package
  • npm run test-threejs - Test ThreeJS package
  • npm run test-playcanvas - Test PlayCanvas package
  • npm run test-babylonjs - Test BabylonJS package

Troubleshooting

If you encounter issues during setup:

  1. Make sure you have Node.js 22+ installed (node --version)
  2. Clear the pnpm store: pnpm store prune
  3. Delete node_modules at the root and under packages/dev/*, then run pnpm install

Major Dependencies

BabylonJS, ThreeJS, PlayCanvas, OpenCascade, Manifold, JSCAD, and Verbnurbs - the last of these deprecated, no longer maintained upstream, and removed in the next major version.

Advanced
Delivery
cad MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
dev-bitbybit-cad
Source
github.com/bitbybit-dev/bitbybit
Hosted endpoint
https://mcp.bitbybit.dev/mcp