Bespoke Automata is a GUI and deployment pipline for making complex AI agents locally and offline
223
stars
322
commits
JavaScript
primary language
Feb 23, 2026
updated
Create and deploy sophisticated Agent AI's to a single API with Bespoke Automata. With Bespoke Automata, you can combine large language models running locally or remotely with instruments for database IO, dictionaries, arrays, logic, APIs and more into powerful Brains capable of pursuing goals set by their designers.
With Bespoke Automata, you can design and test brains via a Directed Graph GUI (powered by litegraph), and deploy them behind a single user friendly API, each brain a different endpoint. Brains are exposed as Model Context Protocol (MCP) tools, making them accessible to any MCP-compatible AI assistant.
Clone the repository and install dependencies:
$ git clone https://github.com/C0deMunk33/bespoke_automata
$ cd bespoke_automata
$ npm install
$ npm start
Open your browser to http://localhost:9999. The app has three tabs:
Brains are saved to the graphs/ directory. Saving in the editor makes them immediately available to the MCP server and runner.
The server exposes an MCP SSE endpoint at http://localhost:9999/sse. Each brain in graphs/ is registered as an MCP tool. Connect any MCP-compatible client (Cursor, Claude Desktop, etc.) to this endpoint to use your brains as AI tools.
| Environment Variable | Default | Description |
|---|---|---|
PORT | 9999 | Server port |
| Endpoint | Method | Description |
|---|---|---|
/ | GET | Web UI |
/sse | GET | MCP SSE connection |
/messages | POST | MCP message handler |
/api/graphs | GET | List saved graph names |
/api/graphs/:name | GET | Load a graph |
/api/graphs/:name | PUT | Save a graph |
/api/graphs/:name | DELETE | Delete a graph |
/api/brains | GET | List deployed brains with schemas |
/api/brains/reload | POST | Reload brains from disk |
/api/brains/:name/run | POST | Execute a brain |
/api/status | GET | Server status |
/health | GET | Health check |
To run only the MCP server without the web UI:
$ npm run mcp
The BA API uses llama-cpp-python for local text inference and vision.
../models/text../models/visionInstallation by platform:
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-pythonCMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python$env:CMAKE_ARGS = "-DLLAMA_CUBLAS=on" then pip install llama-cpp-pythonpip install llama-cpp-pythonThen run:
$ cd APIs/
$ python omni_api.py
The API server will be at your_ip:5000.
NOTE: On macOS, port 5000 collides with Airplay Receiver. Turn it off in Settings > General > Airdrop & Handoff, or change the port in the config.
bespoke_automata/
├── server.js # Unified Express server
├── package.json # Dependencies
├── graphs/ # Brain files (.brain)
├── libs/ # LiteGraph, nodes, and supporting libraries
├── public/ # Web UI (SPA)
│ └── index.html
├── bespoke_manager/
│ ├── core.js # Brain execution engine
│ ├── mcp_server.js # Standalone MCP server
│ ├── run.js # CLI brain runner
│ └── front_ends/ # Discord bot integrations
├── APIs/ # Python LLM API servers
└── README.md
./graphs/JavaScript
86.0%
Python
5.4%
HTML
4.8%
CSS
2.1%
Bespoke Automata is a GUI and deployment pipline for making complex AI agents locally and offline
223
stars
322
commits
JavaScript
primary language
Feb 23, 2026
updated
Create and deploy sophisticated Agent AI's to a single API with Bespoke Automata. With Bespoke Automata, you can combine large language models running locally or remotely with instruments for database IO, dictionaries, arrays, logic, APIs and more into powerful Brains capable of pursuing goals set by their designers.
With Bespoke Automata, you can design and test brains via a Directed Graph GUI (powered by litegraph), and deploy them behind a single user friendly API, each brain a different endpoint. Brains are exposed as Model Context Protocol (MCP) tools, making them accessible to any MCP-compatible AI assistant.
Clone the repository and install dependencies:
$ git clone https://github.com/C0deMunk33/bespoke_automata
$ cd bespoke_automata
$ npm install
$ npm start
Open your browser to http://localhost:9999. The app has three tabs:
Brains are saved to the graphs/ directory. Saving in the editor makes them immediately available to the MCP server and runner.
The server exposes an MCP SSE endpoint at http://localhost:9999/sse. Each brain in graphs/ is registered as an MCP tool. Connect any MCP-compatible client (Cursor, Claude Desktop, etc.) to this endpoint to use your brains as AI tools.
| Environment Variable | Default | Description |
|---|---|---|
PORT | 9999 | Server port |
| Endpoint | Method | Description |
|---|---|---|
/ | GET | Web UI |
/sse | GET | MCP SSE connection |
/messages | POST | MCP message handler |
/api/graphs | GET | List saved graph names |
/api/graphs/:name | GET | Load a graph |
/api/graphs/:name | PUT | Save a graph |
/api/graphs/:name | DELETE | Delete a graph |
/api/brains | GET | List deployed brains with schemas |
/api/brains/reload | POST | Reload brains from disk |
/api/brains/:name/run | POST | Execute a brain |
/api/status | GET | Server status |
/health | GET | Health check |
To run only the MCP server without the web UI:
$ npm run mcp
The BA API uses llama-cpp-python for local text inference and vision.
../models/text../models/visionInstallation by platform:
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-pythonCMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python$env:CMAKE_ARGS = "-DLLAMA_CUBLAS=on" then pip install llama-cpp-pythonpip install llama-cpp-pythonThen run:
$ cd APIs/
$ python omni_api.py
The API server will be at your_ip:5000.
NOTE: On macOS, port 5000 collides with Airplay Receiver. Turn it off in Settings > General > Airdrop & Handoff, or change the port in the config.
bespoke_automata/
├── server.js # Unified Express server
├── package.json # Dependencies
├── graphs/ # Brain files (.brain)
├── libs/ # LiteGraph, nodes, and supporting libraries
├── public/ # Web UI (SPA)
│ └── index.html
├── bespoke_manager/
│ ├── core.js # Brain execution engine
│ ├── mcp_server.js # Standalone MCP server
│ ├── run.js # CLI brain runner
│ └── front_ends/ # Discord bot integrations
├── APIs/ # Python LLM API servers
└── README.md
./graphs/JavaScript
86.0%
Python
5.4%
HTML
4.8%
CSS
2.1%