hermes

Connect Hermes to Wheelbase

Run Hermes as a hosted agent in NoClick with Wheelbase wired into its tools handle. It can use Wheelbase directly while it works. No glue code, nothing to install. Click below to open a ready-to-run agent and connect your account.
Loading preview…
Opens a workflow with 25 tools ready to use.

Set up in minutes

The open button drops you into a guided setup. It asks exactly this, nothing else:
  1. Choose where it runs

    On your computer through your own Hermes, or hosted in the cloud. The rest of setup adapts to your choice:

  2. Pick what it can do in Wheelbase

    A preset of real Wheelbase operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.

  3. Connect Wheelbase

    One sign-in. The agent acts through your account, scoped to the operations you picked.

  4. Add your personal MCP link

    The last step mints a private MCP URL for this agent and walks you through exactly this, with your real link filled in. The page flips to Connected the moment your Hermes first calls in. Hermes connects when it next starts a session.

    1. Run this in your terminal

    $hermes mcp add noclick --url https://mcp.noclick.app/s/<your-link>

    2. Answer no when asked if the server requires authentication — the link itself is the key

    <your-link> is your personal server URL — setup mints it for you.

Tools Hermes gets

Pick the operations you want and each becomes a tool the agent can call directly while it works.

Wheelbase

25 tools
Get Account

Get current credential. Returns the identity and metadata for the credential authenticating this request. Useful for verifying an integration is wired up correctly ("is my token being accepted, and as whom?"). No scope required.

List Listings

Search listings. Returns a page of listings matching the supplied filters. Backed by an eventually-consistent search index; use GET /v1/listings/{id} for source-of-truth state.

Get Listing

Get listing detail. Returns source-of-truth detail for a single listing. Use this for read-modify-write flows — the search index is eventually consistent. Dealer credentials (with `owner_ids`) can only view listings in their own fleet; other listings return 404 (same as if the listing didn't exist, to avoid confirming other dealers' listing IDs). Marketplace credentials (empty `owner_ids`) can view any listing.

Update Listing

Update a listing. Partially update a listing. Only whitelisted fields (`name`, `description`, `price_per_day`, `instant_book`) are accepted; anything else is silently dropped. The authenticated user must have owner-equivalent rights on the listing.

List Listing Addons

List a listing's add-ons. Returns the optional add-ons bookable on this listing (account-wide and listing-specific, filtered to what applies at its location and vehicle type). Apply them via `addons: [{id, quantity}]` on POST /v1/quotes or booking create/update. Required items (prep fees etc.) are attached to bookings automatically and are not listed here.

Get Listing Availability

Get a listing's availability. Returns the date ranges that cannot be booked within the window — existing bookings, owner blocks, and turnaround buffer days, merged into anonymous ranges. Dates not listed are available. This reads the booking source of truth (not the search index) and reflects the same rules booking creation enforces.

List Insurance Options

List a listing’s insurance options. The insurance/protection options (tiers) offered on a listing — price per day, deductible, coverage summary, and feature list. Dealer credentials get dealer-priced options; other credentials get marketplace pricing.

Create Quote

Get a quote. Returns a non-destructive full price breakdown for a listing and date range. Quote calculation does not reserve availability or create a booking.

List Bookings

