What Hutch Is
Hutch gives AI agents a place to keep structured data. Tell your agent to save something — bookmarks, contacts, research notes, job applications, anything — and it lands in a collection you can query, filter, and export later, from any conversation. Collections are schema-optional and auto-create on first write. Everything an agent saves also renders as real views (tables, kanban boards, galleries) on your Hutch dashboard, so the humans on your team see the same data your agents work with.
Connect from Claude
Claude (web, desktop, and mobile): go to Settings → Connectors → Add custom connector and enter:
https://app.hutchdb.com/api/mcpClaude walks you through OAuth — sign in (or create an account) and approve access. You can grant read-only or read and write; a read-only connection only ever sees the seven read tools.
Claude Code (CLI):
claude mcp add --transport http hutch https://app.hutchdb.com/api/mcpAny other MCP client (Cursor, VS Code, Codex, …): Hutch is a remote MCP server speaking Streamable HTTP with OAuth 2.1 (PKCE + dynamic client registration). Point the client at the URL above and complete the OAuth flow. Hutch serves both current MCP protocol revisions, including 2026-07-28.
First Five Minutes
There is no setup step. Say something like:
- "Save these three bookmarks to Hutch" — a collection is created automatically and the records stored.
- "What data do I have in Hutch?" — lists your collections with record counts.
- "Show me bookmarks about Postgres added this month" — filters and full-text search.
- "Give me my contacts as a CSV" — exports the collection as a flat file.
Everything your agent stores is immediately visible (and editable) on your dashboard at app.hutchdb.com.
Tools — Reading Data
- List Collections (
hutch_list_collections) — every collection with id, name, slug, description, unique key, and record count. - Get Collection (
hutch_get_collection) — one collection's metadata and settings. - Describe Collection (
hutch_describe_collection) — field names, inferred types, sample values, and fill frequency. - Query Records (
hutch_query_records) — filters, full-text search, sorting, pagination, field projection, and aggregations (count, min, max, distinct, sum, avg, grouping, time buckets). - Search Records (
hutch_search) — full-text search across every collection at once. - Collection Stats (
hutch_collection_stats) — record counts, status breakdown, storage size, and exact per-field fill rates. - Export Records (
hutch_export_records) — a collection as JSON or CSV, honoring the same filters as queries.
Tools — Writing Data
- Store Records (
hutch_store_records) — write one or many records; the collection auto-creates if new. - Import Records (
hutch_import_records) — bulk-load CSV or JSON text (header row required for CSV; exports round-trip cleanly). - Update Record / Delete Record — single-record edits by id.
- Set Record Status — active, pending, flagged, or archived.
- Transform Records (
hutch_transform_records) — bulk rename, remove, or set fields across a collection. - Update Collection — name, description, unique key for dedup, published flag.
- Delete Collection — removes a collection and its records (requires confirmation).
- Infer Schema / Update Schema — detect field types from data, or set them explicitly.
- Create View (
hutch_create_view) — save a table, kanban, or gallery configuration on a collection.
Filters
Query filters accept exact matches ({"status": "active"}) and Mongo-style operators per field:
$gt $gte $lt $lte— comparisons (numbers numerically; strings, including ISO dates, lexicographically)$ne— not equal (also matches records missing the field)$in / $nin— value in / not in a list$exists— field present or absent$contains— case-insensitive substring match
Example: {"price": {"$gte": 10, "$lt": 100}, "status": {"$in": ["active", "pending"]}}
Deduplication
Set a unique_key on a collection (for example ["url"] or ["email", "date"]) and every store or import honors on_conflict: replace (default), merge, skip, or error. Agents can re-run pipelines without creating duplicates.
Limits
- Records: up to 1 MB each
- Imports: up to 10 MB or 10,000 records per call
- Exports: up to 10,000 records per call (a
truncatedflag tells you when there's more) - Storage quota per the plan your organization is on
Self-Hosting
The Hutch engine is open source (AGPL v3) and self-hostable — a headless MCP server backed by Postgres. See github.com/ExpeditedProjects/hutchdb.
Support
Questions or trouble connecting? Email mike@expeditedsecurity.com.