list_workflows
Lists GitHub Actions workflows for a repository to view, manage, and understand automation processes.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | Repository owner (username or organization) | |
| repo | Yes | Repository name | |
| page | No | Page number for pagination | |
| perPage | No | Results per page (max 100) |
Implementation Reference
- src/operations/actions.ts:91-107 (handler)The handler function that lists workflows in a GitHub repository by making an API request to the GitHub Actions workflows endpoint and parsing the response.export async function listWorkflows( owner: string, repo: string, page?: number, perPage?: number ) { owner = validateOwnerName(owner); repo = validateRepositoryName(repo); const url = buildUrl(`https://api.github.com/repos/${owner}/${repo}/actions/workflows`, { page: page, per_page: perPage }); const response = await githubRequest(url); return WorkflowsSchema.parse(response); }
- src/operations/actions.ts:17-22 (schema)Zod schema defining the input parameters for the list_workflows tool: owner, repo, optional page and perPage.export const ListWorkflowsSchema = z.object({ owner: z.string().describe("Repository owner (username or organization)"), repo: z.string().describe("Repository name"), page: z.number().optional().describe("Page number for pagination"), perPage: z.number().optional().describe("Results per page (max 100)"), });
- src/index.ts:147-156 (registration)MCP server tool registration for 'list_workflows', providing the schema and an async handler that logs the request, calls the listWorkflows function, and returns the result as JSON text content.server.tool( "list_workflows", actions.ListWorkflowsSchema.shape, async (request: any) => { logToFile('[MCP Server Log] Received list_workflows request (via server.tool)'); // Args are already parsed by the McpServer using the provided schema const result = await actions.listWorkflows(request.owner, request.repo, request.page, request.perPage); return { content: [{ type: "text", text: JSON.stringify(result) }] }; } );