Skip to main content
Glama

search_all

Search across local, GitHub, and community collections for personas, skills, templates, and other elements with unified results, duplicate detection, and version comparison.

Instructions

Search across all available sources (local portfolio, GitHub portfolio, and collection) for elements. This provides unified search with duplicate detection and version comparison across all three tiers of the DollhouseMCP ecosystem.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query. Can match element names, keywords, tags, triggers, or descriptions across all sources.
sourcesNoSources to search. Defaults to ['local', 'github']. Include 'collection' to search the community collection.
typeNoLimit search to specific element type. If not specified, searches all types.
pageNoPage number for pagination (1-based). Defaults to 1.
page_sizeNoNumber of results per page. Defaults to 20.
sort_byNoSort results by criteria. Defaults to 'relevance'.

Implementation Reference

  • The handler function that executes the 'search_all' tool logic by mapping input arguments to the server's searchAll method.
    handler: (args: SearchAllArgs) => server.searchAll({ query: args.query, sources: args.sources, elementType: args.type as any, page: args.page, pageSize: args.page_size, sortBy: args.sort_by as any })
  • The input schema defining parameters, types, descriptions, and requirements for the 'search_all' tool.
    inputSchema: { type: "object", properties: { query: { type: "string", description: "Search query. Can match element names, keywords, tags, triggers, or descriptions across all sources.", }, sources: { type: "array", items: { type: "string", enum: ["local", "github", "collection"] }, description: "Sources to search. Defaults to ['local', 'github']. Include 'collection' to search the community collection.", }, type: { type: "string", enum: ["personas", "skills", "templates", "agents", "memories", "ensembles"], description: "Limit search to specific element type. If not specified, searches all types.", }, page: { type: "number", description: "Page number for pagination (1-based). Defaults to 1.", }, page_size: { type: "number", description: "Number of results per page. Defaults to 20.", }, sort_by: { type: "string", enum: ["relevance", "source", "name", "version"], description: "Sort results by criteria. Defaults to 'relevance'.", }, }, required: ["query"], },
  • The call that registers all portfolio tools, including 'search_all', into the ToolRegistry.
    this.toolRegistry.registerMany(getPortfolioTools(instance));
  • TypeScript interface defining the argument shape for the 'search_all' handler.
    interface SearchAllArgs { query: string; sources?: string[]; type?: string; page?: number; page_size?: number; sort_by?: 'relevance' | 'source' | 'name' | 'version'; }
  • The tool definition object for 'search_all' returned by getPortfolioTools for registration, including name, description, schema, and handler.
    { tool: { name: "search_all", description: "Search across all available sources (local portfolio, GitHub portfolio, and collection) for elements. This provides unified search with duplicate detection and version comparison across all three tiers of the DollhouseMCP ecosystem.", inputSchema: { type: "object", properties: { query: { type: "string", description: "Search query. Can match element names, keywords, tags, triggers, or descriptions across all sources.", }, sources: { type: "array", items: { type: "string", enum: ["local", "github", "collection"] }, description: "Sources to search. Defaults to ['local', 'github']. Include 'collection' to search the community collection.", }, type: { type: "string", enum: ["personas", "skills", "templates", "agents", "memories", "ensembles"], description: "Limit search to specific element type. If not specified, searches all types.", }, page: { type: "number", description: "Page number for pagination (1-based). Defaults to 1.", }, page_size: { type: "number", description: "Number of results per page. Defaults to 20.", }, sort_by: { type: "string", enum: ["relevance", "source", "name", "version"], description: "Sort results by criteria. Defaults to 'relevance'.", }, }, required: ["query"], }, }, handler: (args: SearchAllArgs) => server.searchAll({ query: args.query, sources: args.sources, elementType: args.type as any, page: args.page, pageSize: args.page_size, sortBy: args.sort_by as any }) } ];

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/DollhouseMCP/mcp-server'

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