Skip to main content
Glama

Scan Dependency

scan_dependency
Read-onlyIdempotent

Composite "should I add this npm package to my project" check in ONE call — fans out across deps.dev (license + advisories + version history) and bundlephobia (gzipped/minified bundle size, dependency count, ESM/tree-shake support). Use whenever an agent asks "is X safe / popular / small" or "what does adding lodash cost me". Returns a summary block (is_latest, license, published_at, advisory_count, bundle_kb_min, bundle_kb_gz, dependency_count, has_esm, tree_shakeable), per-advisory detail, links, and a list of recent alternative versions. NPM ecosystem only in v1; PyPI / Maven / Cargo / Go fall under deps.dev:version directly. Partial failures degrade gracefully — bundlephobia's first measurement on a new version can take 5-30s; sources_failed will list it if it times out, the rest still returns.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packageYesnpm package name. Scoped packages (e.g. "@types/node") are accepted.
versionNoSpecific version to check (e.g., "18.3.1"). Defaults to the latest published version when omitted.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark read-only, idempotent, open-world. Description adds valuable behavioral context: partial failures degrade gracefully, bundlephobia's first measurement can take 5-30s, sources_failed will list timeouts, and the tool fans out to multiple APIs. This goes beyond the structured annotations and informs the agent about non-obvious timing and failure behavior.

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?

Description is dense but well-organized: core purpose first, then usage triggers, then output summary, then limitations. Every sentence adds information; no filler. Length is justified by the tool's composite nature.

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?

No output schema exists, so description must explain return fields and does so comprehensively, listing the summary block fields, per-advisory detail, links, and alternative versions. It also covers edge cases (timeout, partial failure). Given the tool's complexity, the description is complete and actionable.

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 coverage is 100%, so description doesn't need to explain parameters. The description adds context about the overall purpose but not new parameter-level detail. The 'version' field's default behavior is already in the schema. Baseline 3 is appropriate.

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 identifies the tool as a composite check for npm package evaluation, specifying the exact question it answers ('should I add this npm package') and naming the two data sources (deps.dev and bundlephobia). It distinguishes this tool from siblings by focusing on a niche, multi-source scan rather than a generic search or entity lookup.

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?

Explicitly states when to use: whenever an agent asks about safety, popularity, size, or cost of an npm package. Also provides an exclusion and alternative: 'NPM ecosystem only in v1; PyPI / Maven / Cargo / Go fall under deps.dev:version directly.' This tells the agent exactly when not to use this tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.5/5.0
Disambiguation2/5

Several tools overlap heavily: ask_pipeworx and ask_pipeworx_beta are explicitly identical, and ask_pipeworx, ask_pipeworx_grounded, deep_research, discover_tools, and suggest_questions all serve as query/discovery entry points. Polymarket tools also blur together (bet_research, polymarket_edges, polymarket_arbitrage, polymarket_edge_tracker, polymarket_fill_risk). While many tools have distinct purposes, these overlapping clusters create real misselection risk.

Naming Consistency2/5

All names are snake_case but the pattern is inconsistent: some are verb_noun (ask_pipeworx, search_datasets, validate_claim), some are noun_verb (query_layer, layer_info is noun_noun), and some are single vague words (forget, recall, remember). No consistent verb_prefix or resource_suffix convention, and the mix of meta-tools vs data tools makes the naming feel arbitrary.

Tool Count2/5

34 tools is far too many for a server ostensibly named 'Arcgis Lancaster' — only 3 tools relate to GIS. The bulk is an unrelated general-purpose data/prediction-market toolkit, making the count excessive for the apparent scope. Even as a broad data toolset, 34 tools is on the heavy side and would benefit from splitting into focused servers.

Completeness2/5

The tool surface is a grab bag with no coherent domain, so completeness is hard to assess and clearly lopsided. GIS functionality has search/query/info but no lifecycle management, while the data side has many query/analysis tools but no create/update/delete operations except for subscriptions and memory. Obvious gaps exist for a 'Lancaster' server (e.g., no layer creation, editing, or spatial analysis tools), and the unrelated tools make the set feel incomplete for any single stated purpose.