← Back to Plugins
Tools

Hutchclaw

ExpeditedProjects By ExpeditedProjects 👁 48 views ▲ 0 votes

OpenClaw plugin for Hutch — structured data tools for agents.

GitHub

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

Loading comments...