Skip to main content
Glama

Type check (structured)

npm_typecheck
Read-only

Run TypeScript type checks via tsc/tsgo --noEmit and return structured, compact errors with file, line, column, message, and TS code.

Instructions

Run tsc/tsgo --noEmit and return structured type errors with file, line, column, message, and TS error code. Much more compact than raw tsc output. Auto-detects tsgo for faster checking. Use project to specify a tsconfig.

Input Schema

NameRequiredDescriptionDefault
cwdNoRequired. Project root directory
projectNoPath to tsconfig.json (default: auto-detected by tsc)
maxItemsNoItem cap; overrides detailLevel
detailLevelNoItem preset: summary 20, normal 100, full (default; also skips the response budget)

Output Schema

NameRequiredDescriptionDefault
totalNo
errorsYes
successYes
retainedNo
truncatedNo
errorCountYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv5.0.1

TDQS

A3.9/5.0
Behavior4/5

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

readOnlyHint already declares the safety profile, and the description still adds real behavioral detail: output is compact/structured rather than raw tsc noise, and tsgo is auto-detected for speed. These are traits not derivable from annotations or the schema.

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 short sentences, front-loaded with the action and result shape, with the usage hint last. Slight redundancy between 'structured type errors' and 'much more compact than raw tsc output', but both earn their place by describing the output contract.

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?

An output schema exists, so return values need not be explained, and annotations cover the read-only nature. Combined with the description, an agent has enough to run the check and interpret results; only cross-sibling routing guidance is thin.

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 100% and every parameter is documented there, so the schema does the heavy lifting. The description only reinforces the 'project' parameter, adding no format or default nuance beyond what the schema already states.

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 tsc/tsgo --noEmit type checking) plus the distinctive output contract (structured errors with file/line/column/message/TS code). This clearly separates it from npm_lint, npm_test, and python_typecheck without requiring the agent to open the schema.

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 final sentence gives one concrete usage hint ('Use project to specify a tsconfig'), but there is no explicit when-to-use/when-not guidance versus siblings like npm_test or npm_lint, and no mention of prerequisites such as a TypeScript project being present.

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