v0.6.0 — Open Source (MIT)
Structuredknowledge,
nottextsoup.

Feed it a question. Get back scored claims, entity graphs, and a synthesized report — using your own LLM.

Research ▋

$pip install behive==0.6.0
View on GitHub
Recorded illustration — not a live research result
BeHive CLI demo — animated terminal illustrating the research pipeline
Claims

Scored, source-linked statements

Entities

Names and relationships

Reports

Model-generated synthesis

History

Persisted research missions

⬡ MCP Native⬡ API Sources⬡ Knowledge Graph⬡ Quality Scoring⬡ Self-Hosted⬡ MIT License⬡ SSE Streaming⬡ BYOK LLM⬡ PostgreSQL⬡ Docker Compose⬡ Claim Search⬡ Entity Networks⬡ MCP Native⬡ API Sources⬡ Knowledge Graph⬡ Quality Scoring⬡ Self-Hosted⬡ MIT License⬡ SSE Streaming⬡ BYOK LLM⬡ PostgreSQL⬡ Docker Compose⬡ Claim Search⬡ Entity Networks⬡ MCP Native⬡ API Sources⬡ Knowledge Graph⬡ Quality Scoring⬡ Self-Hosted⬡ MIT License⬡ SSE Streaming⬡ BYOK LLM⬡ PostgreSQL⬡ Docker Compose⬡ Claim Search⬡ Entity Networks
⬢ MCP Native⬢ API Sources⬢ Knowledge Graph⬢ Quality Scoring⬢ Self-Hosted⬢ MIT License⬢ SSE Streaming⬢ BYOK LLM⬢ PostgreSQL⬢ Docker Compose⬢ Claim Search⬢ Entity Networks⬢ MCP Native⬢ API Sources⬢ Knowledge Graph⬢ Quality Scoring⬢ Self-Hosted⬢ MIT License⬢ SSE Streaming⬢ BYOK LLM⬢ PostgreSQL⬢ Docker Compose⬢ Claim Search⬢ Entity Networks⬢ MCP Native⬢ API Sources⬢ Knowledge Graph⬢ Quality Scoring⬢ Self-Hosted⬢ MIT License⬢ SSE Streaming⬢ BYOK LLM⬢ PostgreSQL⬢ Docker Compose⬢ Claim Search⬢ Entity Networks

The Problem — schematic comparison

You ask AI to research a topic.
It gives you confident-soundingtext soup.

✗

Unstructured answer

"Based on my training data, NVIDIA's GPU market shows promising growth with several key factors driving demand..."

No sourcesNo structureStale data
✓

Schematic BeHive artifacts

[claim] Example claim → original source URL

[entity] Example entity → linked research mission

[link] Example relationship → supporting claim

Source linksStored artifactsReview required

How It Works

Swarm intelligence.
Not prompt engineering.

01
🐝Step 01

Scout

The planner breaks a topic into research tasks. Search backends and topic-specific API adapters discover candidate sources.

02
⬡Step 02

Harvest

Fetch candidate pages and documents with configured HTTP or optional browser backends. Some sources need credentials or extra dependencies.

03
⚗️Step 03

Extract

Your configured model extracts claims from source content. Quality heuristics help rank extracted statements for review.

04
🧬Step 04

Deduplicate

Similarity checks reduce repeated claims. Deduplication is heuristic: similar statements can still need human review.

05
📊Step 05

Synthesize

Your configured model synthesizes extracted claims into a report. Check its conclusions against the linked original sources.

06
🕸️Step 06

Graph

Persist claims, entities, and relationships. The PostgreSQL-backed API exposes entity and network lookups across missions.

Capabilities

Research artifacts. Not performance promises.

Available interfaces in v0.6.0. Results depend on source access, configuration, and your model.

ArtifactWhat you can do
ClaimsSearch saved claims and inspect their scores and sources.
Mission statusPoll progress or subscribe to API server-sent events.
ReportRetrieve the synthesized report for a completed mission.
Entity networkExplore stored entities and relationships through the API.
Mission historyList saved missions and reuse the knowledge store.

A quality score is a heuristic, not a probability of truth.Check original sources. Extraction and synthesis can be incomplete or incorrect.

Integrations

Works with your existing stack.

⌨️

Terminal

CLI

Run missions with depth, scale, and local or remote storage options.

🔌

HTTP clients

REST API

Start research, poll status, and retrieve reports or stored claims.

⚡

Progress viewers

Server-sent events

Subscribe to the API mission events endpoint.

🤖

MCP clients

JSON-RPC over HTTP

Connect to the /mcp endpoint using client-specific configuration. Compatibility must be checked with your client.

🐍

Python applications

BeHiveClient

Use the packaged client for local or remote research.

🕸️

Knowledge tools

Entity + network API

Query the PostgreSQL-backed knowledge store across missions.

MCP endpoint (JSON-RPC over HTTP)

Start the service below, then connect to http://127.0.0.1:8090/mcp. Configuration is client-specific; this is not a universal desktop-client config.

curl http://127.0.0.1:8090/mcp   -H 'Content-Type: application/json'   -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools: research_topic, search_knowledge, mission_status, get_report, list_missions. API mission progress uses SSE; the MCP bridge responds with JSON.

Current bridge limitation: it does not forward API credentials, so research_topic cannot start an authenticated API mission when BEHIVE_API_KEY is enabled. Use the authenticated REST API for that setup.

Self-Hosting

Configure first. Then research.

Python 3.10+ in a virtual environment. Configure your model and provider credentials. Local CLI research can select DuckDB; API + MCP requires PostgreSQL.

CLI installation + local research

python -m venv .venv
source .venv/bin/activate
pip install behive==0.6.0
export OPENAI_API_KEY="YOUR_PROVIDER_KEY"
behive config --quick
behive research "your research question" --depth 3 --no-db

POSIX shell example. Use credentials for your selected model; OPENAI_API_KEY is one provider example. Optional source-processing extras: pip install 'behive[harvest,process]==0.6.0'.

API + MCP service

Provision PostgreSQL and create a database and role first. Replace the placeholder connection string with your credentials.

export BEHIVE_DB_URL="postgresql://USER:PASSWORD@127.0.0.1:5432/behive"
behive db init
behive serve --host 127.0.0.1 --port 8091 --mcp-port 8090

API: http://127.0.0.1:8091 · Docs: /docs · MCP: http://127.0.0.1:8090/mcp. Keep local by default; configure authentication and network controls before remote exposure.

Start a mission through REST

curl http://127.0.0.1:8091/research   -H 'Content-Type: application/json'   -d '{"query":"your research question","depth": 3}'

Use the returned mission ID with /research/{mission_id}/status, /research/{mission_id}/events, and /research/{mission_id}/report. When BEHIVE_API_KEY is configured, include its Bearer token on research requests. The MCP bridge does not enforce this API key; keep its endpoint private.

Requirements

Your model. Your operating costs.

Local CLI research

Python 3.10+, a configured LiteLLM-compatible model, and accessible sources. The --no-db option selects local DuckDB storage in ~/.behive/research.duckdb.

API + MCP service

Configure PostgreSQL and initialize its schema before starting the service. MIT-licensed software; model, search-provider, hosting, and network costs are yours. Optional extraction and browser dependencies may be needed for specific sources.

Start researching.

Configure a model. Research with sources. Review the results.

$pip install behive==0.6.0