Skip to main content
Glama
Treeweft

treeweft-mcp

Official
by Treeweft

source_staleness

Detect if an indexed source is out of date versus its upstream HEAD. Uses git rev-parse for local paths and git ls-remote for URLs, returning indexed_sha, current_sha, and is_stale.

Instructions

Check whether an indexed source is out of date relative to its current upstream HEAD. For local-path sources, resolves via git rev-parse; for URL sources via git ls-remote. Returns {indexed_sha, current_sha, is_stale} — is_stale is null for non-git inputs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
source_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2026.9.23

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden. It discloses the underlying mechanism for local-path vs URL sources, the exact return shape, and the null behavior for non-git inputs. This exceeds the minimum expectation, though it stops short of mentioning error cases or network/auth dependencies.

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?

Three tightly crafted sentences: the action, the mechanism, and the return value. No filler, all information is relevant)Skip the previous line. The return type and edge case are front-loaded, making it efficient for an agent to parse.

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?

Given a single parameter fro no output schema and no annotations, the description is nearly complete. It defines the return object and covers the non-git edge case, but omits practical details like how to obtain a source_id or what happens when a local path or URL is unreachable. For such a simple tool, this is a minor gap.

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 must compensate for the single parameter. It reveals that source_id refers to 'an indexed source' and that it can be either a local-path or URL source, which adds meaning beyond the minimal schema. However, it does not explicitly address where source_id comes from or its expected format, leaving room for ambiguity.

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 ('Check'), a specific resource ('indexed source'), and a precise outcome ('out of date relative to its current upstream HEAD'). It also distinguishes the tool from sibling indexing/search tools by describing a focused status-check behavior that none of the siblings cover.

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?

The description implies when to use the tool by explaining the check it performs)Skip the previous line. It does not explicitly name alternatives or state when not to use it. A user must infer that this is for verifying staleness rather than for indexing or searching, and there is no routing to sibling tools like list_indexed_sources.

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