Skip to main content

One-command install of the full getbased agent stack — getbased-mcp + getbased-rag + getbased-dashboard

Project description

getbased-agent-stack

Meta-package bundling the full getbased agent stack into one install: the MCP adapter, the RAG engine, the browser dashboard, an orchestration CLI (init / install / mcp-config), hardened systemd units for rag + dashboard, and paste-ready configs for Claude Desktop/Code, Cursor, Cline, and Hermes.

Part of the getbased-agents monorepo.

Install

Linux, one command:

curl -sSL https://getbased.health/install.sh | bash

Runs end-to-end: installs getbased-agent-stack[full] via whichever of uv or pipx is available, exposes sibling binaries, runs getbased-stack init --yes, and starts rag + dashboard as systemd user services. Read the script first if you're cautious.

Manual — pipx:

pipx install --include-deps "getbased-agent-stack[full]"

The --include-deps flag is required — it exposes getbased-mcp, lens, and getbased-dashboard alongside getbased-stack on your PATH. Without it, pipx only links the stack's own entry point and the MCP/rag/dashboard binaries stay hidden inside the venv.

Manual — uv (0.11+):

uv tool install \
  --with-executables-from getbased-rag \
  --with-executables-from getbased-dashboard \
  --with-executables-from getbased-mcp \
  "getbased-agent-stack[full]"

--with-executables-from is uv's equivalent of pipx's --include-deps — one tool venv, all four binaries on PATH.

Pulls:

  • getbased-mcp — stdio MCP server that Claude Code / Hermes / OpenClaw spawn
  • getbased-rag — local RAG knowledge server (FastAPI + Qdrant + MiniLM/BGE)
  • getbased-dashboard — web UI for library management, MCP config generation, and agent-activity inspection
  • The getbased-stack discovery CLI
  • [full] extra: PDF/DOCX parsers + ONNX runtime for hardware-accelerated embeddings

Total install: ~500 MB (the ML deps dominate). Smaller installs available — pipx install getbased-mcp (10 MB, agent only), pipx install "getbased-rag[full]" (RAG only), pipx install getbased-dashboard (UI + MCP; pulls rag if you want the Knowledge tab working).

Quickstart — one command

Interactive wizard:

getbased-stack init

Non-interactive (for scripted installs and curl | bash; install.sh uses this):

getbased-stack init --yes

The wizard (~30 seconds):

  1. Prompts for your GETBASED_TOKEN and GETBASED_AGENT_CONTEXT_KEY when you opt into Agent Access (skip if you don't use Agent Access; --yes skips prompts)
  2. Generates a rag API key if one doesn't exist
  3. Writes ~/.config/getbased/env (mode 0600) — the shared config file
  4. Installs systemd user units for rag + dashboard, enables them, starts them

On non-systemd hosts (Docker, macOS, WSL1) step 4 writes the unit files but skips activation with a clear message instead of crashing — re-run on a systemd-enabled host or start lens serve + getbased-dashboard serve manually.

Then paste one line into your MCP client:

getbased-stack mcp-config claude-desktop   # or: claude-code, cursor, cline, hermes

The snippet carries only GETBASED_STACK_MANAGED=1 in its env block. No secrets in client configs — every MCP spawn reads the shared env file and loads the token + rag URL + API key path from there.

Open the dashboard:

http://127.0.0.1:8323

Login URL with bearer key:

getbased-dashboard login-url   # prints http://127.0.0.1:8323/?key=...

Upload docs, create libraries, manage sources, and test the MCP probe from the web UI. Rotate the sync token from the CLI (see below) or by editing ~/.config/getbased/env directly.

Surviving reboot on headless hosts

User systemd services stop on logout. On a headless server (no GUI session), they won't come back at boot unless you enable linger once:

sudo loginctl enable-linger $USER

getbased-stack init prints this reminder when it detects a headless environment. On a laptop with a GUI login, linger is nice-to-have — services start when you log in.

Other commands

getbased-stack status          # env file, unit state, linger
getbased-stack set GETBASED_TOKEN=new
getbased-stack set GETBASED_AGENT_CONTEXT_KEY=new
getbased-stack install         # re-apply unit files after package upgrade
getbased-stack uninstall       # stop + disable + remove units

Migrating from an older install

If you have a hand-rolled setup (standalone lens-rag.service, hermes-style ~/.hermes/config.yaml with MCP env), leave it alonegetbased-stack init only writes new paths and installs new unit names (getbased-rag.service, getbased-dashboard.service), so it can coexist. The opt-in loader in every binary is gated on GETBASED_STACK_MANAGED=1; without that flag set, every binary behaves exactly as before.

If you're running the existing Hermes VM deployment on this host, don't run init there. Your ~/.hermes/config.yaml continues to supply env explicitly; nothing from this package touches it.

Architecture

Claude Code / Hermes / OpenClaw          Browser
        │ MCP (stdio)                       │ HTTP
        ▼                                   ▼
  getbased-mcp                       getbased-dashboard   (localhost:8323)
   │        │                          │             │
   │ HTTP   │ HTTP                     │ proxies     │ spawns stdio for Test
   ▼        ▼                          ▼             ▼
sync GW   getbased-rag  ◀──────────────┘       getbased-mcp
          (localhost:8322)

The MCP holds no persistent state; it's a thin translator between MCP tool calls and two HTTP backends:

  • sync.getbased.health/api/context — encrypted lab context pushed by your PWA session (authorized by Agent Access token, decrypted locally with Agent Context key)
  • localhost:8322 (getbased-rag) — your local research library

The dashboard is likewise stateless — it proxies rag for Knowledge operations, imports getbased_mcp to introspect env/config, and spawns the MCP binary on demand to verify it works.

Version compatibility

Stack mcp rag dashboard Protocol
0.1.x ≥0.2.0 ≥0.1.0 v1 (multi-library)
0.2.x ≥0.2.2 ≥0.6.0 ≥0.5.0 v1 (+ streaming ingest, per-library models)
0.4.x ≥0.2.3 ≥0.7.1 ≥0.6.1 v1 (+ shared env file, getbased-stack init, systemd units)

Bump the meta's major when sibling protocols break; bump siblings freely for normal features.

Development

This package is the meta — the interesting code lives in sibling packages. See the monorepo root README for workspace setup.

The integration test (tests/test_integration.py) spins up lens serve in a subprocess, ingests a fixture, and exercises every MCP tool round-trip. Catches drift between the siblings the way the v1.21 catch-up drift would have been caught if the test existed then. The dashboard has its own test suite (cd packages/dashboard && uv run pytest) covering the proxy, modal logic, stdio probe, and activity-log handling.

Related docs

Licence

AGPL-3.0-or-later, matching the siblings.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

getbased_agent_stack-0.5.6.tar.gz (37.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

getbased_agent_stack-0.5.6-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file getbased_agent_stack-0.5.6.tar.gz.

File metadata

  • Download URL: getbased_agent_stack-0.5.6.tar.gz
  • Upload date:
  • Size: 37.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for getbased_agent_stack-0.5.6.tar.gz
Algorithm Hash digest
SHA256 237a84afeeb90b9c6ae98c01b57642f9de1ac745cd125a0884dfd1ae92adc75c
MD5 3dad4dab34b05d9cf0f8277c604ff06a
BLAKE2b-256 41553383d46ff81c782baeb930562eea5f52cb421fbdc23da4b5612bea4dde95

See more details on using hashes here.

Provenance

The following attestation bundles were made for getbased_agent_stack-0.5.6.tar.gz:

Publisher: publish.yml on elkimek/getbased-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file getbased_agent_stack-0.5.6-py3-none-any.whl.

File metadata

File hashes

Hashes for getbased_agent_stack-0.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d9ea925c917a01e2d39815525bd5f94d6dbef3199dea840af2f700cf57390fcf
MD5 03a92b3f54f797d80c92fce4d939e8ca
BLAKE2b-256 a0ba338263836f11808b9790b9325cbce79783cbe0d0eb3869ee1a10e7bed255

See more details on using hashes here.

Provenance

The following attestation bundles were made for getbased_agent_stack-0.5.6-py3-none-any.whl:

Publisher: publish.yml on elkimek/getbased-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page