Skip to main content
Glama
ko1ynnky

GitHub Actions MCP Server

by ko1ynnky

trigger_workflow

Trigger a GitHub Actions workflow run by specifying the repository owner, repo name, workflow ID, and ref (branch, tag, or SHA). Supports custom input parameters for the workflow.

Instructions

Trigger a workflow run

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputsNoInput parameters for the workflow
ownerYesRepository owner (username or organization)
refYesThe reference of the workflow run (branch, tag, or SHA)
repoYesRepository name
workflowIdYesThe ID of the workflow or filename

Implementation Reference

  • The main handler function that executes the tool logic by validating inputs, constructing the GitHub API dispatch URL, and sending a POST request to trigger the workflow, returning a success message.
    export async function triggerWorkflow( owner: string, repo: string, workflowId: string | number, ref: string, inputs?: Record<string, string> ) { owner = validateOwnerName(owner); repo = validateRepositoryName(repo); const url = `https://api.github.com/repos/${owner}/${repo}/actions/workflows/${workflowId}/dispatches`; const body: { ref: string; inputs?: Record<string, string>; } = { ref }; if (inputs && Object.keys(inputs).length > 0) { body.inputs = inputs; } await githubRequest(url, { method: 'POST', body }); // This endpoint doesn't return any data on success return { success: true, message: `Workflow ${workflowId} triggered on ${ref}` }; }
  • Zod schema defining the input parameters for the trigger_workflow tool, used for validation.
    export const TriggerWorkflowSchema = z.object({ owner: z.string().describe("Repository owner (username or organization)"), repo: z.string().describe("Repository name"), workflowId: z.string().describe("The ID of the workflow or filename (string or number)"), ref: z.string().describe("The reference of the workflow run (branch, tag, or SHA)"), inputs: z.record(z.string(), z.string()).optional().describe("Input parameters for the workflow"), });
  • src/index.ts:206-214 (registration)
    Registers the 'trigger_workflow' tool with the MCP server, providing the schema and the handler invocation wrapped in the required response format.
    server.tool( "trigger_workflow", actions.TriggerWorkflowSchema.shape, async (request: any) => { const { owner, repo, workflowId, ref, inputs } = request; const result = await actions.triggerWorkflow(owner, repo, workflowId, ref, inputs); return { content: [{ type: "text", text: JSON.stringify(result) }] }; } );

Other Tools

Related Tools

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/ko1ynnky/github-actions-mcp-server'

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