Skip to content

MCP server that provides comprehensive access to pub.dev, the official package repository for Dart and Flutter.

License

Notifications You must be signed in to change notification settings

devqxi/pubdev-mcp-server

Repository files navigation

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.

Pub.dev Server MCP server

✨ 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

📦 Installation

NPM (Recommended)

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

About

MCP server that provides comprehensive access to pub.dev, the official package repository for Dart and Flutter.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •