Aircraft hangar workshop illustrating precision engineering

Developer Tools

Build with OpenFactory

Integrate AI-powered OS building into your workflows. Connect Claude Code, build custom automations, or embed OpenFactory in your applications.

AI Integration

Model Context Protocol

OpenFactory exposes a full MCP server that AI assistants like Claude can use to build and manage OS images on your behalf.

🤖

Claude Code

Connect Claude Code directly to OpenFactory. Ask Claude to build custom Linux images, run tests, or manage your fleet without manual API wiring.

"Build me an Ubuntu server with Docker and SSH enabled"

🚀

Custom Agents

Build your own AI agents on top of OpenFactory. Create automated pipelines, CI/CD integrations, or internal tooling.

Use the Claude Agent SDK with OpenFactory tools

Quick Start: Claude Code

1. Add MCP Server

Add the OpenFactory MCP server to Claude Code:

Terminal
claude mcp add openfactory -- \
  npx mcp-remote "https://console.openfactory.tech/mcp-stream/mcp" \
  --header "Authorization: Bearer of_mcp_your_key_here"

2. Create config file (optional)

Or add it to your project's .mcp.json:

.mcp.json
{
  "mcpServers": {
    "openfactory": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://console.openfactory.tech/mcp-stream/mcp",
        "--header",
        "Authorization: Bearer of_mcp_your_key_here"
      ]
    }
  }
}

Use an MCP API key from your OpenFactory console settings.

3. Start Building

Ask Claude to build an OS image. Builds appear in both Claude Code and the OpenFactory web UI automatically.

Use an MCP API Key

Generate an MCP API key from your console settings:

.mcp.json with API key
{
  "mcpServers": {
    "openfactory": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://console.openfactory.tech/mcp-stream/mcp",
        "--header",
        "Authorization: Bearer of_mcp_your_key_here"
      ]
    }
  }
}

Available Tools

MCP Tools Reference

These tools are available to AI assistants connected via MCP. Tool availability depends on your plan and organization permissions.

Build Management

list_buildsList your builds with status and basic info
get_buildGet full details including recipe and config
create_buildCreate a new build from a recipe JSON
get_build_statusGet current build stage and progress
get_iso_download_urlGet download URL for completed builds
retry_buildRetry a failed build with the same recipe

Recipe Templates

list_recipesBrowse pre-built recipe templates
get_recipeGet full recipe details and config
validate_recipeValidate a recipe without building
create_recipe_from_templateCustomize a template for your needs

Test Execution

run_testsRun tests on a built ISO
get_test_resultsGet detailed test results and logs
list_test_runsList test runs for your builds

VM Management

list_vmsList running VMs from your builds
create_vmCreate a VM from a built ISO
start_vm / stop_vmControl VM power state

App Deployment & Testing

create_appRegister a Git repo as a deployable app
deploy_appDeploy an app and get a public preview URL
create_app_scenarioSave a reusable GUI test scenario for any app URL
run_app_scenarioRun a scenario and capture screenshots and a verdict
annotate_screenshotDraw labeled highlight boxes on a screenshot

Examples

What you can build

Conversational OS Building

Ask Claude to create a custom OS with natural language:

"Create a Debian server image for a web application. I need nginx, Node.js 20, and PostgreSQL. Enable SSH on port 2222 and set up a static IP at 192.168.1.100."

Claude will use create_build with a complete recipe

CI/CD Integration

Use the MCP tools in your automation pipelines:

Example: Build and test workflow
# 1. Create build from recipe
build = await create_build(recipe={
    "name": "web-server-v2",
    "base_image": "ubuntu-noble",
    "features": ["ssh", "nginx", "docker"],
    "packages": ["nodejs", "npm"]
})

# 2. Wait for build completion
while status != "built":
    status = await get_build_status(build_id)
    await sleep(30)

# 3. Run tests
test_run = await run_tests(build_id)

# 4. Check results
results = await get_test_results(run_id)
if results.all_passed:
    deploy(build_id)

Recipe Templates

Start from proven templates and customize them:

"Show me healthcare recipes with GxP compliance"

"Take the AI workstation recipe and add ROS 2 support"

Claude will use list_recipes and create_recipe_from_template

Authentication

MCP API Keys

Use MCP API keys to link clients to your OpenFactory account or organization.

🌐

Account Scoped

Builds, VMs, and tests stay associated with the account or organization behind the key.

🔑

Secure

Keys are hashed on creation. We never store the raw key.

🗑

Revocable

Delete keys at any time to revoke access immediately.

Developer workspace illustrating modern software development

Ready to get started?

Create an account and generate your first API key to start building with AI.