Skip to content

Satchel v0.1.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Nov 09:12
· 15 commits to main since this release
661a09a

Satchel 0.1.0

The first release of Satchel, an open-source, self-hosted context server for data agents. Bring your own agent
(Claude, Claude Code, Cursor, ChatGPT, Codex), connect it over MCP, and Satchel serves curated, versioned,
permissioned context about your data. It also learns from how agents use that context and turns what they
struggle with into changes that analysts review.

Status: pre-alpha. Expect breaking changes between 0.x releases, and do not rely on it in production yet.

Install

Locally, with uv and Docker:

uv tool install "satchel @ git+https://github.com/getsatchel/satchel@v0.1.0#subdirectory=server"
satchel init --example jaffle
satchel up
satchel connect claude-desktop

Container image and Helm chart:

docker pull ghcr.io/getsatchel/satchel:0.1.0
helm install satchel oci://ghcr.io/getsatchel/charts/satchel --version 0.1.0 -n satchel --create-namespace -f my-values.yaml

See Install and get started and the self-hosting overview.

What's in it

Context for agents

  • Guides, glossary terms, metrics, golden queries, table docs and endorsements, each versioned and published in releases with preview, publish and rollback.
  • MCP over Streamable HTTP (/mcp) and stdio. Tools for context (search_context, get_context_pack, get_item, list_tables, describe_table), sessions (start_analysis, report_answer), governed metrics and guarded SQL (list_metrics, describe_metric, query_metrics, run_sql, get_result) and feedback (flag_context_gap, record_user_feedback, propose_context_change). See MCP tools.
  • An MCP Apps result widget for query results.
  • Hybrid search, with fastembed (local), hash (offline) or OpenAI-compatible embeddings.

The curation loop

  • Records sessions, tool traces, flagged gaps and user feedback.
  • A worker embeds signals, runs hygiene checks (stale, dead, duplicate and contradictory items, shared memories), clusters gaps and has a chat model draft concrete changes.
  • Nothing is published automatically: every suggestion and agent proposal goes to the Inbox for a curator to review, then through preview and publish.

Evals and the publish gate

  • Eval suites in YAML with a reference agent and graders (numeric_value, sql_equivalent, context_used, judge_final_answer, judge_session), run history and run comparison.
  • An optional publish gate (publish.require_evals) that runs suites against a preview release before it can be published.

Sources

  • Context from dbt, Cube and SQLMesh, and from files in a git repository, with scheduled syncs and push webhooks. Source-managed items get a read-only source block and an overlay editor.
  • satchel-adapter-sdk for writing your own adapters (guide). This release ships with SDK 1.2.1 (IR 1.0.0).
  • Warehouse connections for PostgreSQL, DuckDB, BigQuery and Snowflake, with guarded read-only SQL, governed metric queries and a catalog crawler.

The curator UI

  • Inbox, Library, Changes, Releases, Sessions, Observability, Catalog, Sources, Evals and Settings, served by the API at /.

Security and operations

  • Postgres (17, with pgvector) is the only required dependency. Workspace data is isolated with forced row-level security, and the app connects as a non-superuser role.
  • OIDC sign-in, OAuth 2.1 for MCP clients, and personal access tokens.
  • Evidence sent to models is redacted; audit events can be exported as JSONL to gs://, s3:// or a file.
  • Deployment: one container image for every role, a Helm chart for any Kubernetes 1.29+ cluster, and Terraform for GKE, EKS and Cloud Run.

Known limitations

  • Pre-alpha: the API, the MCP tools and the database schema can change between 0.x releases. Migrations run in place (satchel upgrade, or the Helm pre-upgrade hook), but back up first.
  • Planned and not in this release: scheduled eval runs, a GitHub Action for evals and the publish gate, memory building, and a pgmq job queue. See the architecture diagram for status.