GitStuffServer registers 4 tools via TypeScript SDK with mixed quality. Tool descriptions are present but brief (60-110 chars). Schema visibility is limited: gitMergeDiffSchema and adoPrChangesSchema are imported but their actual JSON Schema structure is not visible in provided source. adoPrComment and adoPrThreads use Zod schemas (.shape extracted), also not visible. No descriptions for input parameters across any tool. git_merge_diff lacks any visible schema definition. Error handling code not shown. No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite risk classifications being assigned. Output schemas are completely undocumented. Based on what's verifiable in source, this server falls in the 'Poor' range with major gaps in parameter descriptions and schema visibility.
Fetches changes from an Azure DevOps Pull Request with full diff content using the Azure DevOps Node API.
Posts a comment to an Azure DevOps Pull Request. Can reply to existing threads or create new ones.
Fetches all active comment threads from an Azure DevOps Pull Request.
Generates the text diff for a Git merge commit against its first parent within a specified local repository.
No input parameter descriptions across all 4 tools. LLMs cannot determine what each parameter controls without explicit descriptions. git_merge_diff parameters completely unknown; ado_pr_changes shows 2 params (pullRequestId, organizationId) with descriptions in schema, but schema itself not visible in source.
git_merge_diff tool has NO visible input schema definition. gitMergeDiffSchema is imported from external file but not shown. Cannot verify parameter names, types, constraints, or defaults.
No output schemas documented for any tool. Callers do not know what fields to expect, preventing effective downstream tool chaining and forcing LLMs to infer response structure. Tool descriptions lack WHAT the tool returns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 31 | - | v1 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite risk classifications being known: ado_pr_comment is marked WRITE, others READ_ONLY. Annotations must be present in schema or metadata for agents to understand operation safety.
ado_pr_changes tool description does not clarify WHEN to use it vs ado_pr_threads vs ado_pr_comment. All three operate on Azure DevOps PRs but serve different purposes, descriptions lack disambiguation guidance for LLM tool selection.
Tool descriptions (60-110 chars) are at the LOW end of baseline range (p10=34, p90=392). While non-empty, they lack actionable detail: no explanation of prerequisites, return value shape, when to use instead of similar tools, or what constraints the tool enforces.
ado_pr_changes parameter 'organizationId' marked optional but no description of what happens if omitted or how it 'loads specific configuration settings'. Schema shows minLength constraint but LLMs cannot read JSON Schema directly, constraint must be in description text.
No error handling guidance visible. No recovery suggestions ('Try search_users() first'), categorization (retryable vs user-fixable vs fatal), or actionable error messages shown in source.