get_rate_limit
Check GitHub API rate limit status to monitor usage and prevent hitting request caps.
Instructions
Check the current rate limit status
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/operations/rate_limit.ts:34-42 (handler)Core handler function that makes the GitHub API request to retrieve rate limit information and parses the response using the defined schema.export async function getRateLimit( github_pat: string ): Promise<z.infer<typeof RateLimitSchema>> { const response = await githubRequest( github_pat, "https://api.github.com/rate_limit" ); return RateLimitSchema.parse(response); }
- src/operations/rate_limit.ts:27-31 (schema)Input schema definitions for the get_rate_limit tool, including the public schema and internal extended schema with github_pat.export const GetRateLimitSchema = z.object({}); export const _GetRateLimitSchema = GetRateLimitSchema.extend({ github_pat: z.string().describe("GitHub Personal Access Token"), });
- src/operations/rate_limit.ts:5-24 (schema)Output schema definitions for parsing the GitHub rate limit API response.export const RateLimitResourceSchema = z.object({ limit: z.number(), used: z.number(), remaining: z.number(), reset: z.number(), }); export const RateLimitSchema = z.object({ resources: z.object({ core: RateLimitResourceSchema, search: RateLimitResourceSchema, graphql: RateLimitResourceSchema, integration_manifest: RateLimitResourceSchema, code_scanning_upload: RateLimitResourceSchema, actions_runner_registration: RateLimitResourceSchema, scim: RateLimitResourceSchema, dependency_snapshots: RateLimitResourceSchema, }), rate: RateLimitResourceSchema, });
- src/index.ts:227-231 (registration)Tool registration in the MCP server's list of available tools.{ name: "get_rate_limit", description: "Check the current rate limit status", inputSchema: zodToJsonSchema(rate_limit.GetRateLimitSchema), },
- src/index.ts:648-654 (handler)Dispatch handler in the main CallToolRequest handler that validates input and delegates to the rate_limit.getRateLimit function.case "get_rate_limit": { const args = rate_limit._GetRateLimitSchema.parse(params.arguments); const result = await rate_limit.getRateLimit(args.github_pat); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; }