Skip to main content
Glama

search_repositories

Find GitHub repositories using advanced search queries, with options for pagination and results per page, via the GitHub MCP Server Plus for efficient repository management.

Instructions

Search for GitHub repositories

Input Schema

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

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "page": { "description": "Page number for pagination (default: 1)", "type": "number" }, "perPage": { "description": "Number of results per page (default: 30, max: 100)", "type": "number" }, "query": { "description": "Search query (see GitHub search syntax)", "type": "string" } }, "required": [ "query" ], "type": "object" }

Implementation Reference

  • Core implementation of the search_repositories tool, which constructs GitHub API URL and fetches search results.
    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 input parameters for the search_repositories tool.
    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:73-77 (registration)
    Tool registration in the ListTools response, defining name, description, and schema.
    { name: "search_repositories", description: "Search for GitHub repositories", inputSchema: zodToJsonSchema(repository.SearchRepositoriesSchema), },
  • MCP server handler for CallToolRequest, parses arguments and delegates to searchRepositories function.
    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