Tools
Hutchclaw
OpenClaw plugin for Hutch — structured data tools for agents.
Install
npm install hutchclaw
Configuration Example
{
"plugins": {
"entries": {
"hutch": {
"apiKey": "hutch_..."
// baseUrl defaults to https://hutchdb.com — override for self-hosted.
}
},
"tools": {
// Opt in to destructive tools:
"allow": ["delete_collection", "delete_record", "transform_records"]
}
}
}
README
<p align="center">
<img src="assets/h-icon.png" alt="Hutch" width="96" height="96" />
</p>
<h1 align="center">HutchClaw</h1>
<p align="center">
<em>Hutch tools for OpenClaw — store, query, and publish structured data from agents.</em>
</p>
<p align="center">
<a href="https://hutchdb.com">hutchdb.com</a> ·
<a href="https://docs.openclaw.ai">OpenClaw docs</a> ·
<a href="https://github.com/ExpeditedProjects/hutchclaw/issues">Issues</a>
</p>
---
## What it does
Gives an OpenClaw agent a structured-data backend. Your agent can:
- Save anything as a record — bookmarks, notes, leads, research — with no schema setup.
- Query later by exact filter, full-text search, sort, group, or aggregate.
- Inspect, evolve, and publish what's stored, all from inside a conversation.
Collections auto-create on first write. Records are arbitrary JSON, queryable
via Postgres JSONB containment + full-text search. Hutch handles the rest.
## Install
```bash
clawhub install hutchclaw
# or
npm install hutchclaw
```
## Configure
```jsonc
{
"plugins": {
"entries": {
"hutch": {
"apiKey": "hutch_..."
// baseUrl defaults to https://hutchdb.com — override for self-hosted.
}
},
"tools": {
// Opt in to destructive tools:
"allow": ["delete_collection", "delete_record", "transform_records"]
}
}
}
```
Get an API key at [hutchdb.com](https://hutchdb.com). For self-hosted
deployments, set `baseUrl` to your own URL.
## Tools
### Always available
| Tool | Purpose |
| --------------------- | ------------------------------------------------------ |
| `list_collections` | List all collections. |
| `get_collection` | Get collection details and record count. |
| `describe_collection` | Field types, sample values, schema. |
| `store_records` | Save one or many records (auto-creates collection). |
| `query_records` | Filter, search, sort, aggregate, time-bucket. |
| `search` | Full-text search across all collections. |
| `update_collection` | Edit name, description, unique key, published flag. |
| `update_record` | Replace a record's data. |
| `set_record_status` | Mark active / pending / flagged / archived. |
| `infer_schema` | Auto-detect field types from existing records. |
| `update_schema` | Set field type, options, position, visibility. |
| `create_view` | Create a named view (table / kanban / calendar / etc). |
### Destructive (opt-in)
These require allowlisting via `tools.allow` — they bypass undo:
| Tool | Purpose |
| ------------------- | --------------------------------------------------- |
| `delete_collection` | Permanently delete a collection and all records. |
| `delete_record` | Soft-delete a single record. |
| `transform_records` | Bulk rename / remove / set fields across records. |
## Publishing to ClawHub
```bash
clawhub package publish . --family code-plugin --dry-run
clawhub package publish . --family code-plugin
```
## License
MIT — see [LICENSE](./LICENSE).
tools
Comments
Sign in to leave a comment