Skip to main content
Glama

search_packages

Search for Dart and Flutter packages on pub.dev using filters, sort options, and pagination to discover relevant dependencies.

Instructions

Search for packages on pub.dev with filters

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
sortNoSort order for results
pageNoPage number for pagination (default: 1)

Implementation Reference

  • The main handler function for the search_packages tool. It constructs a search URL for pub.dev API with query, sort, and page parameters, fetches results using cached fetch, processes the packages data, and returns a JSON-formatted response with search results.
    private async searchPackages(query: string, sort: string = 'top', page: number = 1) { const params = new URLSearchParams({ q: query, sort: sort, page: page.toString() }); const url = `https://pub.dev/api/search?${params}`; const data = await this.fetchWithCache<any>(url, `search-${query}-${sort}-${page}`); const results = { query, sort, page, totalResults: data.count, packages: data.packages.map((pkg: any) => ({ name: pkg.package, version: pkg.latest.version, description: pkg.latest.pubspec?.description, points: pkg.points, likes: pkg.likes, popularity: pkg.popularity, publishedAt: pkg.latest.published })) }; return { content: [ { type: "text", text: JSON.stringify(results, null, 2) } ] }; }
  • Input schema definition for the search_packages tool, specifying required 'query' parameter and optional 'sort' (enum) and 'page' parameters.
    { name: "search_packages", description: "Search for packages on pub.dev with filters", inputSchema: { type: "object", properties: { query: { type: "string", description: "Search query" }, sort: { type: "string", enum: ["top", "text", "created", "updated", "popularity", "points", "likes"], description: "Sort order for results" }, page: { type: "number", description: "Page number for pagination (default: 1)" } }, required: ["query"] } }
  • Dispatcher registration in the CallToolRequestSchema handler that routes calls to the searchPackages method with parsed arguments.
    case "search_packages": return await this.searchPackages( args.query as string, args.sort as string, args.page as number );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devqxi/pubdev-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server