Skip to main content
Glama

Fresha MCP Server and API by Cotlet

Open the browser

cotlet_browser_open
Read-only

Starts the user's Fresha Cloud Browser (a real Chrome on Cotlet, signed in to Fresha as the user; use it for what the Fresha tools do not cover) and opens url. Call it first. Only Fresha pages open. Answers the page after it: the elements and text in view, with the same numbers. In Fresha it serves these actions: List appointments, Create appointment, Reschedule appointment, List clients, Get sales summary.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "cotlet_browser_open"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoA public http or https address, e.g. https://example.com.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / url / description
      Previous value: -"A public http or https address, e.g. https://example.com. In an app's browser, a page of that app."New value: +"A public http or https address, e.g. https://example.com."
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint, but the description adds real context beyond them: the browser is a real signed-in Chrome session, only Fresha pages will open, and the call returns the in-view elements and text with matching numbers after the page loads. It omits what happens if a session already exists, how long it persists, or any auth prompt behavior, 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?

The core action is front-loaded and the sentences are dense with useful facts rather than filler. The trailing enumeration of Fresha actions (List appointments, Create appointment, etc.) is the least essential part and could be trimmed without losing invocation guidance.

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

Completeness4/5

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

With no output schema, the description does the right thing by explaining what comes back after the page loads (visible elements and text with consistent numbering). Scope restrictions and the signed-in session context are covered; what remains thin is session lifecycle and failure behavior for a stateful, non-idempotent open call.

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 100% and the single `url` parameter is already documented as a URI, so the baseline is 3. The description adds a constraint the schema does not carry — only Fresha pages will actually open, despite the schema's generic https://example.com example — which meaningfully shapes how the agent should choose a value.

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 specific verb and resource ("Starts the user's Fresha Cloud Browser ... and opens `url`") and explicitly positions itself relative to the Fresha API tools ("use it for what the Fresha tools do not cover"). An agent can tell this apart from cotlet_browser_navigate or the fresha_* tools without opening any schema.

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

Usage Guidelines4/5

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

"Call it first" gives explicit sequencing guidance, and "use it for what the Fresha tools do not cover" names the condition that selects this over the direct Fresha tools. It does not contrast itself with sibling browser tools like cotlet_browser_navigate or cotlet_browser_read, so the boundary within the browser family is left partly to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.