A visual workflow editor for creating LangGraph agents through an intuitive drag-and-drop UI.
Agentish is the frontend UI for building AI agent workflows. It provides:
- Visual Graph Editor - Drag-and-drop interface for creating agent workflows
- Node Types - LLM nodes, Router nodes, Worker nodes, Entry points
- MCP Tool Integration - Load available tools from
challengish.yml - Bundle Export - Download your workflow as a bundle (ZIP with asl.json + layout.json)
frontend/index.html- Main visual editor UIfrontend/js/- Modular editor logic (ES modules)main.js- Entry point & editor bootstrapconstants.js- Configuration, node forms, type mapsstate.js- Shared mutable state (graph, canvas, tools)utils.js- Toast notifications, schema helpers, graph summarynodes.js- Node type definitions & registrationinspector.js- Property inspector panel renderingserialization.js- ASL import/export & layout I/Otools.js- Tool registry, function catalog, MCP hydrationui.js- Event bindings (keyboard, menus, modals, imports)litegraph-patches.js- Custom rendering patches for LiteGraph
frontend/styles.css- Stylingfrontend/litegraph.css+litegraph.min.js- Graph visualization library
backend/server_agentish.py- Serves frontend and MCP tool catalog
- Python 3.11+
- Flask, Flask-CORS, PyYAML
-
Install dependencies:
pip install flask flask-cors pyyaml
-
(Optional) Create a
challengish.ymlto define MCP tools:mcp_servers: - name: "my_server" port: 8002 internal_host: "mcp_server" routes: - function: "my_tool" endpoint: "/mcp/my_tool" method: "GET" description: "My tool description"
-
Run the server:
CHALLENGISH_CONFIG_PATH=challengish.yml python backend/server_agentish.py --port 8000
-
Open http://localhost:8000 in your browser
- Add Nodes - Right-click on the canvas to add nodes
- Connect Nodes - Drag from output to input slots
- Configure Nodes - Click on a node to edit its properties
- Export Bundle - Click "Download Bundle" to get a ZIP file
The exported bundle contains:
asl.json- The ASL (Agent Specification Language) workflow definitionlayout.json- Visual layout information for the graph
Agentish does NOT execute agents. It only creates workflow definitions.
To execute your agent, use the agentish-ctf execution environment:
- Export your bundle from Agentish
- Upload the bundle to agentish-ctf sandbox
- The sandbox compiles and executes your agent with access to MCP tools
GET /- Serve the visual editor UIGET /config.json- Frontend configurationGET /api/mcp/tools- List available MCP tools from challengish.ymlPOST /api/bundle/download- Create and download a bundle ZIPGET /health- Health check
CHALLENGISH_CONFIG_PATH- Path to challengish.yml (default:challengish.yml)
Defines available MCP tools that will be shown in the editor:
challenge_name: "My Challenge"
challenge_id: "my-challenge-001"
mcp_servers:
- name: "binary_analysis"
port: 8002
internal_host: "mcp_binary"
enabled: true
routes:
- function: "list_functions"
endpoint: "/mcp/list_functions"
method: "GET"
description: "List all functions in the binary"
arguments: []
return_schema:
success: "bool"
functions: "list"- agentish-ctf - Execution environment for compiling and running agent bundles
- agentish-challenges - CTF challenges using the Agentish framework