List bookings. Returns bookings the credential participates in — either as renter (bookings where renter_id = credential user_id) or as owner (bookings on rentals in the credential's owner_ids).

Create Booking

Create a booking. Creates a booking in `negotiating` status. Send an `Idempotency-Key` header to make retries safe — repeating a request with the same key returns the original response instead of creating a duplicate booking. Without the header, every request creates a new booking. Payment collection (Stripe client_secret) is not yet wired here; a dedicated endpoint will be added for that.

Get Booking

Get a booking. Returns a single booking. Only accessible to the renter or the owner of the associated listing.

Update Booking

Modify a booking. Partially update a booking. Only dates, guests, discount code, and insurance can be modified. Go api rejects updates once a booking is confirmed — you'll see a 400 with an upstream reason.

Approve Booking

Approve a booking. Approves the booking from the calling credential's side (renter if user_id = renter_id, owner otherwise). Both sides approving triggers payment capture / confirmation. **Sending a quote:** when a dealer creates a booking on behalf of a customer and then calls approve, the platform marks the owner side approved and emails the customer their quote with a link to review and pay. Include `reason` to add a personal message to that email and the conversation thread.

Decline Booking

Decline a booking. Declines a pre-confirmation booking. Returns 409 if the booking is already confirmed (use /cancel instead).

Cancel Booking

Cancel a booking. Cancels a confirmed booking. Returns 409 if the booking has not been confirmed (use /decline instead). Cancellation may trigger refund logic per the listing's cancel policy.

Create Booking Link

Create a shareable checkout link. Mints a single-use-style deep link the customer can open without a password — resolving it signs them in and lands them on the booking's checkout or payment step. Send it through your own channel (SMS, email). Only available when the booking's customer is one of **your** customers (`managed_by: "dealer"`) — marketplace customers have their own accounts and cannot be signed in via links. Links expire after ~3 days; mint a fresh one per send. Typical flow for a dealer-sent quote: create the booking → `POST /{id}/approve` with `notify: false` → create a `payment` link → send it to the customer yourself.

List Booking Documents

List a booking's documents. Returns the booking's documents: platform-generated PDFs (receipt, contract, e-sign receipt, departure/return forms) and uploaded files (driver documents, message attachments). Fetch on demand — availability of generated documents changes with booking state (e.g. the receipt appears once the booking is approved).

List Booking Payments

List a booking's payments. Returns the booking's money movement, newest first, in two groups: - `payments` — the customer timeline: settled charges and refunds plus scheduled/pending future charges (e.g. the remainder auto-charge). `scheduled: true` entries carry a `due_date`; refund entries carry `original_payment_id`. - `payouts` — money paid out to your account for this booking, with expected/actual bank deposit dates. Complements the `payment` block on booking detail: that block is the summary (total paid / balance / plan); this is the itemized history behind it.

Get Booking Messages

Get a booking's message thread. Returns the full renter conversation attached to a booking, oldest message first. Authors are normalized to renter/dealer/system. Reading does NOT mark the thread read in the Wheelbase dashboard.

List Customers

Search customers. Searches the dealer's customers — both dealer-managed records and marketplace guests who have booked with the dealer. Marketplace customers (`managed_by: "marketplace"`) have `email` and `phone` masked (empty strings) in search results, regardless of booking history. Use `GET /v1/customers/{id}` to read contact info once a confirmed booking exists.

Create Customer

Create a customer. Creates a dealer-managed customer. Find-or-create semantics by email: if a customer with this email already exists in your account, that record is updated and returned instead of creating a duplicate. Created customers are `managed_by: "dealer"` and fully editable. You cannot create a customer using your own account email.

Get Customer

Get a customer. Returns a single customer. Dealer-managed customers (`managed_by: "dealer"`) return all fields. Marketplace customers are only readable when they have an interaction with your account (booking or conversation) — otherwise 404 — and their `email`/`phone` are populated only once a confirmed booking exists. `birthdate` is never available for marketplace customers.

Update Customer

Update a customer. Partially update a dealer-managed customer. Marketplace customers (`managed_by: "marketplace"`) are managed by the marketplace and cannot be edited — attempts return 403.

List Locations

List locations. Returns the dealer's pickup/drop-off locations with address and weekly hours. Use the ids with the `location_ids` filters on vehicle/booking reports and customer search — and to tie a booking or vehicle to its pickup location's hours.

List Message Threads

List message threads. Returns the credential's renter message threads, newest activity first. Each row carries the follow-up signals — last_message_at, last_message_author, unread — so a queue can skip renters who already replied. Reading threads does NOT mark them read in the Wheelbase dashboard.

About Hermes

Hermes is an open agent built on Nous Research’s Hermes models. NoClick runs it hosted and connects your apps to it as tools, so it can do real work across your systems. Wire an integration into the agent and Hermes can use that app’s operations directly while it reasons through a task. It is a strong pick when you want an open-model agent with genuine tool access.
Built on open Hermes models
Capable general reasoning
Flexible, open-model foundation
Hosted with apps wired in as tools

Frequently asked questions

More ways to connect

Open your Hermes agent in one click.

NoClick runs Hermes for you with Wheelbase wired in as tools. Connect your account and run.