{"slug": "behive-open-source-research-engine-that-outputs-structured-claims-not-essays", "title": "BeHive – Open-source research engine that outputs structured claims, not essays", "summary": "BeHive, an open-source research engine that extracts structured claims with confidence scores, entity graphs, and synthesized reports from any topic, has been released by QA10 Dev Team. The tool outputs machine-readable JSON instead of unstructured text, supports multiple LLM backends including Anthropic and OpenAI, and costs between $0.30 and $4.00 per mission depending on the preset configuration.", "body_md": "**Open-source research engine that extracts structured knowledge from any topic.**\n\nFeed it a question. Get back scored claims, entity graphs, and a synthesized report — not paragraphs of slop.\n\n[Quick Start](#quick-start) •\n[Use with AI Assistants](#use-with-claude--chatgpt--gemini) •\n[Drone Arsenal](#drone-arsenal) •\n[Benchmarks](#benchmarks) •\n[Architecture](#architecture) •\n[API](#api-reference) •\n[Self-Hosting](#self-hosting) •\n[Integrations](#integrations)\n\nYou ask Claude to research a topic. It gives you a confident-sounding summary based on training data that's months old. No sources. No structure. No way to verify.\n\nYou ask Perplexity. Better — it cites sources. But the output is still unstructured text. You can't query it, cross-reference it, or build on it.\n\n**BeHive is different.** It produces **machine-readable intelligence**: typed claims with confidence scores, entity relationship graphs, and structured JSON you can pipe into any downstream system.\n\n```\nYour AI assistant → BeHive → Verified, structured, scored knowledge\n                              ├── 363 claims (avg quality 0.77)\n                              ├── 42 entities with relationships\n                              └── Synthesized report with citations\npip install behive\n\n# Set your LLM API key (you use YOUR OWN subscription — BeHive costs nothing)\nexport ANTHROPIC_API_KEY=your-key  # or OPENAI_API_KEY, or AWS creds for Bedrock\n\n# PostgreSQL required for storage (or use Docker below)\nexport BEHIVE_DB_URL=postgresql://user:***@localhost:5432/behive\n\n# Start the server\nbehive serve\n```\n\n**Fastest path — Docker Compose (PostgreSQL included):**\n\n```\ngit clone https://github.com/qa10devteam/behive && cd behive\necho \"ANTHROPIC_API_KEY=your-key\" > .env\ndocker compose up -d\n# API at http://localhost:8091\n```\n\n**Full install** (stealth drones, content extraction, NLP processing):\n\n```\npip install \"behive[all]\"\n```\n\n⚠️ GPU/CUDA note:`behive[all]`\n\ndoes NOT include GPU dependencies. If you need vector embeddings (Qdrant), install separately:`pip install \"behive[qdrant]\"`\n\n— this pulls PyTorch + sentence-transformers (~4GB with CUDA). For CPU-only machines, install torch CPU-only first:`pip install torch --index-url https://download.pytorch.org/whl/cpu`\n\nOr pick what you need:\n\n```\npip install \"behive[stealth]\"   # curl_cffi, primp, nodriver, patchright\npip install \"behive[harvest]\"   # trafilatura, newspaper4k, PyMuPDF, crawl4ai\npip install \"behive[process]\"   # rapidfuzz, spacy, litellm, tiktoken\npip install \"behive[mcp,api]\"   # MCP server + REST API\n```\n\nThat's it. BeHive is now running:\n\n**API**→`http://localhost:8091`\n\n(REST endpoints)**MCP**→`http://localhost:8090/mcp`\n\n(for AI assistants)**Docs**→`http://localhost:8091/docs`\n\n(Swagger UI)\n\nBeHive doesn't force you into one model. You choose what runs each pipeline stage:\n\n| Stage | Role | Recommended |\n|---|---|---|\nscout |\nQuery generation, source discovery | Haiku / GPT-4o-mini / local |\nharvest |\nRelevance filtering, content triage | Haiku / GPT-4o-mini / local |\nprocess |\nClaim extraction, quality scoring | Haiku or Sonnet |\nsynth |\nReport synthesis, deduplication | Sonnet / Opus / GPT-4o |\n\n```\n# Apply a preset\nbehive config --preset balanced   # Haiku collects, Sonnet synthesizes (~$1.50/mission)\nbehive config --preset budget     # Haiku everywhere (~$0.30/mission)\nbehive config --preset quality    # Sonnet everywhere (~$4.00/mission)\nbehive config --preset local      # Your own LLM server ($0.00/mission)\nbehive config --quick    # Pick one model for everything\nbehive config --full     # Choose model per stage (interactive)\n# Set a single stage\nbehive config --stage synth --model claude-opus\nbehive config --stage scout --model ollama/deepseek-r1\n\n# Check current config\nbehive config --show\nexport BEHIVE_MODEL_SCOUT=ollama/llama3.1\nexport BEHIVE_MODEL_SYNTH=anthropic/claude-sonnet-4-20250514\nbehive serve\n```\n\nPriority: `BEHIVE_MODEL_{STAGE}`\n\n> `BEHIVE_MODEL`\n\n> config.yaml > defaults\n\n| Preset | Model String |\n|---|---|\n`claude-haiku` |\nanthropic/claude-haiku-4-5-20251001 |\n`claude-sonnet` |\nanthropic/claude-sonnet-4-20250514 |\n`claude-opus` |\nanthropic/claude-opus-4-20250514 |\n`gpt-4o-mini` |\nopenai/gpt-4o-mini |\n`gpt-4o` |\nopenai/gpt-4o |\n`gpt-4.1` |\nopenai/gpt-4.1 |\n`gemini-flash` |\ngoogle/gemini-2.5-flash |\n`gemini-pro` |\ngoogle/gemini-2.5-pro |\n`bedrock-haiku` |\nbedrock/us.anthropic.claude-haiku-4-5-... |\n`bedrock-sonnet` |\nbedrock/us.anthropic.claude-sonnet-4-6-... |\n`local` |\nopenai/local-model (any OpenAI-compatible server) |\n`ollama` |\nollama/llama3.1 |\n\nOr pass any [litellm-compatible](https://docs.litellm.ai/docs/providers) model string directly.\n\nYou bring your Claude subscription. BeHive adds research superpowers. No extra cost from us.\n\n**Step 1:** Install and start BeHive:\n\n```\npip install behive\nexport ANTHROPIC_API_KEY=*** # your own key\nbehive serve\n```\n\n**Step 2:** Open Claude Desktop → Settings → Developer → Edit Config → paste:\n\n```\n{\n  \"mcpServers\": {\n    \"behive\": {\n      \"url\": \"http://localhost:8090/mcp\",\n      \"transport\": \"streamable-http\"\n    }\n  }\n}\n```\n\n**Step 3:** Restart Claude Desktop. Done. Now ask:\n\n\"Research the EU AI Act enforcement timeline and penalties\"\n\nClaude will call BeHive automatically, fetch 200+ sources, and return scored claims instead of guessing from training data.\n\n**What happens under the hood**\n\n```\nYou ask Claude a question\n    ↓\nClaude calls BeHive MCP tool \"research_topic\"\n    ↓\nBeHive scouts 70+ APIs, fetches 1000+ URLs via stealth drones\n    ↓\nYour LLM key extracts claims (Claude Haiku = ~$0.50 per mission)\n    ↓\nBeHive scores, deduplicates, builds knowledge graph\n    ↓\nReturns structured report to Claude\n    ↓\nClaude presents findings with confidence scores and source links\n```\n\n**Cost: ~$0.30–$2.00 per research mission** (your Anthropic/OpenAI tokens).\nBeHive itself: **free forever** (MIT license).\n\n**Step 1:** Start BeHive on a server with a public URL (or use tunneling):\n\n```\npip install behive\nexport OPENAI_API_KEY=*** # your own key\nbehive serve --host 0.0.0.0\n\n# Expose with a tunnel (for testing):\n# npx cloudflared tunnel --url http://localhost:8091\n```\n\n**Step 2:** Create a Custom GPT at [chat.openai.com/gpts/editor](https://chat.openai.com/gpts/editor):\n\n**Name:**\"Deep Researcher (BeHive)\"** Instructions:**\"You are a research analyst. Use the BeHive actions to research topics. Always cite claim confidence scores.\"** Actions → Import URL:**paste your server URL +`/openapi.json`\n\nOr manually add this schema:\n\n```\nopenapi: 3.1.0\ninfo:\n  title: BeHive Research API\n  version: 0.3.0\nservers:\n  - url: https://*** paths:\n  /research:\n    post:\n      operationId: startResearch\n      summary: Start a deep research mission\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              required: [query]\n              properties:\n                query:\n                  type: string\n                  description: Research topic or question\n                depth:\n                  type: integer\n                  default: 3\n                  description: 1=quick, 3=standard, 5=deep\n      responses:\n        '200':\n          description: Mission started successfully\n  /research/{mission_id}:\n    get:\n      operationId: getResearchResults\n      summary: Get completed research with scored claims\n      parameters:\n        - name: mission_id\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: Research results with claims and report\n  /claims/search:\n    get:\n      operationId: searchKnowledge\n      summary: Search across all previously researched knowledge\n      parameters:\n        - name: q\n          in: query\n          required: true\n          schema:\n            type: string\n        - name: limit\n          in: query\n          schema:\n            type: integer\n            default: 20\n      responses:\n        '200':\n          description: Matching claims with scores\n```\n\n**Step 3:** Use your Custom GPT. Ask: \"Research quantum computing breakthroughs 2026\"\n\nAny editor or tool supporting MCP works identically to Claude Desktop:\n\n```\n{\n  \"mcpServers\": {\n    \"behive\": {\n      \"url\": \"http://localhost:8090/mcp\",\n      \"transport\": \"streamable-http\"\n    }\n  }\n}\n```\n\n**Available MCP tools:**\n\n| Tool | Description |\n|---|---|\n`research_topic` |\nStart a deep research mission (returns job_id) |\n`mission_status` |\nPoll running mission progress |\n`get_report` |\nGet synthesized report for completed mission |\n`search_knowledge` |\nSearch all previously extracted claims |\n\n**Hermes Agent** (automatic — skill already published):\n\n```\n# BeHive skill auto-loads when you ask Hermes to research anything\n# Just ensure behive serve is running on the same machine\nbehive serve\n```\n\n**OpenClaw:**\n\n```\n# Install from integrations directory\ncp integrations/openclaw/SKILL.md ~/.openclaw/skills/behive-research.md\n```\n\nBeHive doesn't just search the web. It deploys **stealth drones** — multi-layered fetch agents that break through anti-bot defenses, paywalls, and rate limits.\n\nEvery URL goes through an **escalation cascade**. If Layer 1 gets blocked, Layer 2 fires. All the way to Layer 8.\n\n```\nLayer 1 │ DIRECT          — aiohttp + full Chrome 131 headers\nLayer 2 │ UA ROTATION     — 10 browser fingerprints (Chrome/Firefox/Safari/Edge)\nLayer 3 │ curl_cffi       — TLS impersonation (JA3/JA4 fingerprint matching)\nLayer 4 │ primp           — Rust-native TLS, newer fingerprints than curl_cffi\nLayer 5 │ nodriver        — Headless Chrome via CDP, passes Cloudflare Bot Management\nLayer 6 │ patchright      — Stealth Playwright (no Runtime.enable/Console.enable leak)\nLayer 7 │ Jina relay      — r.jina.ai proxy (paywall + captcha bypass)\nLayer 8 │ Archives        — Wayback Machine + archive.org fallback\n```\n\n| Defense | How |\n|---|---|\n| Cloudflare | Detected → escalate to nodriver/patchright (JS challenge solved) |\n| DataDome | TLS fingerprint rotation (primp/curl_cffi) |\n| Akamai Bot Manager | CDP-based headless + real browser UA pool |\n| Rate limits | Automatic backoff + UA rotation + parallel diversification |\n| Paywalls | Jina relay proxy + archive.org cache |\n| Turnstile CAPTCHA | patchright stealth Playwright |\n| 403/429 blocks | Smart retry with escalation, never hammer the same layer |\n\n```\n                    ┌─── HEAD sweep (974+ URLs, async semaphore) ───┐\n                    │                                                │\n                    ▼                                                ▼\n          ┌─────────────────┐                            ┌────────────────┐\n          │  Resource Router │                            │  Domain Recon  │\n          │  (8 resource     │                            │  (tier scoring │\n          │   types detected)│                            │   reputation)  │\n          └────────┬────────┘                            └───────┬────────┘\n                   │                                              │\n        ┌──────────┼──────────┬──────────┐                       │\n        ▼          ▼          ▼          ▼                       ▼\n   api_bee    pdf_drone   std_drone  heavy_drone         domain_score\n   (70 APIs)  (VLM parse) (Layer 1-8) (patchright)       (0.0 - 1.0)\n```\n\n**Routing decisions per resource type:**\n\n`api_endpoint`\n\n→ Direct API bee (structured JSON, no parsing needed)`pdf`\n\n→ PDF drone (Vision LLM extraction)`static_html`\n\n→ Standard drone (Layer 1-4 usually sufficient)`spa`\n\n→ Heavy drone (Layer 5-6, needs JS execution)`paywall`\n\n→ Jina relay or archive fallback`rss_feed`\n\n→ RSS bee (structured, fast)`database_portal`\n\n→ Dedicated connector (custom scraping logic)\n\nScout bees don't just Google. They query **specialized APIs** across 37 categories:\n\n| Category | APIs | Examples |\n|---|---|---|\n| Academic | 5 | arXiv, Semantic Scholar, CrossRef, OpenAlex, CORE |\n| Financial | 6 | SEC EDGAR, Yahoo Finance, FRED, ECB, World Bank |\n| Government | 5 | TED (EU procurement), SAM.gov, UK FTS, BZP (Poland), GUS |\n| Security | 6 | CVE/NVD, Shodan, VirusTotal, AbuseIPDB |\n| Development | 8 | GitHub, npm, PyPI, crates.io, Docker Hub, Homebrew |\n| ML/AI | 5 | HuggingFace, Papers With Code, Replicate, Ollama |\n| News | 4 | NewsAPI, GNews, TheNewsAPI, Mediastack |\n| Crypto | 2 | CoinGecko, CoinMarketCap |\n| Patents | 1 | Google Patents (via SerpAPI) |\n| Medical | 1 | PubMed/NCBI |\n| ... | 25+ | Trade, geopolitics, environment, demographics, ... |\n\n**Total: 70 APIs, 125 endpoints** — each checked per-mission based on topic relevance.\n\nReal results. No cherry-picking. Scale 30 (standard depth).\n\n**Hardware:** EC2 g6.24xlarge — 4× NVIDIA L4 (92 GB VRAM), 96 vCPU, 384 GB RAM\n\n**Models:** Bedrock Claude Haiku (bulk extraction) + Sonnet (enrichment), SGLang/Qwen on local GPUs\n\n| Topic | Claims | Avg Quality | Duration | Sources |\n|---|---|---|---|---|\n| NVIDIA GPU market 2026 | 290 | 0.797 |\n8 min | 234 |\n| OpenAI GPT-5 capabilities | 574 | 0.789 |\n12 min | 174 |\n| EU AI Act enforcement | 267 | 0.759 |\n6 min | 130 |\n| Perplexity AI business model | 267 | 0.759 |\n7 min | 150 |\n| Meta Llama 4 architecture | 568 | 0.821 |\n11 min | 198 |\n\n**Quality score meaning:**\n\n`0.90+`\n\n— Exceptional: specific numbers, dates, sources, fully verifiable`0.82+`\n\n— Excellent: multi-source corroboration, publication-ready (top 25% of missions)`0.75+`\n\n— Good: useful intelligence with some specifics`0.65+`\n\n— Acceptable: general facts, entered into DB`<0.55`\n\n— Rejected: too vague, not stored\n\nHonest scoring, no tricks.No sigmoid rescaling, no artificial inflation. The score is a weighted average of specificity, information density, uniqueness, verifiability, and structure.\n\n```\n                         ┌──────────────────────────────────┐\n                         │         BeHive Pipeline           │\n                         └──────────────────────────────────┘\n                                        │\n        ┌───────────┬───────────┬───────┴───────┬───────────┬───────────┐\n        ▼           ▼           ▼               ▼           ▼           ▼\n   ┌─────────┐ ┌─────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ ┌────────┐\n   │  SCOUT  │ │ HARVEST │ │ PROCESS  │ │   V4     │ │  SYNTH  │ │ GRAPH  │\n   │         │ │         │ │          │ │          │ │         │ │        │\n   │ Queen   │ │ Parallel│ │ BeeHive  │ │ Haiku    │ │ Claude  │ │ Neo4j  │\n   │ plans   │ │ HTTP    │ │ fast     │ │ extract  │ │ report  │ │ entity │\n   │ 5 axes  │ │ 1000+   │ │ extract  │ │ + Sonnet │ │ + cite  │ │ fuse   │\n   │ × N     │ │ URLs    │ │ + score  │ │ enrich   │ │         │ │        │\n   └─────────┘ └─────────┘ └──────────┘ └──────────┘ └─────────┘ └────────┘\n       │              │            │            │            │          │\n       │              │            ▼            │            │          │\n       │              │    ┌──────────────┐     │            │          │\n       │              │    │ Quality Gate │     │            │          │\n       │              │    │  conf ≥ 0.55 │     │            │          │\n       │              │    │  dedup 0.60  │     │            │          │\n       │              │    └──────────────┘     │            │          │\n       │              │            │            │            │          │\n       └──────────────┴────────────┴────────────┴────────────┴──────────┘\n                                        │\n                              ┌─────────┴─────────┐\n                              │   PostgreSQL       │\n                              │   Claims + KG      │\n                              │   25K+ records     │\n                              └───────────────────┘\n```\n\n**What makes it different from GPT-Researcher:**\n\n**Dual-model extraction**— Fast model (Haiku) for bulk extraction, powerful model (Sonnet) for enriching thin claims. Not just \"summarize this page.\"**Quality scoring**— Every claim gets a 0.0-1.0 score. Below threshold = rejected. No filler.** Knowledge graph**— Entities and relationships persist across missions. Research compounds.** 70+ API sources**— Not just web search. SEC filings, arXiv, patent databases, government APIs.** Deduplication**— Jaccard 0.60 threshold prevents the same fact from different sources inflating counts.\n\nBeHive exposes a REST API (port 8091) and MCP server (port 8090).\n\n```\ncurl -X POST http://localhost:8091/research \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"query\": \"SpaceX Starship launch cadence 2026\",\n    \"depth\": 3,\n    \"scale\": 30\n  }'\n# → {\"job_id\": \"hive_1785227949_815112\", \"status\": \"started\"}\ncurl -N http://localhost:8091/research/hive_1785227949_815112/events\nevent: start\ndata: {\"topic\": \"SpaceX Starship...\", \"status\": \"scout\"}\n\nevent: phase\ndata: {\"phase\": \"process\", \"event\": \"started\"}\n\nevent: claims\ndata: {\"count\": 142, \"avg_quality\": 0.77, \"above_082\": 23, \"new_since_last\": 18}\n\nevent: done\ndata: {\"total_claims\": 363, \"avg_quality\": 0.77, \"sources\": 64}\ncurl http://localhost:8091/research/hive_1785227949_815112/report\n# → {\"synthesis\": \"## SpaceX Starship...\", \"claims_count\": 363, ...}\n# Full-text search across all missions\ncurl \"http://localhost:8091/search?query=NVIDIA+revenue&limit=20\"\n\n# Entity intelligence\ncurl http://localhost:8091/intelligence/entity/NVIDIA\n\n# Network graph (2-hop neighborhood)  \ncurl \"http://localhost:8091/intelligence/network/OpenAI?depth=2\"\n```\n\n| Method | Path | Description |\n|---|---|---|\n`POST` |\n`/research` |\nStart new mission |\n`GET` |\n`/research/{id}/status` |\nCheck progress |\n`GET` |\n`/research/{id}/events` |\nSSE stream |\n`GET` |\n`/research/{id}/report` |\nGet synthesis |\n`GET` |\n`/search` |\nQuery claims |\n`GET` |\n`/intelligence/entity/{name}` |\nEntity details |\n`GET` |\n`/intelligence/network/{name}` |\nRelationship graph |\n`GET` |\n`/intelligence/stats` |\nSystem statistics |\n\nFull Swagger docs: `http://localhost:8091/docs`\n\nBeHive implements the [Model Context Protocol](https://modelcontextprotocol.io) — the emerging standard for AI tool connectivity.\n\n```\n{\n  \"mcpServers\": {\n    \"behive\": {\n      \"url\": \"http://localhost:8090/mcp\",\n      \"transport\": \"streamable-http\"\n    }\n  }\n}\n```\n\n**Compatible with:**\n\n- Claude Desktop / Claude Code\n- Cursor IDE\n- Windsurf\n- n8n (via MCP node)\n- Any MCP-compatible client\n\n**Tools exposed:**\n\n| Tool | Description |\n|---|---|\n`research_topic` |\nStart deep research on any topic |\n`mission_status` |\nPoll progress (phase, quality, claims) |\n`get_report` |\nGet the synthesized markdown report |\n`search_knowledge` |\nQuery claims across all missions |\n`list_missions` |\nSee completed research history |\n\n```\ngit clone https://github.com/qa10devteam/behive.git\ncd behive\ncp .env.example .env     # add your LLM API key\ndocker compose up -d     # API ready at localhost:8091\n```\n\nFull stack with knowledge graph + vector search:\n\n```\ndocker compose --profile full up -d\npip install behive[all]\n\n# PostgreSQL\ncreatedb hive\nbehive db init\n\n# Configure\nexport BEHIVE_DB_URL=\"postgresql://user:pass@localhost:5432/hive\"\nexport BEHIVE_LLM=bedrock  # or openai, local\n\n# Start services\nbehive serve              # Starts both REST API (:8091) + MCP (:8090)\n```\n\n| Component | Minimum | Recommended |\n|---|---|---|\n| RAM | 4 GB | 16 GB |\n| CPU | 2 cores | 8+ cores |\n| Storage | 10 GB | 50 GB |\n| GPU | Not required | 4× L4 (local LLM) |\n| PostgreSQL | 14+ | 16 (pgvector) |\n| LLM | Any OpenAI-compatible | Bedrock Claude (Haiku + Sonnet) |\n\n-\n**You give it a topic.**\"NVIDIA GPU market 2026\" -\n**Scout bees plan the research.** The Queen decomposes it into 5 axes (market share, financials, products, competition, supply chain). Generates 12-14 search queries per axis. Checks 70+ APIs. -\n**Harvest bees collect sources.** Parallel HTTP fetches ~1000 URLs. HEAD sweep first (fast), then full content extraction on promising ones. Typically lands 60-90 usable documents. -\n**Worker bees extract claims.** This is where BeHive shines:- Every document gets parsed into atomic, verifiable claims\n- Each claim scored on 5 dimensions (specificity, density, uniqueness, verifiability, structure)\n- Claims below 0.55 quality → rejected\n- Thin claims (missing dates/numbers) → enriched by Sonnet\n- Duplicate claims (Jaccard >0.60) → merged\n\n-\n**The Queen synthesizes.** Claude weaves the verified claims into a structured report with inline citations. No hallucination — every statement maps to a scored claim. -\n**Knowledge graph grows.** Entities (companies, people, products, amounts) and their relationships are stored in Neo4j. Next research mission on a related topic starts with existing context.\n\n| Variable | Default | Description |\n|---|---|---|\n`BEHIVE_DB_URL` |\n`postgresql://localhost/hive` |\nPostgreSQL connection |\n`BEHIVE_LLM` |\n`bedrock` |\nLLM provider: `bedrock` , `openai` , `local` |\n`BEHIVE_LLM_URL` |\n— | Local LLM endpoint (for `local` mode) |\n`BEHIVE_NEO4J_URI` |\n`bolt://localhost:7687` |\nNeo4j (optional) |\n`BEHIVE_QDRANT_URL` |\n`http://localhost:6333` |\nQdrant (optional) |\n`BEHIVE_SCALE` |\n`30` |\nDefault research scale (30-300) |\n`BEHIVE_QUALITY_GATE` |\n`0.55` |\nMinimum claim quality to store |\n`AWS_PROFILE` |\n`default` |\nFor Bedrock authentication |\n`OPENAI_API_KEY` |\n— | For OpenAI mode |\n\nBeHive tries search backends in priority order and falls through on failure:\n\n| Priority | Backend | Env Variable | Free Tier |\n|---|---|---|---|\n| 1 | SearXNG (self-hosted) | `SEARXNG_URL=http://localhost:8080` |\nUnlimited |\n| 2 | Brave Search | `BRAVE_SEARCH_API_KEY=***` |\n2,000 req/month |\n| 3 | Serper.dev (Google) | `SERPER_API_KEY=***` |\n2,500 credits |\n| 4 | Tavily | `TAVILY_API_KEY=***` |\n1,000 req/month |\n| 5 | DuckDuckGo | (always available) |\nUnlimited (slow) |\n\nNo env vars set? DDG is the default. Add any key above to instantly upgrade search quality.\n\n| BeHive | GPT-Researcher | Tavily | Perplexity | STORM | |\n|---|---|---|---|---|---|\n| Output format | Structured JSON | Markdown text | JSON snippets | Text | Wiki article |\n| Per-claim scoring | ✅ 0.0-1.0 | ❌ | ❌ | ❌ | ❌ |\n| Knowledge graph | ✅ Neo4j | ❌ | ❌ | ❌ | ❌ |\n| Cross-session memory | ✅ Cumulative | ❌ | ❌ | ❌ | ❌ |\n| MCP native | ✅ | ❌ | ❌ | ❌ | ❌ |\n| API sources (70+) | ✅ | ❌ Web only | ❌ Web only | ||\n| Self-hosted | ✅ Full | ❌ Cloud | ❌ Cloud | ✅ | |\n| Quality deduplication | ✅ Jaccard 0.60 | ❌ | ❌ | ❌ | ❌ |\n| SSE streaming | ✅ Real-time | ❌ | ❌ | ❌ | ❌ |\n| Pricing | Free (MIT) |\nFree (MIT) | $0.01/search | $20/mo+ | Free (MIT) |\n\n- V4 pipeline (BYOK — bring your own LLM key, any provider)\n- Quality scoring (avg 0.77, top missions reach 0.82+)\n- REST API (14 endpoints)\n- MCP Server (Streamable HTTP)\n- SSE streaming (real-time progress)\n- Knowledge graph (Neo4j)\n- 64 API sources (37 free APIs confirmed working, 26 need BYOK keys)\n- Browser search (Chromium/Playwright — scrapes Google/Bing, zero API keys)\n-\n`pip install behive`\n\n([PyPI](https://pypi.org/project/behive/)) - Docker Compose one-liner\n- n8n community node (\n[npm](https://www.npmjs.com/package/n8n-nodes-behive)) - Agent skills (Hermes, OpenClaw, Claude Desktop)\n- Web UI dashboard\n- Multi-tenant API keys\n- Webhook callbacks\n- Scheduled recurring research\n- PDF export with charts\n\nBeHive works with every major AI agent platform:\n\n| Platform | Method | Install |\n|---|---|---|\nClaude Desktop |\nMCP (zero-code) | Add URL to `claude_desktop_config.json` |\nCursor / Windsurf |\nMCP | Add MCP server in settings |\nHermes Agent |\nMCP + Skill | `cp integrations/hermes ~/.hermes/skills/research/behive-research` |\nOpenClaw |\nSkill | `cp integrations/openclaw ~/.openclaw/workspace/skills/behive-research` |\nn8n |\nCommunity Node | Install `n8n-nodes-behive` in Settings → Community Nodes |\nChatGPT |\nCustom GPT / API | OpenAPI spec in README above |\nAny MCP client |\nStreamable HTTP | URL: `http://localhost:8090/mcp` |\n\nSee [ integrations/](/qa10devteam/behive/blob/main/integrations) for detailed setup guides.\n\nSee [CONTRIBUTING.md](/qa10devteam/behive/blob/main/CONTRIBUTING.md) for development setup, code style, and PR guidelines.\n\n```\ngit clone https://github.com/qa10devteam/behive.git\ncd behive\npip install -e \".[all,dev]\"\npytest\n```\n\nMIT — use it, fork it, ship it, sell it.\n\nBuilt by QA10 · Structured knowledge, not text soup.", "url": "https://wpnews.pro/news/behive-open-source-research-engine-that-outputs-structured-claims-not-essays", "canonical_source": "https://github.com/qa10devteam/behive", "published_at": "2026-07-30 10:44:48+00:00", "updated_at": "2026-07-30 10:52:13.805872+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-tools", "ai-research", "large-language-models", "developer-tools"], "entities": ["BeHive", "QA10 Dev Team", "Anthropic", "OpenAI", "Claude", "GPT-4o", "PostgreSQL", "Docker"], "alternates": {"html": "https://wpnews.pro/news/behive-open-source-research-engine-that-outputs-structured-claims-not-essays", "markdown": "https://wpnews.pro/news/behive-open-source-research-engine-that-outputs-structured-claims-not-essays.md", "text": "https://wpnews.pro/news/behive-open-source-research-engine-that-outputs-structured-claims-not-essays.txt", "jsonld": "https://wpnews.pro/news/behive-open-source-research-engine-that-outputs-structured-claims-not-essays.jsonld"}}