get_logo_component
Get the full TypeScript source of a logo's React component (what shadcn add @logoforge/<slug> installs into components/logos/.tsx).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Get the full TypeScript source of a logo's React component (what shadcn add @logoforge/<slug> installs into components/logos/.tsx).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful context that the return is complete component source (not a diff or snippet) and where that file lands, but says nothing about behavior for an unknown slug or error handling. With annotations doing the heavy lifting, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with the clarifying parenthetical earning its place by specifying exactly what is returned and where it is installed. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly takes on the job of explaining the return value (full TypeScript source), which is the main thing an agent needs. It is slightly thin on failure behavior for an invalid slug, but otherwise complete for a single-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required 'slug' parameter, so the description must compensate. It partially does by showing <slug> substituted into both the package path (@logoforge/<slug>) and the file path (components/logos/<slug>.tsx), conveying that it is the logo identifier used for naming, but it never states accepted format or validity rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and a precise resource (the full TypeScript source of a logo's React component), and the parenthetical pinpoints the exact artifact via the shadcn install command and target file path. This implicitly distinguishes it from get_logo_svg and get_logo by output format, so an agent can pick the right sibling without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical implies the use case (you want the installed React component source rather than raw SVG or metadata), but there is no explicit when-to-use, when-not-to-use, or named alternative. Usage must be inferred from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.