Skip to main content
Glama
jonasliesas

singlestore-mcp-server

by jonasliesas

app_page

Read-only

Fetch the HTML for a SingleStore MCP server app page so workspace views load current UI content after restarts, with checks to skip unchanged head or build.

Instructions

HTML of one of this server's app pages (the workspace loads its views with this).

Tool results aren't cached by hosts, unlike resources/read, so views pick
up changes right after restart_server.

``head``: the caller's shared-head hash (its ``s2-head`` meta); when it matches,
the page comes without the shared head (``head_omitted``; the caller puts its own
copy in at SHARED_HEAD_MARKER). ``build``: the build the caller already has; when
it matches, only ``unchanged`` comes back.

Input Schema

NameRequiredDescriptionDefault
uriYes
headNo
buildNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.10.1
    • addedInput schema / properties / build
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Build"
      +}
    • addedInput schema / properties / head
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Head"
      +}
  2. Addedv0.8.1

TDQS

A3.5/5.0
Behavior4/5

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

With readOnlyHint already declaring safety, the description adds real behavioral context beyond annotations: host caching differences vs resources/read, the head_omitted condition when the caller's shared-head hash matches, the SHARED_HEAD_MARKER insertion contract, and the 'unchanged' response when build matches. These are meaningful conditional-return semantics. It still omits failure modes and what an invalid URI yields.

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

Conciseness3/5

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

Purpose is front-loaded and the length is reasonable, but the prose is dense with unexplained jargon and RST double-backtick markup (``s2-head`` meta, SHARED_HEAD_MARKER, shared-head hash) that an agent must reverse-engineer. The parenthetical about the workspace loading its views is tangential to invocation.

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

Completeness3/5

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

For a read-only tool with no output schema, the description does describe the response variants (full page, head-omitted page, unchanged), which is valuable. But it leaves the required uri unspecified and doesn't cover error behavior, so an agent cannot confidently construct a valid call from the definition alone.

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 0%, so the description carries the full parameter burden. It explains head and build well – what they represent, when they match, and the resulting output shape (head_omitted / unchanged). But the single REQUIRED parameter, uri, gets no semantics at all: no format, no example, no indication of valid page identifiers, which is a notable gap at 0% coverage.

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?

The description states a concrete resource and its scope: 'HTML of one of this server's app pages', and clarifies the workspace loads its views with this tool. It implicitly separates itself from resources/read by contrasting caching behavior, though it never names a sibling tool. Clear enough for an agent to know this returns raw page HTML, but the phrasing is a noun fragment rather than a crisp verb+resource statement.

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?

It gives one routing signal – unlike resources/read, results aren't cached, so this is preferred when freshness after restart_server matters. However, it never states when NOT to use it, what the URI should point to, or which of the many sibling tools is the alternative for page-related work. Usage is implied rather than prescribed.

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

Deploy Server

Other Tools