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, a thin discovery CLI, a hardened systemd unit, and example configs for Claude Code + Hermes.
Part of the getbased-agents monorepo.
Install
pipx install "getbased-agent-stack[full]"
Pulls:
getbased-mcp— stdio MCP server that Claude Code / Hermes / OpenClaw spawngetbased-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-stackdiscovery 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
# 1. Start the RAG server — local Qdrant DB + MiniLM embedder
lens serve # blocks; serves on 127.0.0.1:8322
lens key # prints the bearer token
# 2. Start the dashboard in another terminal
getbased-dashboard serve # serves on 127.0.0.1:8323
# 3. Open http://127.0.0.1:8323 in your browser, paste the lens key
# Create libraries, drag-drop files to ingest (live chunks/sec pill),
# run the MCP Test button to verify your agent path
# 4. Wire the MCP into your AI client
# The dashboard's MCP tab generates paste-ready config blocks for
# Claude Desktop, Claude Code, Cursor, Cline, and Hermes.
Both the RAG server and the getbased PWA talk to the same lens instance — point the PWA at http://127.0.0.1:8322 under Settings → AI → Knowledge Base → External server and the same corpus feeds the browser chat, the dashboard, and any MCP-connected agent.
Running as a systemd service
cp systemd/getbased-rag.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now getbased-rag
The unit is hardened (ProtectSystem=strict, NoNewPrivileges, RestrictAddressFamilies, etc.); run systemd-analyze security getbased-rag to see the score.
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— read-only lab summary pushed by your PWA session (via Agent Access token)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) |
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
- packages/stack/CONTRIBUTING.md — when to bump the meta vs a sibling
- packages/stack/SECURITY.md — threat model, scope, sibling pointers
Licence
GPL-3.0-only, 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file getbased_agent_stack-0.3.1.tar.gz.
File metadata
- Download URL: getbased_agent_stack-0.3.1.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84b3fe1e61da612fca2bde3b538631970b6cb0dfa0ab3bc266b182ed1c410042
|
|
| MD5 |
5a7fec293bcc3306033d5b56d44f3b9b
|
|
| BLAKE2b-256 |
67410b70191f81930c8f8931a48d5083b2fe2675ddadb6b1819a37d8ec0af791
|
Provenance
The following attestation bundles were made for getbased_agent_stack-0.3.1.tar.gz:
Publisher:
publish.yml on elkimek/getbased-agents
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
getbased_agent_stack-0.3.1.tar.gz -
Subject digest:
84b3fe1e61da612fca2bde3b538631970b6cb0dfa0ab3bc266b182ed1c410042 - Sigstore transparency entry: 1340495513
- Sigstore integration time:
-
Permalink:
elkimek/getbased-agents@831c8bdc0027bd619df8a93421225366cd908401 -
Branch / Tag:
refs/tags/v0.6.0-dashboard - Owner: https://github.com/elkimek
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@831c8bdc0027bd619df8a93421225366cd908401 -
Trigger Event:
push
-
Statement type:
File details
Details for the file getbased_agent_stack-0.3.1-py3-none-any.whl.
File metadata
- Download URL: getbased_agent_stack-0.3.1-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e2d17b35ad59271e824c31ad93efc7ba57bc42ac3d61660571083b42eb64a82
|
|
| MD5 |
40cf5f86d770910e1e1afc650c16a286
|
|
| BLAKE2b-256 |
91b75223d1018bac7ebc670e9589bf21744bdfda4570719b998d4b61a2bed254
|