Skip to main content
Glama

Build (structured)

dotnet_build

Run .NET builds and return compact structured diagnostics with file, line, column, message, and error code, omitting warnings unless requested.

Instructions

Run dotnet build and return structured diagnostics with file, line, column, message, and error code. Much more compact than raw MSBuild output. Warnings are omitted by default; pass includeWarnings:true (or detailLevel:'full') to include them.

Input Schema

NameRequiredDescriptionDefault
cwdNoRequired. Project root directory
projectNoPath to .csproj or .sln file (default: auto-detected in cwd)
maxItemsNoItem cap; overrides detailLevel
detailLevelNoItem preset: summary 20, normal 100, full (default; also skips the response budget)
configurationNoBuild configuration (e.g. Debug, Release)
includeWarningsNoInclude warnings in the response (default: errors only, even on a successful build)

Output Schema

NameRequiredDescriptionDefault
totalNo
summaryYes
exitCodeYes
retainedNo
truncatedNo
errorCountYes
diagnosticsYes
warningCountYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv5.0.1

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It usefully discloses that warnings are omitted by default and how to include them, and that output is structured and compact. It does not mention side effects (build artifacts, execution time), failure behavior, or permissions—gaps for a build command.

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 front-loaded sentences with zero filler. Each sentence earns its place: purpose/output, compactness benefit, and the warning default with the override.

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. The description covers the purpose and the main behavioral toggle (warnings). For a no-annotation build tool it could say more about failure semantics, but given the rich schema and output schema it is largely complete.

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%, so all six parameters are already documented by the schema. The description reinforces the includeWarnings/detailLevel interaction, but adds little beyond the schema text; for example, detailLevel:'full' skipping the response budget is only in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting.

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 specific verb and resource ('Run dotnet build') and lists the structured diagnostic fields returned, making the operation unambiguous. It distinguishes itself from raw MSBuild output by promising compact structured diagnostics. However, it does not explicitly contrast itself with any sibling tool, so it stops short of a 5.

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?

There is no explicit when-to-use / when-not guidance relative to alternatives. The only guidance is parameter-level: warnings are omitted by default, and includeWarnings:true or detailLevel:'full' includes them. Usage is implied by the tool name and dotnet context, but alternatives like dotnet_test are not addressed.

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