Skip to main content
Glama

search_repositories

Find GitHub repositories using search queries with pagination support to locate code projects based on specific criteria.

Instructions

Search for GitHub repositories

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (see GitHub search syntax)
pageNoPage number for pagination (default: 1)
perPageNoNumber of results per page (default: 30, max: 100)

Implementation Reference

  • The core handler function for the 'search_repositories' tool. It constructs a GitHub search URL with query, page, and per_page parameters, fetches the data using githubRequest, and parses the response with GitHubSearchResponseSchema.
    export async function searchRepositories( query: string, page: number = 1, perPage: number = 30 ) { const url = new URL("https://api.github.com/search/repositories"); url.searchParams.append("q", query); url.searchParams.append("page", page.toString()); url.searchParams.append("per_page", perPage.toString()); const response = await githubRequest(url.toString()); return GitHubSearchResponseSchema.parse(response); }
  • Zod schema defining the input structure for the 'search_repositories' tool, including query (required), and optional page and perPage parameters.
    export const SearchRepositoriesSchema = z.object({ query: z.string().describe("Search query (see GitHub search syntax)"), page: z.number().optional().describe("Page number for pagination (default: 1)"), perPage: z.number().optional().describe("Number of results per page (default: 30, max: 100)"), });
  • index.ts:74-77 (registration)
    Registration of the 'search_repositories' tool in the MCP server's listTools response, providing name, description, and input schema.
    name: "search_repositories", description: "Search for GitHub repositories", inputSchema: zodToJsonSchema(repository.SearchRepositoriesSchema), },
  • MCP server dispatch handler for 'search_repositories' tool calls: parses arguments, invokes the repository.searchRepositories function, and formats the response as MCP content.
    case "search_repositories": { const args = repository.SearchRepositoriesSchema.parse(request.params.arguments); const results = await repository.searchRepositories( args.query, args.page, args.perPage ); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }], }; }

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/PhialsBasement/mcp-github-server-plus'

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