get_user_repositories
Retrieve repositories from AtomGit by specifying a username, with options for pagination and search filters.
Instructions
Search for AtomGit user repositories
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Number of results per page (default: 10) | |
| per_page | No | Page number for pagination (default: 1) | |
| search | No | Search query content | |
| username | Yes | Search query username |
Implementation Reference
- operations/repository.ts:43-62 (handler)Core implementation of the get_user_repositories tool: constructs AtomGit API URL for user repositories with pagination and search params, fetches via atomGitRequest.export async function getUserRepositories( username: string, per_page: number = 10, page: number = 1, search?: string ) { let url = `https://api.atomgit.com/users/${encodeURIComponent(username)}/repos`; const params = new URLSearchParams(); if (per_page) params.append('per_page', per_page.toString()); if (page) params.append('page', page.toString()); if (search) params.append('search', search); const queryString = params.toString(); if (queryString) { url += `?${queryString}`; } const response = await atomGitRequest(url.toString()); return response; }
- operations/repository.ts:15-20 (schema)Zod input schema for validating arguments to get_user_repositories.export const getUserRepositoriesSchema = z.object({ username: z.string().describe("Search query username"), per_page: z.number().optional().describe("Page number for pagination (default: 1)"), page: z.number().optional().describe("Number of results per page (default: 10)"), search: z.string().optional().describe("Search query content"), });
- index.ts:111-115 (registration)Registration of the get_user_repositories tool in the MCP server's listTools response.{ name: "get_user_repositories", description: "Search for AtomGit user repositories", inputSchema: zodToJsonSchema(repository.getUserRepositoriesSchema), },
- index.ts:231-242 (handler)MCP CallToolRequest handler case that parses args with schema and delegates to the core getUserRepositories function.case "get_user_repositories": { const args = repository.getUserRepositoriesSchema.parse(request.params.arguments); const results = await repository.getUserRepositories( args.username, args.per_page, args.page, args.search, ); return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }], }; }