Skip to main content
Glama
safari-browser-mcp

safari-browser-mcp

by Jakub30cz

browser_doctor

Diagnose Safari setup issues by checking permissions, settings, policy file, and the safaridriver session, with an option to skip driver checks.

Instructions

Diagnose the Safari setup: permissions, Safari settings, policy file and (unless skipped) the safaridriver session.

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": "browser_doctor"
  }
}

Input Schema

NameRequiredDescriptionDefault
skipDriverNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It lists what is inspected but does not say whether the tool is read-only, whether it may launch or claim a safaridriver session (a real side effect), whether it requires permissions itself, or how long it takes. For a zero-annotation tool that is a meaningful gap.

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?

One compact sentence with the resource and scope front-loaded and no filler. The parenthetical is slightly awkward but carries real information, so nothing is wasted.

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

Completeness2/5

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

No output schema and no annotations mean the description should explain what a diagnosis returns and whether it mutates state; it does neither. For a diagnostic tool whose whole value is an actionable report, the description leaves the agent guessing about results and side effects.

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

Parameters3/5

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

Schema coverage is 0% — the single boolean skipDriver has no schema description. The parenthetical "(unless skipped)" does connect that flag to skipping the safaridriver session check, which is genuine added meaning, but it stops short of stating the default or consequences of skipping.

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

Purpose4/5

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

States a specific verb ("Diagnose") and resource ("the Safari setup") and enumerates the four things it inspects: permissions, Safari settings, policy file, safaridriver session. That clearly separates it from the sibling browser_* interaction tools, though it never names an alternative explicitly.

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

Usage Guidelines3/5

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

Usage is only implied by the word "Diagnose" — an agent can infer this is the troubleshooting entry point when normal browser tools fail. There is no explicit statement of when to run it, when not to, or which sibling to try first.

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