Skip to main content
Glama
Pub.dev MCP Server

Pub.dev MCP Server

by devqxi

Pub.dev MCP Server

A Model Context Protocol (MCP) server for pub.dev, the official package repository for Dart and Flutter.
It allows AI assistants to search, analyze, and retrieve detailed information about Dart/Flutter packages.


✨ Features

  • 🔍 Package Search – Advanced filtering & sorting

  • 📦 Package Information – Metadata, dependencies, statistics

  • 🔄 Version Management – Check updates, compare versions, track history

  • 📚 Documentation Access – README, changelog, examples, API docs

  • ⚡ Caching – Built-in 5-minute intelligent cache

  • 🛠 Dependency Analysis – Compare dependencies between versions


Related MCP server: Maven Package README MCP Server

📦 Installation

npm install -g @devqxi/pubdev-mcp-server

From Source

git clone https://github.com/devqxi/pubdev-mcp-server.git
cd pubdev-mcp-server
npm install
npm run build
npm run start

⚙️ Configuration

Claude Desktop

  1. Locate your configuration file:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  2. Add:

{
  "mcpServers": {
    "pubdev": {
      "command": "npx",
      "args": ["@devqxi/pubdev-mcp-server"]
    }
  }
}
  1. Restart Claude Desktop.

Local Build Example:

{
  "mcpServers": {
    "pubdev": {
      "command": "node",
      "args": ["/path/to/pubdev-mcp-server/dist/pubdev-mcp.js"]
    }
  }
}

Other MCP Clients:

npx @devqxi/pubdev-mcp-server

🛠 Available Tools

Tool

Description

Key Parameters

get_package_info

Retrieve package metadata, stats, dependencies, publishers

packageName

search_packages

Search with filters and sorting

query, sort, page

check_package_updates

Check if updates are available

packageName, currentVersion

get_package_versions

Get version history

packageName, limit

get_documentation_changes

Get README, changelog, examples, API docs

packageName, version, docType

compare_package_versions

Compare dependencies & changes between versions

packageName, fromVersion, toVersion


📖 Example Commands

  • Search Packages
    "Search for state management packages sorted by popularity"

  • Package Details
    "Get information about the flutter_bloc package"

  • Check Updates
    "Check if provider has updates from version 6.0.0"

  • Get Docs
    "Get the changelog for dio version 4.0.0"

  • Compare Versions
    "Compare dependencies between http 2.0.0 and 3.0.0"


💻 Development

git clone https://github.com/devqxi/pubdev-mcp-server.git
cd pubdev-mcp-server
npm install
npm run build
npm run start

Test with MCP Inspector:

npx @modelcontextprotocol/inspector npx @devqxi/pubdev-mcp-server

🌐 API Reference

  • https://pub.dev/api/packages/{package}

  • https://pub.dev/api/search

  • https://pub.dev/api/packages/{package}/versions

  • https://pub.dev/packages/{package}/{version}/{doc-type}


🛡 Error Handling

  • Graceful handling of network & API failures

  • Clear errors for invalid/non-existent packages

  • Built-in delays for respectful rate limiting

  • Detailed validation messages for malformed requests


🤝 Contributing

  1. Fork & branch (git checkout -b feature/amazing-feature)

  2. Install deps (npm install)

  3. Build & test (npm run build && npm test)

  4. Commit & push (git commit -m 'Add feature' && git push)

  5. Open a Pull Request


📜 License

MIT – See LICENSE


📢 Support


🆕 Changelog

v1.0.0

  • Initial release

  • All major pub.dev API endpoints supported

  • Caching & error handling implemented

  • Full MCP protocol compliance

Available Tools

6 tools
check_package_updatesC

Check for updates to a specific package or compare versions

Inputs: packageName (required), currentVersion.

compare_package_versionsC

Compare two versions of a package and show differences

Inputs: packageName (required), fromVersion (required), toVersion (required).

get_documentation_changesC

Get documentation content and detect changes for a package

Inputs: packageName (required), version, docType.

get_package_infoB

Get detailed information about a Dart/Flutter package from pub.dev

Inputs: packageName (required).

get_package_versionsC

Get all available versions of a package with their release dates

Inputs: packageName (required), limit.

search_packagesB

Search for packages on pub.dev with filters

Inputs: query (required), sort, page.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: checking updates, comparing versions, getting documentation changes, retrieving package info, listing versions, and searching packages. The descriptions make it easy to differentiate between tools like 'check_package_updates' (for update status) and 'compare_package_versions' (for version differences).

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case, such as 'check_package_updates', 'get_package_info', and 'search_packages'. This uniformity makes the tool set predictable and easy to navigate without any deviations in naming conventions.

    Tool Count5/5

    With 6 tools, the server is well-scoped for its purpose of interacting with pub.dev packages. Each tool serves a specific function in package management, from discovery to version analysis, without feeling too sparse or overloaded. This count aligns with typical MCP server ranges for focused domains.

    Completeness4/5

    The tool set covers core workflows for package discovery, information retrieval, and version analysis effectively. Minor gaps exist, such as the lack of tools for publishing packages or managing dependencies, but agents can still perform essential tasks like searching, comparing, and monitoring updates without significant hindrance.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers