{"id":44372603,"url":"https://github.com/firecrawl/open-agent-builder","last_synced_at":"2026-02-11T20:25:46.642Z","repository":{"id":319142380,"uuid":"1077683961","full_name":"firecrawl/open-agent-builder","owner":"firecrawl","description":"🔥 Visual workflow builder for AI agents powered by Firecrawl - drag-and-drop web scraping pipelines with real-time execution","archived":false,"fork":false,"pushed_at":"2025-10-20T15:15:47.000Z","size":1104,"stargazers_count":2025,"open_issues_count":11,"forks_count":388,"subscribers_count":14,"default_branch":"main","last_synced_at":"2026-01-24T03:30:20.301Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firecrawl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-16T15:34:46.000Z","updated_at":"2026-01-24T02:28:04.000Z","dependencies_parsed_at":"2025-10-18T07:24:54.568Z","dependency_job_id":"8f573243-9d9a-46a3-9630-43993b016ef9","html_url":"https://github.com/firecrawl/open-agent-builder","commit_stats":null,"previous_names":["firecrawl/open-agent-builder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/firecrawl/open-agent-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firecrawl%2Fopen-agent-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firecrawl%2Fopen-agent-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firecrawl%2Fopen-agent-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firecrawl%2Fopen-agent-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firecrawl","download_url":"https://codeload.github.com/firecrawl/open-agent-builder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firecrawl%2Fopen-agent-builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29343819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T20:11:40.865Z","status":"ssl_error","status_checked_at":"2026-02-11T20:10:41.637Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-11T20:25:46.053Z","updated_at":"2026-02-11T20:25:46.637Z","avatar_url":"https://github.com/firecrawl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open Agent Builder\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExcGNoY25xY2ptZTZtcDN6czBmdXJ2dnpkdWVjcXlqNXNhdjgyZXpkaiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/tWtopK29eXAbvaDpi5/giphy.gif\" alt=\"Demo\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n**Build, test, and deploy AI agent workflows with a visual no-code interface**\n\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)\n[![Firecrawl](https://img.shields.io/badge/Powered%20by-Firecrawl-orange)](https://firecrawl.dev)\n\n[Documentation](#documentation) • [Examples](#example-workflows)\n\n\u003c/div\u003e\n\n---\n\n## What is Open Agent Builder?\n\nOpen 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.\n\n**Perfect for:**\n- Web scraping and data extraction workflows\n- Multi-step AI agent pipelines\n- Automated research and content generation\n- Data transformation and analysis\n- Web automation with human-in-the-loop approvals\n\n\u003e **Note:** This project is actively under development. Some features are still in progress and we welcome contributions and PRs!\n\n---\n\n## Key Features\n\n### Visual Workflow Builder\n- **Drag-and-drop interface** for building agent workflows\n- **Real-time execution** with streaming updates\n- **8 core node types**: Start, Agent, MCP Tools, Transform, If/Else, While Loop, User Approval, End\n- **Template library** with pre-built workflows\n- **MCP protocol support** for extensible tool integration\n\n### Powered by Firecrawl\n- **Native Firecrawl integration** for web scraping and searching\n\n### Enterprise Features\n- **LangGraph execution engine** for reliable state management\n- **Clerk authentication** for secure multi-user access\n- **Convex database** for persistent storage\n- **API endpoints** for programmatic execution\n- **Human-in-the-loop** approvals for sensitive operations\n\n---\n\n## Tech Stack\n\n| Technology | Purpose |\n|-----------|---------|\n| **[Firecrawl](https://firecrawl.dev)** | Web scraping API for converting websites into LLM-ready data |\n| **[Next.js 16 (canary)](https://nextjs.org/)** | React framework with App Router for frontend and API routes |\n| **[TypeScript](https://www.typescriptlang.org/)** | Type-safe development across the stack |\n| **[LangGraph](https://github.com/langchain-ai/langgraph)** | Workflow orchestration engine with state management, conditional routing, and human-in-the-loop support |\n| **[Convex](https://convex.dev)** | Real-time database with automatic reactivity for workflows, executions, and user data |\n| **[Clerk](https://clerk.com)** | Authentication and user management with JWT integration |\n| **[Tailwind CSS](https://tailwindcss.com/)** | Utility-first CSS framework for responsive UI |\n| **[React Flow](https://reactflow.dev/)** | Visual workflow builder canvas with drag-and-drop nodes |\n| **[Anthropic](https://www.anthropic.com/)** | Claude AI integration with native MCP support (Claude Haiku 4.5 \u0026 Sonnet 4.5) |\n| **[OpenAI](https://platform.openai.com/)** | gpt-5 integration (MCP support coming soon) |\n| **[Groq](https://groq.com/)** | Fast inference for open models (MCP support coming soon) |\n| **[E2B](https://e2b.dev)** | Sandboxed code execution for secure transform nodes |\n| **[Vercel](https://vercel.com)** | Deployment platform with edge functions |\n\n---\n\n## Prerequisites\n\nBefore you begin, you'll need:\n\n1. **Node.js 18+** installed on your machine\n2. **Firecrawl API key** (Required for web scraping) - [Get one here](https://firecrawl.dev)\n3. **Convex account** - [Sign up free](https://convex.dev)\n4. **Clerk account** - [Sign up free](https://clerk.com)\n\n\u003e **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.\n\n---\n\n## Installation \u0026 Setup\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/firecrawl/open-agent-builder.git\ncd open-agent-builder\nnpm install\n```\n\n### 2. Set Up Convex (Database)\n\nConvex handles all workflow and execution data persistence.\n\n```bash\n# Install Convex CLI globally\nnpm install -g convex\n\n# Initialize Convex project\nnpx convex dev\n```\n\nThis will:\n- Open your browser to create/link a Convex project\n- Generate a `NEXT_PUBLIC_CONVEX_URL` in your `.env.local`\n- Start the Convex development server\n\nKeep the Convex dev server running in a separate terminal.\n\n### 3. Set Up Clerk (Authentication)\n\nClerk provides secure user authentication and management.\n\n1. Go to [clerk.com](https://clerk.com) and create a new application\n2. In your Clerk dashboard:\n   - Go to **API Keys**\n   - Copy your keys\n3. Go to **JWT Templates** → **Convex**:\n   - Click \"Apply\"\n   - Copy the issuer URL\n\nAdd to your `.env.local`:\n\n```bash\n# Clerk Authentication\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...\nCLERK_SECRET_KEY=sk_test_...\n\n# Clerk + Convex Integration\nCLERK_JWT_ISSUER_DOMAIN=https://your-clerk-domain.clerk.accounts.dev\n```\n\n### 4. Configure Convex Authentication\n\nEdit `convex/auth.config.ts` and update the domain:\n\n```typescript\nexport default {\n  providers: [\n    {\n      domain: \"https://your-clerk-domain.clerk.accounts.dev\", // Your Clerk issuer URL\n      applicationID: \"convex\",\n    },\n  ],\n};\n```\n\nThen push the auth config to Convex:\n\n```bash\nnpx convex dev\n```\n\n### 5. Set Up Firecrawl (Required)\n\n**Firecrawl is the core web scraping engine** that powers most workflows.\n\n1. Get your API key at [firecrawl.dev](https://firecrawl.dev)\n2. Add to `.env.local`:\n\n```bash\n# Firecrawl API (REQUIRED)\nFIRECRAWL_API_KEY=fc-...\n```\n\n\u003e **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.\n\n### 6. Optional: Configure Default LLM Provider\n\nWhile users can add their own LLM API keys through the UI (Settings → API Keys), you can optionally set a default provider in `.env.local`:\n\n```bash\n# Optional: Choose one as default\n\n# Anthropic Claude (Recommended - Native MCP support with Haiku 4.5 \u0026 Sonnet 4.5)\nANTHROPIC_API_KEY=sk-ant-...\n\n# OpenAI GPT-5 (MCP support coming soon)\nOPENAI_API_KEY=sk-...\n\n# Groq (MCP support coming soon)\nGROQ_API_KEY=gsk_...\n```\n\n\u003e **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.\n\n### 7. Optional: E2B Code Interpreter\n\nFor advanced transform nodes with sandboxed code execution:\n\n```bash\n# E2B Code Interpreter (Optional)\nE2B_API_KEY=e2b_...\n```\n\nGet your key at [e2b.dev](https://e2b.dev)\n\n---\n\n## Running the Application\n\n### Development Mode\n\n```bash\n# Terminal 1: Convex dev server\nnpx convex dev\n\n# Terminal 2: Next.js dev server\nnpm run dev\n```\n\nOr run both with one command:\n\n```bash\nnpm run dev:all\n```\n\nVisit [http://localhost:3000](http://localhost:3000)\n\n### Production Build\n\n```bash\nnpm run build\nnpm start\n```\n\n---\n\n## Quick Start Guide\n\n### Your First Workflow\n\n1. **Sign Up/Login** at `http://localhost:3000`\n2. **Add your LLM API key** in Settings → API Keys\n   - For MCP tool support: Use Anthropic Claude (Haiku 4.5 or Sonnet 4.5)\n   - For basic workflows: OpenAI or Groq also work\n3. **Click \"New Workflow\"** or select a template\n4. **Try the \"Simple Web Scraper\" template:**\n   - Pre-configured to scrape any website\n   - Uses Firecrawl for extraction\n   - AI agent summarizes the content\n5. **Click \"Run\"** and enter a URL\n6. **Watch real-time execution** with streaming updates\n\n### Understanding Node Types\n\n| Node Type | Purpose | Example Use |\n|-----------|---------|-------------|\n| **Start** | Workflow entry point | Define input variables |\n| **Agent** | AI reasoning with LLMs | Analyze data, make decisions |\n| **MCP Tool** | External tool calls | Firecrawl scraping, APIs |\n| **Transform** | Data manipulation | Parse JSON, filter arrays |\n| **If/Else** | Conditional logic | Route based on conditions |\n| **While Loop** | Iteration | Process multiple pages |\n| **User Approval** | Human-in-the-loop | Review before posting |\n| **End** | Workflow completion | Return final output |\n\n---\n\n## MCP Tool Support\n\n### Current Support\n**Anthropic Claude** - Full native MCP support\n- Claude Sonnet 4.5 (Recommended)\n- Claude Haiku 4.5\n\nAnthropic's MCP implementation provides MCP support, other providers are currently in progress.\n\n### Coming Soon\n- **OpenAI** - MCP support in development\n- **Gemini** - MCP support in development\n- **Open Router** - coming soon...\n\n### Using MCP Tools\n\nMCP tools enable agents to interact with external services like Firecrawl:\n\n1. Add an **Agent** node to your workflow\n2. In the node settings, select **MCP Tools**\n3. Choose **Firecrawl** or add a custom MCP server\n4. The agent can now call Firecrawl tools like `scrape`, `search`, `crawl`\n\n**Example workflow with MCP:**\n```\nStart → Agent (with Firecrawl MCP) → End\n```\n\nThe agent can intelligently decide when to scrape pages, search the web, or crawl sites based on your instructions.\n\n---\n\n## Example Workflows\n\n### 1. Simple Web Scraper\n**What it does:** Scrape any website and get an AI summary\n\n**Nodes:** Start → Firecrawl Scrape → Agent Summary → End\n\n**Try it:**\n```bash\nInput: https://firecrawl.dev\nOutput: \"Firecrawl is a web scraping API that converts websites into LLM-ready markdown...\"\n```\n\n### 2. Multi-Page Research\n**What it does:** Search web, scrape top results, synthesize findings\n\n**Nodes:** Start → Firecrawl Search → Loop (Scrape Each) → Agent Synthesis → End\n\n### 3. Competitive Analysis\n**What it does:** Research companies, extract structured data, generate report\n\n**Nodes:** Start → Parse Companies → Loop (Research + Extract) → Approval → Export → End\n\n**Features used:**\n- Firecrawl web search\n- Structured JSON extraction\n- While loops for iteration\n- Human approval gates\n- Conditional routing\n\n### 4. Price Monitoring\n**What it does:** Track product prices across multiple sites\n\n**Nodes:** Start → Loop (Scrape + Extract Price) → Compare → Notify → End\n\n---\n\n## Configuration\n\n### User-Level API Keys\n\nUsers can add their own API keys via **Settings → API Keys**:\n\n- **LLM Providers:** Anthropic (Recommended for MCP), OpenAI, Groq (Required - add at least one)\n- **Firecrawl:** Personal API key (Optional - falls back to environment variable)\n- **Custom MCP Servers:** Authentication tokens\n\nThis allows:\n- Each user to use their own API quotas\n- Fallback to environment variables if not set\n- Easy key rotation and management\n\n### MCP Server Registry\n\nAdd custom MCP servers in **Settings → MCP Registry**:\n\n1. Click \"Add MCP Server\"\n2. Enter server URL and authentication\n3. Test connection to discover available tools\n4. Use in Agent nodes by selecting from MCP tools dropdown\n\n**Supported MCP Servers:**\n- Firecrawl (built-in)\n- Custom HTTP endpoints\n- Environment variable substitution: `{API_KEY}`\n\n---\n\n## Deployment\n\n### Deploying to Vercel\n\n1. **Push your code to GitHub**\n\n2. **Deploy to Vercel:**\n   ```bash\n   # Install Vercel CLI\n   npm i -g vercel\n   \n   # Deploy\n   vercel\n   ```\n\n3. **Set environment variables** in Vercel dashboard:\n   - `NEXT_PUBLIC_CONVEX_URL` (from Convex)\n   - Clerk keys\n   - `FIRECRAWL_API_KEY` (Required)\n   - Optional: Default LLM provider keys\n\n4. **Deploy Convex to production:**\n   ```bash\n   npx convex deploy\n   ```\n\n5. **Update Clerk settings:**\n   - Add your Vercel domain to allowed origins\n   - Update redirect URLs\n\n### Environment Variables Checklist\n\n**Required:**\n- `NEXT_PUBLIC_CONVEX_URL` - Convex database\n- `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` - Clerk auth\n- `CLERK_SECRET_KEY` - Clerk auth\n- `CLERK_JWT_ISSUER_DOMAIN` - Clerk + Convex integration\n- `FIRECRAWL_API_KEY` - Web scraping\n\n**Optional (can be added in UI instead):**\n- `ANTHROPIC_API_KEY` - Default Claude provider (Recommended for MCP)\n- `OPENAI_API_KEY` - Default gpt-5 provider (MCP coming soon)\n- `GROQ_API_KEY` - Default Groq provider (MCP coming soon)\n- `E2B_API_KEY` - Sandboxed code execution\n\n## API Usage\n\n### Programmatic Execution\n\nGenerate an API key in **Settings → API Keys**, then:\n\n```bash\ncurl -X POST https://your-domain.com/api/workflows/my-workflow-id/execute-stream \\\n  -H \"Authorization: Bearer sk_live_...\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://example.com\"}'\n```\n\n**Response:** Server-Sent Events (SSE) stream with real-time updates\n\n## Architecture\n\n```mermaid\n%%{init: {'flowchart': {'htmlLabels': false}} }%%\nflowchart TD\n  subgraph Frontend\n    A[\"Next.js Frontend\\n(React + Tailwind)\"]\n    A_desc[\"Visual workflow builder, real-time execution display, user settings and API key management\"]\n    A --\u003e A_desc\n  end\n\n  subgraph Backend\n    B[\"API Routes (Next.js)\"]\n    B_desc[\"Workflow execution, authentication middleware, streaming SSE responses\"]\n    C[\"LangGraph Executor (Server-side only)\"]\n    C_desc[\"StateGraph orchestration, conditional routing, loop handling, human-in-the-loop interrupts\"]\n    B --\u003e B_desc\n    C --\u003e C_desc\n    A_desc --\u003e B\n    B_desc --\u003e C\n  end\n\n  subgraph Integrations\n    D1[\"Firecrawl API\"]\n    D2[\"LLMs (Claude, gpt-5, Groq)\"]\n    D3[\"MCP Servers\"]\n    C_desc --\u003e D1\n    C_desc --\u003e D2\n    C_desc --\u003e D3\n  end\n\n  D_common[\"Convex Database\"]\n  D_common_desc[\"Workflows, executions, user settings, MCP configurations\"]\n  D1 --\u003e D_common\n  D2 --\u003e D_common\n  D3 --\u003e D_common\n  D_common --\u003e D_common_desc\n```\n\u003c/details\u003e\n\n---\n\n\n## Project Status \u0026 Roadmap\n\n### In Progress\n- **MCP Support for OpenAI \u0026 Groq** - Adding native MCP protocol support\n- **OAuth MCP Authentication** - Support for OAuth-based MCP servers\n- **Additional MCP Integrations** - More pre-built MCP server connections\n- **Workflow Sharing** - Public template marketplace\n- **Scheduled Executions** - Cron-based workflow triggers\n\n### Partial Support\n- **E2B Code Interpreter** - Transform node sandboxing (requires E2B API key)\n- **Complex Loop Patterns** - Nested loops and advanced iteration\n- **Custom Node Types** - Plugin system for community nodes\n\n### Coming Soon\n- Full MCP support for all LLM providers\n- OAuth authentication for MCP servers\n\nWe welcome contributions and PRs to help build these features!\n\n## License\n\nThis project is licensed under the MIT License \n\n\u003cdiv align=\"center\"\u003e\n\n**[Star us on GitHub](https://github.com/firecrawl/open-agent-builder)** | **[Try Firecrawl](https://firecrawl.dev)** \n\nMade with love by the Firecrawl team\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirecrawl%2Fopen-agent-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirecrawl%2Fopen-agent-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirecrawl%2Fopen-agent-builder/lists"}