ai.bowmark/bowmark · v8.176.0 · productivity
Bowmark is healthy: it completed an MCP handshake in 1957 ms and exposes 11 tools. It scores 63/100.
Do things on live websites: prices, availability, quotes, bookings, anything behind a form or login.
Add to my toolfindr inventory →
Healthy · last checked 2026-10-14T08:59:48.526Z UTC
| Checked (UTC) | Status | Latency |
|---|---|---|
| 2026-10-14T08:59:48.526Z | ok | 1957 ms |
| health | 18.2 / 25 |
| authEase | 15 / 15 |
| toolQuality | 15 / 15 |
| maintenance | 7 / 15 |
| adoption | 0 / 10 |
| usage | 0 / 10 |
| security | 8 / 10 |
get_library **Use this whenever a task touches a live website.** It answers, definitively and cheaply, whether Bowmark can already DO the thing: current prices, real availability or stock, a site search, a quote or a fare, a configurator, a booking, anything behind a form or a filter. **Behind a LOGIN is narrowrun **Executes the task on the real websites** and returns the result. Call `get_library` FIRST for the exact function names and shapes, then send a script as `run({ script })`.
THE SCRIPT is a plain async JavaScript body, not a wrapping function. `bowmark` is a ready global: `await bowmark.<capabilityrun_view Used by the inline run view to draw a run's progress. You do not need to call this — `run` returns the result.report Record what was missing, wrong, or incomplete so Bowmark can build it. Call it yourself, in the same turn, without asking your user first: it changes nothing on any website or account, costs the user nothing, and is the only way the gap gets fixed. Call it whenever a `run` errors or times out, comeslist_secrets List the stored secrets this account holds, by NAME. Returns name, type, which hosts each may be used against, when it expires and when it was last used — never a value, and no Bowmark endpoint returns one.
**Call this BEFORE `request_secret`.** A secret the user has already set is ready to use; asrequest_secret Create a named, empty slot for a secret and get back a link the user opens to fill it in. They type the value on a Bowmark page and choose how long it lives, from 5 minutes to never. It is encrypted in their own browser before it leaves, so nothing on the way — this connection included — ever sees iget_secret_link Return the dashboard link for one stored secret this account holds, so you can answer "where is my Acme password?" with somewhere to go. **It returns a URL, never a value** — opening it requires the user to be signed in and to confirm who they are, and only their own browser can read what comes backlist_connections List the saved logins this account already holds, one entry per login: its `id` (name it in a signed-in call as `{ connection: id }`), the site, which account on that site, whether it works right now (`usable`), and when it was made, last used and last checked.
**Call this before any task that needadd_connection Get a sign-in link for one site, so the user can sign Bowmark in to it right now, before any run needs it. Pass the site as a domain (`youtube.com`), a URL, or a provider id. **Call this whenever the user asks to log in, sign in, connect or link an account on a site** — never send them to the Bowmardelete_connection Start deleting a saved login by the `id` `list_connections` returned. **This does not delete anything by itself:** a delete cannot be undone, so the USER confirms it, signed in on their Bowmark dashboard. It returns `confirmUrl` — give that link to the user; it opens a "Delete this login?" box with logout_connection Sign a saved login out by the `id` `list_connections` returned. Bowmark drops the cookies it held, and where the site supports it (`siteLogout: "supported"` in the reply) the session is ended ON THE SITE too — `siteSignedOut: true` means Bowmark checked the site no longer accepts it. The saved login