Skip to main content
Glama
chrischall

honeybook-mcp

by chrischall

use_magic_link

Idempotent

Capture a signed-in HoneyBook client-portal session from an open Chrome tab via ContextMint Bridge, saving auth fields to sessions.json for other HoneyBook MCP tools.

Instructions

Capture a HoneyBook client-portal session via the ContextMint Bridge browser extension. Prerequisites: install the ContextMint Bridge extension in Chrome (Safari isn't available yet), then open the vendor's magic-link URL in that browser so you're signed into their portal and leave that tab open. This tool then snapshots the auth fields out of the page's localStorage["HONEYBOOK_REACT_CURR_USER"] into ~/.honeybook-mcp/sessions.json. The tab only needs to be open and signed in — nothing is sniffed off a live request, so it does not matter whether the page is idle. All other tools use the most-recently-activated session by default. The magic_link_url arg is used only to derive the portalOrigin (cache key) — the tool does NOT open or navigate to it. For a QUESTIONNAIRE link (https://.hbportal.co/flow/?hash=…) use use_flow_link instead — that link writes a different, flow-scoped credential and this tool refuses it.

Input Schema

NameRequiredDescriptionDefault
magic_link_urlYesFull magic-link URL from the vendor's HoneyBook email, e.g. https://<vendor>.hbportal.co/app/workspace_file/<id>/... Used only to derive the portal origin; you must already have this URL open in a Chrome tab with the ContextMint Bridge extension installed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.2
    • changedInput schema / properties / magic_link_url / description
      Previous value: -"Full magic-link URL from the vendor's HoneyBook email, e.g. https://<vendor>.hbportal.co/app/workspace_file/<id>/...  Used only to derive the portal origin; you must already have this URL open in a Chrome tab with the fetchproxy extension installed."New value: +"Full magic-link URL from the vendor's HoneyBook email, e.g. https://<vendor>.hbportal.co/app/workspace_file/<id>/...  Used only to derive the portal origin; you must already have this URL open in a Chrome tab with the ContextMint Bridge extension installed."
  2. Changed1 schema field changedv1.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. First observedv0.3.1

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond annotations: explains exactly what is extracted and where it is written, clarifies that nothing is sniffed from a live request so an idle page is fine, and notes that other tools default to the most-recently-activated session. The description does not explicitly discuss permissions or failure modes if the extension is missing, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and prerequisite chain, then edge cases. It is fairly long but dense with non-redundant operational detail, so it earns most of its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a session-capture tool with no output schema, it covers installation, the exact storage field, the write target, session-selection behavior for sibling tools, and the hard rejection of flow links. An agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description adds critical semantics: magic_link_url is used only to derive portalOrigin as a cache key and is not opened or navigated to. That resolves a likely misconception for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource: capture a client-portal session and snapshot auth fields from localStorage into a sessions file. It explicitly distinguishes itself from use_flow_link, naming that sibling and the condition under which this tool refuses the input.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Prerequisites are laid out step by step (install extension, open magic-link URL, leave tab signed in and open). It also gives an explicit exclusion: questionnaire links must use use_flow_link instead, and this tool will reject them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.