Skip to main content
Glama
doricomcp

doricomcp

by kulbiq

score_changes

Tracks changes in a Dorico flow: returns a snapshot token, then lists added, removed, and changed events since a given token along with a new token.

Instructions

What changed in a flow: without since, take a snapshot and return its token; with since=, list the events added, removed and changed since then, each marked by "server" (written through these tools) or "Dorico" (edited in Dorico by hand), and a new token. Changes inside dynamic groups (levels) are not seen.

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

Input Schema

NameRequiredDescriptionDefault
flowNo
sinceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full load and does well: it discloses that the no-`since` call has a side effect (takes a snapshot and issues a token), that results are marked by origin ("server" vs. "Dorico" hand-edits), and it proactively states a limitation (changes inside dynamic groups/levels are not seen). It stops short of stating read-only vs. mutating status or permission requirements.

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?

A single front-loaded sentence with the two modes split by a semicolon, so the reader hits the key distinction immediately. It is dense but every clause carries information; slight cost is that the provenance and limitation clauses pile onto the same sentence.

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 two-parameter tool with no output schema, the description covers what is returned (event lists, provenance tags, a fresh token) and the calling protocol well enough to invoke correctly. The remaining gaps — what `flow` values are legal and what an empty change set looks like — are small but real.

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 0%, so the description must supply meaning, and it fully explains `since` — its accepted token, its absence semantics, and how the returned token feeds the next call. The `flow` parameter is never explained beyond the phrase "in a flow," leaving its default (0) and valid range undocumented.

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 names a precise operation on a precise resource: reporting what changed in a flow, with two clearly differentiated modes (snapshot vs. diff-since-token). It goes beyond the name by explaining what the returned data consists of (events added/removed/changed, provenance markers, new token).

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?

It gives explicit operational guidance: call without `since` to get a snapshot token, call with `since=<token>` to get a delta. That is a genuine usage protocol an agent can follow. It does not, however, contrast against any sibling or state when a different tool would be preferable.

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