List Versions
list_versionsAll published versions of a package.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Package id |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| versions | No | Array of semantic version strings |
list_versionsAll published versions of a package.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Package id |
| Name | Required | Description | Default |
|---|---|---|---|
| versions | No | Array of semantic version strings |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / examplesAdded value: +[
+ {
+ "id": "Newtonsoft.Json"
+ }
+]Output schema / (root)Previous value: -nullNew value: +{
+ "description": "List of all published versions for a package",
+ "properties": {
+ "versions": {
+ "description": "Array of semantic version strings",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds no additional behavioral context beyond stating the result is a list of versions. It does not contradict the annotations, but also does not enhance them.
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?
The description is extremely concise (4 words) and front-loaded with the key action. Every word adds value, though it could be restructured as a full sentence for clarity. The brevity is acceptable for a simple tool.
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?
Given the tool's simplicity (one input, explicit output schema), the description is fairly complete. The annotations cover safety, and the schema covers parameters and return values. However, it omits details like ordering or inclusion of prerelease versions, which might be inferred from the output schema.
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?
The input schema has a single parameter 'id' with a description 'Package id', providing 100% coverage. The description adds no additional meaning beyond what the schema already communicates. A score of 3 is appropriate as the schema carries the burden adequately.
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?
The description clearly states that the tool lists all published versions of a package. It implicitly distinguishes from sibling tools like 'get_package' and 'latest_version' by focusing on 'versions' rather than package metadata or a single version. However, it could be more explicit about the scope (e.g., 'list all' vs 'list filtered').
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 description provides no guidance on when to use this tool versus alternatives such as 'latest_version' or 'get_package'. There is no mention of prerequisites (e.g., package existence), context of use, or exclusions. The agent must infer usage from the tool name alone.
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.
Several tools are near-identical: ask_pipeworx and ask_pipeworx_beta are explicitly the same function, ask_pipeworx_grounded is the same router with a different response mode, and polymarket_edges/polymarket_arbitrage/polymarket_edge_tracker/polymarket_fill_risk all overlap on prediction-market edge detection. search vs search_within vs discover_tools also blur discovery boundaries. An agent would struggle to pick the right tool without reading every long description.
All names are snake_case and individually readable, so there's no chaotic style mixing. However, the pattern is inconsistent: bare verbs (search, recall, forget, subscribe), verb_noun (get_package, resolve_entity, scan_dependency), noun phrases (latest_version, recent_alerts), and compound prefixes (pipeworx_*, polymarket_*). The server is named 'Nuget' but the vast majority of tools carry pipeworx_ or polymarket_ prefixes, making the namespace feel like a grab-bag.
35 tools is far too many for a server ostensibly named 'Nuget' — only ~5 tools relate to NuGet package lookup (search, get_package, list_versions, latest_version, scan_dependency), and even scan_dependency is npm-only. The remaining ~30 tools belong to an unrelated Pipeworx research/markets/memory platform. The count is inflated by redundant variants (ask_pipeworx trio, six polymarket tools) rather than distinct functionality.
Judged by the server's stated purpose (NuGet), the surface is thin and has dead ends: search and version metadata are covered, but there's no package owner/publisher info, no readme/description body fetch, no download stats beyond totals, and scan_dependency targets the wrong ecosystem (npm). Judged by the actual dominant domain (Pipeworx), coverage is excessive and sprawling. The tool set fails to deliver a coherent, complete surface for either apparent purpose.