Build on Brain
Drop a Python file into a folder. The AI agent uses it as a tool. No vendor, no licenses, no committees. Siemens, Rockwell, Beckhoff — none of them have this.
brain_sdk
Machine builders create domain-specific tools in Python. The AI agent uses plugin tools exactly like built-in tools. Sandboxed subprocess execution. 30-second timeout. Tier-capped. Tag-whitelist-restricted.
# plugins/brewery/mash_profile.py
from brain_sdk import tool, Tier
@tool(
name="set_mash_profile",
tier=Tier.CONTROL,
tags_write=["MASH.*.SETPOINT"],
description="Set mash temperature profile stages"
)
def set_mash_profile(stages: list[dict]) -> dict:
"""Configure multi-stage mash with temperature rests."""
# Your logic here
return {"stages": len(stages), "duration_min": total_time}# plugins/brewery/manifest.yaml
name: Brewery Control
version: 1.0.0
author: YourCompany
tier_cap: CONTROL
tags_whitelist:
- MASH.*
- FERMENT.*
- SPARGE.*Sandboxed
Subprocess isolation
30s timeout
No runaway tools
Tier-capped
READ / CONTROL / ADMIN
Tag whitelist
Surgical write scope
Shipped with the SDK
MCP Server
JSON-RPC 2.0 on port 8766. API key authentication with tier-based access control. External AI clients use Brain's tools as if they were native.
brain://tagsAll PLC tags (read/write)brain://alarms/activeCurrent alarm statebrain://system/statusController healthbrain://programsPLC program librarybrain://historianTime-series data queries{
"mcpServers": {
"brain": {
"command": "brain-mcp-proxy",
"env": {
"BRAIN_URL": "https://brain.local:8766",
"BRAIN_API_KEY": "bk_live_..."
}
}
}
}REST API
Every Brain action is exposed as HTTP. JWT authentication. RBAC with 5 roles. Full audit trail. WebSocket for real-time events.
GET /api/v1/tags # List all tags
POST /api/v1/tags # Create tag
GET /api/v1/tags/{name}/value # Read tag value
POST /api/v1/tags/{name}/value # Write tag value
GET /api/v1/alarms/active # Active alarms
POST /api/v1/programs/{id}/start # Start PLC program
GET /api/v1/historian/query # Time-series query
WS /api/v1/events # Real-time events100+
Endpoints
33
Route groups
5
RBAC roles
JWT
Authentication
BYOK
Configure Anthropic, OpenAI, Azure OpenAI, or any OpenAI-compatible endpoint in the admin dashboard. Your keys stay on your cabinet. Brain never proxies your API calls through our servers.
Anthropic Claude
Sonnet, Opus
OpenAI
GPT-4o, GPT-5
Azure OpenAI
Enterprise-grade
Local LLM
OpenAI-compatible endpoint
Self-hosted
Ollama, vLLM, and more