Skip to main content
Glama

Server Details

Visual regression review: projects, builds, visual diffs, approvals, comments and analytics.

Ownership verified
Status
Healthy
Uptime
14.3% over 44 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have sharply distinct roles: search_tools is a read-only catalog discovery step and execute_typescript runs code against discovered operations. The descriptions explicitly sequence them ('use it first, before execute_typescript'), leaving no room for misselection.

Naming Consistency5/5

Both names follow a clean snake_case verb_noun pattern (search_tools, execute_typescript) with no mixed conventions. The verb choice accurately reflects each tool's action.

Tool Count4/5

Two tools is thin by the usual heuristic, but here it is a deliberate meta-tool/code-execution gateway that fronts 89 underlying operations, so the surface is intentionally collapsed rather than under-built. It is well-scoped, though it relies entirely on search to make the underlying surface discoverable.

Completeness5/5

Between dynamic discovery and execution, the full domain (projects, builds, screenshot diffs, reviews, tests, comments, media, team settings) is reachable with read/write coverage. There are no obvious dead ends, as arbitrary operation combinations can be composed in one execute_typescript round trip.

Available Tools

2 tools
execute_typescriptExecute TypeScriptA
Destructive
Inspect

Run a short TypeScript program, in an isolated sandbox, that calls the Snapvisor operations declared by search_tools and returns their combined result. Use it to carry out the user's request once search_tools has shown the operations to call, including several calls in one round trip. Depending on the operations the program calls, it can change or delete data (approve or reject a build, delete a comment), email teammates, and call GitHub or GitLab — confirm destructive steps with the user first. Every call is checked against the connection's own scopes and plan, exactly as when called directly.

NameRequiredDescriptionDefault
codeYesA TypeScript program body run in an isolated sandbox. Call the external_* functions search_tools declared; the program must `return` its result.

Output Schema

NameRequiredDescription
logsNo
errorNo
resultNo
successYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, but the description adds concrete substance: examples of what gets changed or deleted (approve/reject a build, delete a comment), external side effects (emails, GitHub/GitLab), and the fact that calls are checked against the connection's scopes and plan. It stops short of describing sandbox limits, timeouts, or failure behavior.

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?

Four sentences, each carrying distinct information (purpose, sequencing, destructive caution, scoping), with the core action front-loaded. Slightly verbose but no sentence is wasted.

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?

An output schema exists, so return values need no explanation. The description covers what the tool does, how it relates to search_tools, side-effect risk, and permission enforcement — everything an agent needs to invoke it correctly.

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 100% and the single 'code' parameter is fully documented there, so the schema carries the load. The description reinforces that the program calls the external_* functions and must return a result, but adds little syntax or format detail beyond the schema. Baseline 3 is appropriate.

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 ('Run a short TypeScript program in an isolated sandbox') and immediately distinguishes itself from its sibling by noting it calls 'the Snapvisor operations declared by search_tools'. An agent can tell this is the execution step that follows discovery.

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?

Explicitly says to use it 'once search_tools has shown the operations to call', names the sibling alternative, and adds the sequencing constraint plus a caution to 'confirm destructive steps with the user first'. Both when-to-use and when-to-be-cautious are covered.

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

search_toolsSearch ToolsA
Read-onlyIdempotent
Inspect

Search the Snapvisor tools this connection can reach — projects, builds, screenshot diffs, reviews, tests, comments, media and team settings — and return their TypeScript declarations with a read-only or write label. Use it first, before execute_typescript, to find the operation that answers the user's request and its exact input and output types. Pass a query such as "build" or "review" to narrow the result; omit it to list every tool this connection's scopes allow (all 89 for a personal access token). Reads the catalog only: it never reads or changes account data.

NameRequiredDescriptionDefault
queryNoCase-insensitive substring matched against each tool's name, title and description. Omit to return every tool this connection can reach.

Output Schema

NameRequiredDescription
countYes
declarationsYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint false, so the safety profile is covered; the description still adds real context by stating it reads the catalog only and never reads or changes account data, that results are scope-limited ('all 89 for a personal access token'), and that output carries read-only/write labels. It stops short of describing pagination or result-size limits.

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

Conciseness5/5

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

Four sentences, front-loaded with what the tool returns and when to call it, with no redundancy against the schema or annotations. Each sentence contributes either routing, output shape, or parameter behavior.

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 discovery tool with a single optional param and an existing output schema, the description supplies everything an agent needs: what is returned, the read-only/write labeling, scope-dependent coverage, and the mandatory sequencing before execute_typescript.

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%, so the mechanics (case-insensitive substring over name/title/description; omit to return all) are already in the schema, keeping the baseline at 3. The description goes beyond that by supplying concrete example queries ('build', 'review') and tying omission to scope-limited full listing, which meaningfully aids query construction.

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?

The description states a specific verb+resource ('Search the Snapvisor tools this connection can reach') and enumerates the domain it covers (projects, builds, diffs, reviews, tests, comments, media, settings). It also names the sibling execute_typescript and positions search_tools relative to it, so an agent can distinguish the two without opening schemas.

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?

It gives an explicit ordering directive ('Use it first, before execute_typescript') and states the goal that selects this tool (find the operation that answers the user's request). The query usage is also qualified — pass a query to narrow, omit to list everything — so both call modes are covered.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedexecute_typescript
    • First observedsearch_tools

Publisher details

Operator
Devino Solutions
Operator website
https://devino.ca
Vendor relationship
First-party
Trust center
Not available
Restrictions
Requires a SnapVisor account. Sign in with OAuth when your client asks. MCP access requires a paid plan.

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources