# open-agent-builder **Repository Path**: mirrors_trending/open-agent-builder ## Basic Information - **Project Name**: open-agent-builder - **Description**: 🔥 Visual workflow builder for AI agents powered by Firecrawl - drag-and-drop web scraping pipelines with real-time execution - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-20 - **Last Updated**: 2025-12-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Open Agent Builder

Demo

**Build, test, and deploy AI agent workflows with a visual no-code interface** [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/) [![Firecrawl](https://img.shields.io/badge/Powered%20by-Firecrawl-orange)](https://firecrawl.dev) [Documentation](#documentation) • [Examples](#example-workflows)
--- ## What is Open Agent Builder? Open Agent Builder is a visual workflow builder for creating AI agent pipelines powered by [Firecrawl](https://firecrawl.dev). Design complex agent workflows with a drag-and-drop interface, then execute them with real-time streaming updates. **Perfect for:** - Web scraping and data extraction workflows - Multi-step AI agent pipelines - Automated research and content generation - Data transformation and analysis - Web automation with human-in-the-loop approvals > **Note:** This project is actively under development. Some features are still in progress and we welcome contributions and PRs! --- ## Key Features ### Visual Workflow Builder - **Drag-and-drop interface** for building agent workflows - **Real-time execution** with streaming updates - **8 core node types**: Start, Agent, MCP Tools, Transform, If/Else, While Loop, User Approval, End - **Template library** with pre-built workflows - **MCP protocol support** for extensible tool integration ### Powered by Firecrawl - **Native Firecrawl integration** for web scraping and searching ### Enterprise Features - **LangGraph execution engine** for reliable state management - **Clerk authentication** for secure multi-user access - **Convex database** for persistent storage - **API endpoints** for programmatic execution - **Human-in-the-loop** approvals for sensitive operations --- ## Tech Stack | Technology | Purpose | |-----------|---------| | **[Firecrawl](https://firecrawl.dev)** | Web scraping API for converting websites into LLM-ready data | | **[Next.js 16 (canary)](https://nextjs.org/)** | React framework with App Router for frontend and API routes | | **[TypeScript](https://www.typescriptlang.org/)** | Type-safe development across the stack | | **[LangGraph](https://github.com/langchain-ai/langgraph)** | Workflow orchestration engine with state management, conditional routing, and human-in-the-loop support | | **[Convex](https://convex.dev)** | Real-time database with automatic reactivity for workflows, executions, and user data | | **[Clerk](https://clerk.com)** | Authentication and user management with JWT integration | | **[Tailwind CSS](https://tailwindcss.com/)** | Utility-first CSS framework for responsive UI | | **[React Flow](https://reactflow.dev/)** | Visual workflow builder canvas with drag-and-drop nodes | | **[Anthropic](https://www.anthropic.com/)** | Claude AI integration with native MCP support (Claude Haiku 4.5 & Sonnet 4.5) | | **[OpenAI](https://platform.openai.com/)** | gpt-5 integration (MCP support coming soon) | | **[Groq](https://groq.com/)** | Fast inference for open models (MCP support coming soon) | | **[E2B](https://e2b.dev)** | Sandboxed code execution for secure transform nodes | | **[Vercel](https://vercel.com)** | Deployment platform with edge functions | --- ## Prerequisites Before you begin, you'll need: 1. **Node.js 18+** installed on your machine 2. **Firecrawl API key** (Required for web scraping) - [Get one here](https://firecrawl.dev) 3. **Convex account** - [Sign up free](https://convex.dev) 4. **Clerk account** - [Sign up free](https://clerk.com) > **Note:** LLM API keys can be added directly in the UI via Settings → API Keys after setup. For MCP tool support, Anthropic Claude (Haiku 4.5 or Sonnet 4.5) is currently recommended as the default option. --- ## Installation & Setup ### 1. Clone the Repository ```bash git clone https://github.com/firecrawl/open-agent-builder.git cd open-agent-builder npm install ``` ### 2. Set Up Convex (Database) Convex handles all workflow and execution data persistence. ```bash # Install Convex CLI globally npm install -g convex # Initialize Convex project npx convex dev ``` This will: - Open your browser to create/link a Convex project - Generate a `NEXT_PUBLIC_CONVEX_URL` in your `.env.local` - Start the Convex development server Keep the Convex dev server running in a separate terminal. ### 3. Set Up Clerk (Authentication) Clerk provides secure user authentication and management. 1. Go to [clerk.com](https://clerk.com) and create a new application 2. In your Clerk dashboard: - Go to **API Keys** - Copy your keys 3. Go to **JWT Templates** → **Convex**: - Click "Apply" - Copy the issuer URL Add to your `.env.local`: ```bash # Clerk Authentication NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_... CLERK_SECRET_KEY=sk_test_... # Clerk + Convex Integration CLERK_JWT_ISSUER_DOMAIN=https://your-clerk-domain.clerk.accounts.dev ``` ### 4. Configure Convex Authentication Edit `convex/auth.config.ts` and update the domain: ```typescript export default { providers: [ { domain: "https://your-clerk-domain.clerk.accounts.dev", // Your Clerk issuer URL applicationID: "convex", }, ], }; ``` Then push the auth config to Convex: ```bash npx convex dev ``` ### 5. Set Up Firecrawl (Required) **Firecrawl is the core web scraping engine** that powers most workflows. 1. Get your API key at [firecrawl.dev](https://firecrawl.dev) 2. Add to `.env.local`: ```bash # Firecrawl API (REQUIRED) FIRECRAWL_API_KEY=fc-... ``` > **Note:** Users can also add their own Firecrawl keys in Settings → API Keys, but having a default key in `.env.local` enables the template workflows. ### 6. Optional: Configure Default LLM Provider While users can add their own LLM API keys through the UI (Settings → API Keys), you can optionally set a default provider in `.env.local`: ```bash # Optional: Choose one as default # Anthropic Claude (Recommended - Native MCP support with Haiku 4.5 & Sonnet 4.5) ANTHROPIC_API_KEY=sk-ant-... # OpenAI GPT-5 (MCP support coming soon) OPENAI_API_KEY=sk-... # Groq (MCP support coming soon) GROQ_API_KEY=gsk_... ``` > **Important:** For workflows using MCP tools (like Firecrawl integration), Anthropic Claude is currently the recommended provider as it has native MCP support. OpenAI and Groq MCP support is coming soon. ### 7. Optional: E2B Code Interpreter For advanced transform nodes with sandboxed code execution: ```bash # E2B Code Interpreter (Optional) E2B_API_KEY=e2b_... ``` Get your key at [e2b.dev](https://e2b.dev) --- ## Running the Application ### Development Mode ```bash # Terminal 1: Convex dev server npx convex dev # Terminal 2: Next.js dev server npm run dev ``` Or run both with one command: ```bash npm run dev:all ``` Visit [http://localhost:3000](http://localhost:3000) ### Production Build ```bash npm run build npm start ``` --- ## Quick Start Guide ### Your First Workflow 1. **Sign Up/Login** at `http://localhost:3000` 2. **Add your LLM API key** in Settings → API Keys - For MCP tool support: Use Anthropic Claude (Haiku 4.5 or Sonnet 4.5) - For basic workflows: OpenAI or Groq also work 3. **Click "New Workflow"** or select a template 4. **Try the "Simple Web Scraper" template:** - Pre-configured to scrape any website - Uses Firecrawl for extraction - AI agent summarizes the content 5. **Click "Run"** and enter a URL 6. **Watch real-time execution** with streaming updates ### Understanding Node Types | Node Type | Purpose | Example Use | |-----------|---------|-------------| | **Start** | Workflow entry point | Define input variables | | **Agent** | AI reasoning with LLMs | Analyze data, make decisions | | **MCP Tool** | External tool calls | Firecrawl scraping, APIs | | **Transform** | Data manipulation | Parse JSON, filter arrays | | **If/Else** | Conditional logic | Route based on conditions | | **While Loop** | Iteration | Process multiple pages | | **User Approval** | Human-in-the-loop | Review before posting | | **End** | Workflow completion | Return final output | --- ## MCP Tool Support ### Current Support **Anthropic Claude** - Full native MCP support - Claude Sonnet 4.5 (Recommended) - Claude Haiku 4.5 Anthropic's MCP implementation provides MCP support, other providers are currently in progress. ### Coming Soon - **OpenAI** - MCP support in development - **Gemini** - MCP support in development - **Open Router** - coming soon... ### Using MCP Tools MCP tools enable agents to interact with external services like Firecrawl: 1. Add an **Agent** node to your workflow 2. In the node settings, select **MCP Tools** 3. Choose **Firecrawl** or add a custom MCP server 4. The agent can now call Firecrawl tools like `scrape`, `search`, `crawl` **Example workflow with MCP:** ``` Start → Agent (with Firecrawl MCP) → End ``` The agent can intelligently decide when to scrape pages, search the web, or crawl sites based on your instructions. --- ## Example Workflows ### 1. Simple Web Scraper **What it does:** Scrape any website and get an AI summary **Nodes:** Start → Firecrawl Scrape → Agent Summary → End **Try it:** ```bash Input: https://firecrawl.dev Output: "Firecrawl is a web scraping API that converts websites into LLM-ready markdown..." ``` ### 2. Multi-Page Research **What it does:** Search web, scrape top results, synthesize findings **Nodes:** Start → Firecrawl Search → Loop (Scrape Each) → Agent Synthesis → End ### 3. Competitive Analysis **What it does:** Research companies, extract structured data, generate report **Nodes:** Start → Parse Companies → Loop (Research + Extract) → Approval → Export → End **Features used:** - Firecrawl web search - Structured JSON extraction - While loops for iteration - Human approval gates - Conditional routing ### 4. Price Monitoring **What it does:** Track product prices across multiple sites **Nodes:** Start → Loop (Scrape + Extract Price) → Compare → Notify → End --- ## Configuration ### User-Level API Keys Users can add their own API keys via **Settings → API Keys**: - **LLM Providers:** Anthropic (Recommended for MCP), OpenAI, Groq (Required - add at least one) - **Firecrawl:** Personal API key (Optional - falls back to environment variable) - **Custom MCP Servers:** Authentication tokens This allows: - Each user to use their own API quotas - Fallback to environment variables if not set - Easy key rotation and management ### MCP Server Registry Add custom MCP servers in **Settings → MCP Registry**: 1. Click "Add MCP Server" 2. Enter server URL and authentication 3. Test connection to discover available tools 4. Use in Agent nodes by selecting from MCP tools dropdown **Supported MCP Servers:** - Firecrawl (built-in) - Custom HTTP endpoints - Environment variable substitution: `{API_KEY}` --- ## Deployment ### Deploying to Vercel 1. **Push your code to GitHub** 2. **Deploy to Vercel:** ```bash # Install Vercel CLI npm i -g vercel # Deploy vercel ``` 3. **Set environment variables** in Vercel dashboard: - `NEXT_PUBLIC_CONVEX_URL` (from Convex) - Clerk keys - `FIRECRAWL_API_KEY` (Required) - Optional: Default LLM provider keys 4. **Deploy Convex to production:** ```bash npx convex deploy ``` 5. **Update Clerk settings:** - Add your Vercel domain to allowed origins - Update redirect URLs ### Environment Variables Checklist **Required:** - `NEXT_PUBLIC_CONVEX_URL` - Convex database - `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` - Clerk auth - `CLERK_SECRET_KEY` - Clerk auth - `CLERK_JWT_ISSUER_DOMAIN` - Clerk + Convex integration - `FIRECRAWL_API_KEY` - Web scraping **Optional (can be added in UI instead):** - `ANTHROPIC_API_KEY` - Default Claude provider (Recommended for MCP) - `OPENAI_API_KEY` - Default gpt-5 provider (MCP coming soon) - `GROQ_API_KEY` - Default Groq provider (MCP coming soon) - `E2B_API_KEY` - Sandboxed code execution ## API Usage ### Programmatic Execution Generate an API key in **Settings → API Keys**, then: ```bash curl -X POST https://your-domain.com/api/workflows/my-workflow-id/execute-stream \ -H "Authorization: Bearer sk_live_..." \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com"}' ``` **Response:** Server-Sent Events (SSE) stream with real-time updates ## Architecture ```mermaid %%{init: {'flowchart': {'htmlLabels': false}} }%% flowchart TD subgraph Frontend A["Next.js Frontend\n(React + Tailwind)"] A_desc["Visual workflow builder, real-time execution display, user settings and API key management"] A --> A_desc end subgraph Backend B["API Routes (Next.js)"] B_desc["Workflow execution, authentication middleware, streaming SSE responses"] C["LangGraph Executor (Server-side only)"] C_desc["StateGraph orchestration, conditional routing, loop handling, human-in-the-loop interrupts"] B --> B_desc C --> C_desc A_desc --> B B_desc --> C end subgraph Integrations D1["Firecrawl API"] D2["LLMs (Claude, gpt-5, Groq)"] D3["MCP Servers"] C_desc --> D1 C_desc --> D2 C_desc --> D3 end D_common["Convex Database"] D_common_desc["Workflows, executions, user settings, MCP configurations"] D1 --> D_common D2 --> D_common D3 --> D_common D_common --> D_common_desc ``` --- ## Project Status & Roadmap ### In Progress - **MCP Support for OpenAI & Groq** - Adding native MCP protocol support - **OAuth MCP Authentication** - Support for OAuth-based MCP servers - **Additional MCP Integrations** - More pre-built MCP server connections - **Workflow Sharing** - Public template marketplace - **Scheduled Executions** - Cron-based workflow triggers ### Partial Support - **E2B Code Interpreter** - Transform node sandboxing (requires E2B API key) - **Complex Loop Patterns** - Nested loops and advanced iteration - **Custom Node Types** - Plugin system for community nodes ### Coming Soon - Full MCP support for all LLM providers - OAuth authentication for MCP servers We welcome contributions and PRs to help build these features! ## License This project is licensed under the MIT License
**[Star us on GitHub](https://github.com/firecrawl/open-agent-builder)** | **[Try Firecrawl](https://firecrawl.dev)** Made with love by the Firecrawl team