Skip to main content
Glama

sharphy_inspect_metadata

Decodes .NET assembly metadata to discover types and member signatures without decompiling method bodies. Use for read-only inspection of TypeDef, MethodDef, attributes, and P/Invoke imports.

Instructions

Decodes ECMA-335 metadata tables including TypeDef, MethodDef, FieldDef, custom attributes, P/Invoke imports, and embedded resources. Use this tool when discovering types and member signatures of an assembly without decompiling method bodies. Do NOT use for binary comparisons (use 'sharphy_diff_assemblies'). Read-only inspection.

Input Schema

NameRequiredDescriptionDefault
assemblyPathYesAbsolute path to the compiled assembly (.dll/.exe)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does declare the safety profile ('Read-only inspection') plus a scope boundary (metadata only, no method bodies). What is missing is any statement about failure modes on bad paths or what the returned structure looks like, which matters since there is no output schema.

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 tight sentences: capability front-loaded, then usage condition, then exclusion. Every sentence carries distinct information with no repetition of the tool name.

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 single-parameter read-only inspection tool with no output schema, the description gives enough to select and invoke it, and the enumeration of table types implicitly signals the shape of results. A brief note on return structure or behavior on malformed/obfuscated assemblies would close the remaining gap.

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?

There is a single parameter and schema description coverage is 100%, with the schema already stating it must be an absolute path to a .dll/.exe. The description adds no further constraint or format guidance beyond that, so baseline applies.

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 ('Decodes ECMA-335 metadata tables') and enumerates the concrete contents (TypeDef, MethodDef, FieldDef, custom attributes, P/Invoke imports, embedded resources). It also distinguishes itself from a sibling by contrasting with decompiling method bodies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use clause ('discovering types and member signatures of an assembly without decompiling method bodies') and an explicit exclusion routing to a named alternative ('Do NOT use for binary comparisons (use sharphy_diff_assemblies)').

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