Documentation

Get started in 5 minutes

ValorBrain exposes your corporate brain via MCP, REST, and webhooks. Connect any agent, ingest from any source.

Quick start

01

Sign up + Get a token

Create your account, complete onboarding. Settings → MCP Tokens → Generate.

Sign up free
02

Connect your agent

Claude Desktop, Cursor, Windsurf. any MCP-compatible client. OAuth 2.1 auto-discovery.

See examples
03

Ingest your knowledge

Filesystem watcher, REST webhook, MCP store, and 5 native OAuth connectors (Notion, Slack, Drive, GitHub, Linear).

See connectors
04

Query from any agent

MCP query tool, engine POST /search and POST /retrieve, or Claude Code hooks for automatic injection.

API reference

MCP setup

ValorBrain exposes an MCP HTTP server at mcpbrain.valor.digital/mcp with OAuth 2.1.

Claude Desktop

{
  "mcpServers": {
    "valorbrain": {
      "url": "https://mcpbrain.valor.digital/mcp",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer vbm_<your-token>"
      }
    }
  }
}

Path: ~/.claude/claude_desktop_config.json

OAuth 2.1 auto-discovery

Clients that support OAuth 2.1 dynamic client registration (Cursor, Windsurf, Claude Desktop soon) discover auth automatically:

https://mcpbrain.valor.digital/.well-known/oauth-authorization-server

Ingestion

4 paths to feed the brain:

1. From your agent (MCP)

# registers the endpoint; first use starts OAuth
curl -fsSL https://valorbrain.valor.digital/install.sh | bash

# or, straight into Claude Code:
claude mcp add --transport http valorbrain \
  https://mcpbrain.valor.digital/mcp

OAuth keeps the token out of the shell. For clients without OAuth, create a dedicated token under Settings → MCP tokens and paste it only into the client's protected configuration.

2. REST ingest (SaaS API)

curl -X POST https://valorbrain.valor.digital/api/v1/ingest \
  -H "Authorization: Bearer fk_<prefix>.sk_<secret>" \
  -H "Content-Type: application/json" \
  -d '{
    "collection": "decisions",
    "path": "ADR-007.md",
    "title": "Multi-tenant migration",
    "content": "## Decision..."
  }'

Create the API key under Settings → API Keys. The SaaS forwards to the engine with X-Tenant-ID.

3. MCP store tool

Directly from your agent: Claude Code, Cursor, etc. use the store tool.

store({
  collection: "decisions",
  path: "ADR-007.md",
  content: "..."
})

4. OAuth connectors (BYOK)

Notion, Google Drive, Slack, GitHub, and Linear — available under Connectors (after login). Bring your own OAuth credentials; background sync ingests into the tenant engine. Requires Starter plan or higher.

Dashboard → Connectors → pick provider → Setup → Sync

Agent integrations

Works with any agent via REST. Here are the most common frameworks.

Hermes Agent

Native plugin with 10 tools (read + write). Auto-injected into the system prompt. Hermes reads and writes memory automatically every session.

OpenClaw

Native plugin kind: memory with 10 agent tools. Lifecycle hooks and context surfacing injected into the prompt automatically.

Claude Code / Cursor

Via MCP HTTP server. Claude Desktop, Cursor, and Windsurf support native MCP with OAuth 2.1.

Direct REST

Use HTTP directly with a Bearer token. Works with any language, any framework.

REST API

SaaS API: valorbrain.valor.digital/api/v1. Dashboard routes use the session cookie. Only POST /ingest accepts a workspace key (fk_*.sk_*).Engine API (memory and search): valorbrain-api.valor.digital with Bearer vb_* + X-Tenant-ID. A self-hosted engine may use http://localhost:7438 from its own host; that is not the cloud endpoint.MCP transport: mcpbrain.valor.digital/mcp — OAuth 2.1 or Bearer vbm_*.

# Search — POST /search (hybrid BM25 + vector + RRF)
curl -X POST https://valorbrain-api.valor.digital/search \
  -H "Authorization: Bearer vb_..." \
  -H "X-Tenant-ID: <your-tenant-uuid>" \
  -H "Content-Type: application/json" \
  -d '{"query":"architecture decision","limit":5}'

# Retrieve — POST /retrieve (multi-strategy)
curl -X POST https://valorbrain-api.valor.digital/retrieve \
  -H "Authorization: Bearer vb_..." \
  -H "X-Tenant-ID: <your-tenant-uuid>" \
  -H "Content-Type: application/json" \
  -d '{"query":"ADR-007 multi-tenant","limit":10}'

# Ingest (engine direct — POST /documents)
curl -X POST https://valorbrain-api.valor.digital/documents \
  -H "Authorization: Bearer vb_..." \
  -H "X-Tenant-ID: <your-tenant-uuid>" \
  -H "Content-Type: application/json" \
  -d '{"collection":"decisions","path":"ADR-001.md",
       "content":"## We chose PostgreSQL..."}'

# Pin, forget
curl -X POST https://valorbrain-api.valor.digital/documents/abc123/pin \
  -H "Authorization: Bearer vb_..." -H "X-Tenant-ID: <your-tenant-uuid>"
curl -X POST https://valorbrain-api.valor.digital/documents/abc123/forget \
  -H "Authorization: Bearer vb_..." -H "X-Tenant-ID: <your-tenant-uuid>"
Read
MethodPathDescription
POST/searchHybrid search (BM25 + vector + RRF)
POST/retrieveMulti-strategy retrieve
GET/documents/:idFull document by ID
GET/documentsList documents (paginated)
GET/collectionsAll collections with doc counts
GET/sessionsRecent session summaries
GET/timeline/:idTemporal context around doc
GET/graph/similar/:idSemantically similar docs
GET/graph/causal/:idCausal links from doc
GET/statsIndex statistics
Write
MethodPathDescription
POST/documentsIngest document
POST/documents/:id/pinPin to foundation set
POST/documents/:id/forgetSoft-delete
POST/documents/:id/feedbackRate (POSITIVE / NEGATIVE)
POST/documents/:id/snoozeTemporarily deprioritize
PATCH/documents/:id/visibilityChange visibility
DELETE/documents/purgePurge forgotten docs

Self-hosted / On-prem

The engine runs on any Linux with PostgreSQL 15+ and 4GB+ RAM. There is no open installer: on-prem ships accompanied, with the engine build, the migrations, and sizing for the GPU services.

What you run

  • PostgreSQL 15+ with pgvector, and the engine on an internal HTTP port.
  • Optional on GPU: embedding (LFM2.5-Embedding-350M), reranker (BGE-Reranker-v2-m3), and a local model for query expansion. Without them the system still works, with less search precision.
  • No call leaves your network — that is what separates on-prem from hosted.

For custom integrations, on-prem, or dedicated SLA, talk to us.

Ready to get started?

5 minutes to set up. Free plan forever. No credit card.