DartMonitor
Server Details
Check Dart/Flutter dependencies on pub.dev for updates and manage monitored projects.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct input: a single package name, a list of package names, or raw pubspec.yaml content. The descriptions explicitly guide agents to the right tool (e.g., prefer check_pubspec when raw text is available), so there is no ambiguity.
All three tools follow a clear verb_noun pattern: check_ followed by the target (package, packages, pubspec). The singular/plural distinction is logical and predictable.
Three tools fully cover the server's narrow purpose: checking pub.dev package versions and update availability. Each tool earns its place and the count is appropriate for a focused utility.
The surface covers all key workflows: checking a single package, checking multiple packages, and parsing a pubspec to check dependencies. The changelog retrieval flow is a minor extra step but is clearly described and not a dead end.
Available Tools
3 toolscheck_packageCheck a pub.dev package for updatesAInspect
Looks up a Dart/Flutter package on pub.dev and reports its latest published version. If currentVersion is given, also reports whether an update is available. Changelog HTML for versions newer than currentVersion is left out unless changelog is set to true - if one exists and was left out, the result says so (changelogAvailable: true), so call again with changelog: true to get it. No account needed.
| Name | Required | Description | Default |
|---|---|---|---|
| changelog | No | Include changelog HTML in the response. Defaults to false; only set this once you actually need the changelog text, since it can be large. | |
| packageName | Yes | The pub.dev package name, e.g. "http" or "provider" | |
| currentVersion | No | The version currently installed, e.g. "1.2.3". Omit to just fetch the latest version. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the behavioral burden. It discloses that changelog HTML is omitted unless requested, that a changelogAvailable: true flag signals it was skipped, that calling again with changelog: true retrieves it, and that no account is required. This is substantive transparency beyond a simple 'checks for updates' statement.
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 three tight sentences with zero filler. It front-loads the primary purpose, then layers conditional behaviors and the retry hint in logical order. Every sentence earns its place.
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?
For a simple 3-parameter tool with no output schema and no annotations, the description covers the essential return semantics: latest version, update availability, changelog conditional, and the changelogAvailable retry signal. It does not describe the exact response JSON shape or error behavior for nonexistent packages, but those are minor omissions for this simple lookup 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 100%, and the schema already explains each parameter's meaning and defaults. The description mostly restates these effects (e.g., changelog inclusion depends on the changelog parameter, currentVersion triggers update reporting) rather than adding new semantic depth, so the baseline of 3 applies.
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 identifies the verb and resource: it 'looks up a Dart/Flutter package on pub.dev and reports its latest published version.' It also describes the core conditional behavior (update check when currentVersion is given). However, it does not explicitly distinguish itself from sibling tools check_packages and check_pubspec, so it stops short of a 5.
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 gives parameter-level usage guidance ('Omit to just fetch the latest version', 'only set this once you actually need the changelog text') and notes 'No account needed.' It does not, however, mention when to choose this tool over the sibling tools or any exclusions, leaving selection guidance implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_packagesBatch-check pub.dev packages for updatesAInspect
Checks up to 100 pub.dev packages at once, e.g. every dependency in a project. Useful after reading a pubspec.yaml's dependencies/dev_dependencies by hand; prefer check_pubspec when you have the raw pubspec.yaml text. Changelog HTML is left out of each result unless changelog is set to true - if any of them have one, the response says how many (changelogsAvailable) and reminds you to call again with changelog: true. No account needed.
| Name | Required | Description | Default |
|---|---|---|---|
| packages | Yes | List of {name, currentVersion?} pairs to check | |
| changelog | No | Include changelog HTML in each result. Defaults to false; only set this once you actually need the changelog text, since it can be large across a whole batch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does substantial work: it discloses the 100-package limit, changelog omission by default, the changelogsAvailable count, the reminder to retry with changelog: true, and that no account is needed. It lacks detail on error cases or per-package result contents, but the disclosed behavior is clear and useful.
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?
Four short sentences, each earning its place: scope and capacity, usage context and sibling routing, changelog behavior, and authentication requirement. The most important information is front-loaded and there is 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?
The description covers capacity, usage context, alternative tool selection, changelog behavior, and auth. With no output schema, it could more explicitly state the per-result fields (e.g., latest version or update status), but the title and package-checking purpose make those largely inferable. Overall, an agent has enough context to invoke and interpret the tool correctly.
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 coverage is 100%, so the parameters are already documented in the input schema. The description reinforces the batch size and explains when changelog should be enabled, but it mostly restates or contextualizes what the schema already says rather than adding significant new parameter semantics.
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, resource, and batch capacity ('Checks up to 100 pub.dev packages at once') and gives a concrete use case. It also names check_pubspec as the alternative for raw pubspec.yaml text, clearly distinguishing the tool's purpose.
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?
Explicitly tells the agent when this tool is useful (after manually reading a pubspec's dependency lists) and when to prefer check_pubspec instead. It also guides changelog usage by advising to set it only when the changelog text is actually needed. It does not explicitly contrast with the sibling check_package, though the batch-vs-single distinction is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_pubspecCheck every dependency in a pubspec.yaml for updatesAInspect
Parses a pubspec.yaml file's contents and checks all dependencies and dev_dependencies against pub.dev, reporting which ones have updates available. Changelog HTML is left out of each dependency unless changelog is set to true - if any of them have one, the response says how many (changelogsAvailable) and reminds you to call again with changelog: true. This does not save anything - pass the raw file contents, not a file path. No account needed.
| Name | Required | Description | Default |
|---|---|---|---|
| changelog | No | Include changelog HTML for each dependency. Defaults to false; only set this once you actually need the changelog text, since it can be large across a whole pubspec. | |
| pubspecYaml | Yes | The full raw text contents of a pubspec.yaml file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It explains that the tool is read-only (does not save anything), requires no account, and details the changelog behavior including the reminder to call again with changelog: true. This is transparent and comprehensive.
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 compact and well-structured. It front-loads the main purpose, then explains the changelog behavior, and finishes with usage tips. Every sentence adds necessary information without redundancy.
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?
The description covers the essential context: what the tool does, how to pass input, the changelog toggle behavior, and the fact that it's stateless and account-free. It does not detail the full response format beyond mentioning changelogsAvailable, but given the tool's simplicity and lack of output schema, this is adequate.
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 100%, so the baseline is 3. The description adds value by explaining when to set changelog (only when actually needed, due to large size) and reinforces the pubspecYaml input format (raw contents, not path). This goes beyond the schema descriptions.
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 the tool parses a pubspec.yaml file and checks all dependencies and dev_dependencies against pub.dev for updates. It uses specific verbs and resources, and distinguishes itself from sibling tools (check_package/check_packages) by focusing on a pubspec file rather than individual packages.
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 clear context on what the tool does and includes practical usage hints like passing raw file contents rather than a path, and the changelog parameter guidance. However, it does not explicitly mention alternatives or when-not-to-use scenarios, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
check_package - First observed
check_packages - First observed
check_pubspec
Related MCP Connectors
Manage Cronitor monitors and send telemetry pings โ list, inspect, create, update, delete.
Dependency releases, TLS and domain expiry, and vendor status pages from one endpoint.
Manage cron/heartbeat checks, read pings and flips, pause/resume/delete on Healthchecks.io.
Uptime monitoring: create and manage HTTP, API, SSL, ping, port and domain checks
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMonitors and analyzes dependency health in Node.js projects, providing tools to check outdated packages, vulnerabilities, licenses, and suggest safe upgrades.8 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to search, analyze, and retrieve detailed information about Dart and Flutter packages from pub.dev. Supports package discovery, version management, dependency analysis, and documentation access.66 npm5MIT
- AlicenseAqualityDmaintenanceIntegrates the Pub.dev API with AI assistants to provide real-time Flutter package information, documentation, and trend analysis. It enables users to search for packages, compare versions, and evaluate quality scores through natural language commands.6MIT
- AlicenseBqualityBmaintenanceLocal-first MCP server providing deterministic Flutter/Dart static analysis, knowledge search, and project review with structured insights and confidence-based findings over an indexed SQLite store of official repositories.2414 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.