Skip to main content
Glama

plainhub_diff

Review what a commit changed by opening it in PlainHub’s browser diff view; optionally scope to one file or skip saved-token handoff.

Instructions

Show what a commit changed, in PlainHub's diff view. Use it after a commit when the user wants to review the change in the browser. Hands the saved token to https://app.plainhub.dev unless noAuth is true. Example: {"repo": "octocat/hello-world", "sha": "1a2b3c4", "path": "src/login.js"}

Input Schema

NameRequiredDescriptionDefault
shaYesCommit SHA (7-40 hex characters)
pathNoShow only this file
repoYesGitHub repository as owner/name, e.g. octocat/hello-world
noAuthNoSet to true to not hand the saved token to the page

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.8.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and it does disclose the most security-relevant trait: the saved token is handed to https://app.plainhub.dev unless noAuth is true, revealing both the destination domain and a side effect. It also implies a browser-opening action rather than a pure data read. It leaves gaps around authentication requirements and failure behavior for an invalid SHA or repo.

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 purpose is front-loaded in the first clause, followed by usage context, a security note, and a compact example — no filler sentences. The JSON example is somewhat redundant with the schema but earns its place by showing a realistic combination.

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?

For a four-parameter browser-handoff tool with no output schema and no annotations, the description covers purpose, timing, the token-handoff behavior, and an example. What remains unstated — auth prerequisites and error behavior — is modest given the tool's simplicity.

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 description coverage is 100%, so all four parameters are already documented, and the description only echoes them via an example object. The example illustrates that path filters to a single file, adding marginal meaning. Baseline 3 is appropriate since the schema does the heavy lifting.

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?

Names a specific verb and resource — showing what a commit changed in PlainHub's diff view — so the agent knows exactly what the tool produces. It is distinguishable from generic siblings like plainhub_open or plainhub_browse, though it never explicitly contrasts itself with them.

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?

"Use it after a commit when the user wants to review the change in the browser" gives a clear trigger condition and makes the browser-review intent explicit. It stops short of stating when NOT to use it or naming a sibling (e.g. plainhub_open) as the alternative for non-diff browsing.

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