Skip to main content
Glama

get_project_health

Aggregates 7 code health dimensions per project including complexity, large classes, naming violations, unused symbols, reflection, async issues, and disposable misuse. Returns counts and top hotspots for quick prioritization.

Instructions

Aggregate 7 health dimensions per project in one call: complexity hotspots, large classes, naming violations, unused symbols, reflection usage, async violations, and disposable misuse. Returns counts per dimension plus the top-N hotspots inline (default 5) so the caller can prioritise without follow-up calls. Use this when answering 'how is this project doing?' / 'where should I focus?' / 'what's the technical debt picture?'. Underlying defaults: complexity threshold 10, large-class limits 20 members / 500 lines, unused symbols excludes internals. Test projects are skipped. Project filter is case-insensitive. Sort: projects ASC by name; hotspots sorted by severity proxy per dimension (cyclomatic complexity desc, line count desc, severity enum desc for async/disposable).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoOptional: restrict to a single project by name. Default: whole solution, grouped per project.
hotspotsPerDimensionNoHow many hotspots to include per dimension. Default: 5. Pass 0 for counts-only output.
Behavior5/5

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

Despite no annotations, the description extensively discloses behavioral traits: defaults (complexity threshold 10, large-class limits), test projects skipped, case-insensitive filtering, sort order, and return format (counts plus top-N hotspots). This fully informs the agent of the tool's behavior.

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?

The description is somewhat lengthy but front-loaded with the core purpose. Every sentence adds useful context, though some details (like sort order) could be optional. Still efficient for the complexity involved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description fully explains the return structure (counts per dimension, top-N hotspots) and covers edge cases (null project, zero hotspots). The tool has only 2 simple parameters, and the description addresses all relevant context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by noting that 'project' can be null (whole solution) and that 'hotspotsPerDimension=0' yields counts-only output. This goes beyond the schema descriptions.

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 clearly states the tool aggregates 7 specific health dimensions per project, using specific verbs ('aggregate', 'returns') and resources ('health dimensions', 'hotspots'). It distinguishes itself from sibling tools by being a focused health assessment tool rather than a general analysis tool.

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?

Explicit guidance on when to use is provided: 'when answering 'how is this project doing?' / 'where should I focus?' / 'what's the technical debt picture?''. While it doesn't explicitly state when not to use or suggest alternatives, the context and sibling list imply it's for high-level health checks, not deep dives.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarcelRoozekrans/roslyn-codelens-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server