Skip to main content
Glama
Fernandocgomez

DemoTool MCP Server

angular_forms_standards

Fetch Angular reactive forms standards and validation best practices before creating or modifying forms; optionally filter by categories such as FormBuilder or signals.

Instructions

⚠️ REQUIRED TOOL: Must be called before creating or modifying forms. Returns Angular forms standards and best practices for reactive forms, FormBuilder usage, and form validation. Can retrieve all standards or filter by specific category.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional category to filter standards (e.g., "formbuilder", "form-groups", "valuechanges-signal", "statuschanges-signal", "rxmethod-side-effects"). If not provided, returns all standards.
listCategoriesNoIf true, returns a list of available standard categories instead of the standards themselves.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the key non-obvious behavior — enforceable pre-work requirement and the category-filter vs listCategories alternative — but says nothing about output size, caching, or whether this is purely read-only, which is implied only by "Returns...".

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 sentences, front-loaded with the mandatory-use warning so the critical routing constraint is read first. No filler and every sentence carries distinct information.

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 2-parameter, no-annotation, no-output-schema retrieval tool this is largely complete: it covers what is returned, the filtering options, and the mandatory call timing. Only the absence of any note on result shape or safety profile keeps it from fully self-contained.

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%, with both parameters already documented including example category values, so the baseline is 3. The description's "can retrieve all standards or filter by specific category" just restates the schema's behavior without adding format or value semantics.

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?

States a concrete verb and resource: returns Angular forms standards and best practices covering reactive forms, FormBuilder and validation. The subject matter clearly separates it from the sibling *_standards tools (components, data fetching, design system, models), though it never names them explicitly.

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?

"Must be called before creating or modifying forms" gives an explicit trigger condition plus a note that results can be all standards or a filtered category. It stops short of stating when this tool should NOT be used or which sibling to pick for adjacent concerns.

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