Skip to content
Scalekit Docs

Connect AI agents to the Semaphore CI MCP server

Vendor MCP18 toolsOAuth 2.1/DCRDeveloper Tools

The Semaphore CI MCP connector routes your AI agent's tool calls to Semaphore CI's own MCP server through Scalekit. Each user signs in to Semaphore CI once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 18 tools.

  1. Terminal window
    npm install @scalekit-sdk/node dotenv

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'semaphorecimcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Semaphore CI MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'semaphorecimcp_organizations_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

Connect this agent connector to let your agent:

  • Search workflows, projects, docs — Search recent Semaphore CI workflows for a project, most recent first
  • Run workflows, tasks — Schedule a new Semaphore CI workflow run for a project
  • Rerun workflows — Rerun an existing Semaphore CI workflow
  • List tasks, projects, pipelines — List scheduled tasks (periodics) for a Semaphore CI project
  • Describe tasks, jobs — Get detailed information about a Semaphore CI scheduled task (periodic)
  • Jobs pipeline — List all jobs in a Semaphore CI pipeline

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

semaphorecimcp_artifact_job_logs#Fetch a signed URL for full artifact-backed job logs in Semaphore CI.2 params

Fetch a signed URL for full artifact-backed job logs in Semaphore CI.

NameTypeRequiredDescription
job_idstringrequiredThe UUID of the job whose artifact logs to fetch.
organization_idstringrequiredThe UUID of the Semaphore CI organization.
semaphorecimcp_artifacts_list#List artifacts for a project, workflow, or job scope in Semaphore CI.5 params

List artifacts for a project, workflow, or job scope in Semaphore CI.

NameTypeRequiredDescription
organization_idstringrequiredThe UUID of the Semaphore CI organization.
scopestringrequiredThe scope level at which to list artifacts.
scope_idstringrequiredThe UUID of the scoped resource (project ID, workflow ID, or job ID).
pathstringoptionalOptional path prefix to filter artifacts.
project_idstringoptionalOptional project UUID for additional context filtering.
semaphorecimcp_artifacts_signed_url#Generate a signed URL for a single artifact file in Semaphore CI.6 params

Generate a signed URL for a single artifact file in Semaphore CI.

NameTypeRequiredDescription
organization_idstringrequiredThe UUID of the Semaphore CI organization.
pathstringrequiredThe artifact file path to generate a signed URL for.
scopestringrequiredThe scope level of the artifact.
scope_idstringrequiredThe UUID of the scoped resource (project, workflow, or job).
methodstringoptionalHTTP method for the signed URL (GET or HEAD).
project_idstringoptionalOptional project UUID for additional filtering context.
semaphorecimcp_get_test_results#Fetch aggregated test results for a specific Semaphore CI job or pipeline.3 params

Fetch aggregated test results for a specific Semaphore CI job or pipeline.

NameTypeRequiredDescription
scopestringrequiredWhether to fetch test results for a job or a pipeline.
job_idstringoptionalThe UUID of the job to fetch test results for (required when scope is 'job').
pipeline_idstringoptionalThe UUID of the pipeline to fetch test results for (required when scope is 'pipeline').
semaphorecimcp_jobs_describe#Get detailed information about a specific Semaphore CI job including its status, timestamps, and configuration.3 params

Get detailed information about a specific Semaphore CI job including its status, timestamps, and configuration.

NameTypeRequiredDescription
job_idstringrequiredThe UUID of the job to describe.
organization_idstringrequiredThe UUID of the Semaphore CI organization.
modestringoptionalLevel of detail to return for the job.
semaphorecimcp_jobs_logs#Retrieve the execution logs for a Semaphore CI job.2 params

Retrieve the execution logs for a Semaphore CI job.

NameTypeRequiredDescription
job_idstringrequiredThe UUID of the job whose logs to retrieve.
organization_idstringrequiredThe UUID of the Semaphore CI organization.
semaphorecimcp_organizations_list#List Semaphore CI organizations the authenticated user has access to.2 params

List Semaphore CI organizations the authenticated user has access to.

NameTypeRequiredDescription
cursorstringoptionalPagination cursor from a previous response.
limitnumberoptionalMaximum number of organizations to return.
semaphorecimcp_pipeline_jobs#List all jobs in a Semaphore CI pipeline.2 params

List all jobs in a Semaphore CI pipeline.

NameTypeRequiredDescription
organization_idstringrequiredThe UUID of the Semaphore CI organization.
pipeline_idstringrequiredThe UUID of the pipeline whose jobs to list.
semaphorecimcp_pipelines_list#List pipelines associated with a Semaphore CI workflow, most recent first.6 params

List pipelines associated with a Semaphore CI workflow, most recent first.

NameTypeRequiredDescription
organization_idstringrequiredUUID of the organization that owns the workflow.
workflow_idstringrequiredUUID of the workflow to list pipelines for.
cursorstringoptionalPagination cursor for fetching the next page of results.
limitnumberoptionalMaximum number of pipelines to return (1-100).
modestringoptionalLevel of detail to include in the response.
project_idstringoptionalUUID of the project to filter pipelines by, or empty string for no filter.
semaphorecimcp_projects_list#List projects that belong to a Semaphore CI organization.4 params

List projects that belong to a Semaphore CI organization.

NameTypeRequiredDescription
organization_idstringrequiredUUID of the organization to list projects for.
cursorstringoptionalPagination cursor for fetching the next page of results.
limitnumberoptionalMaximum number of projects to return (1-200).
modestringoptionalLevel of detail to include in the response.
semaphorecimcp_tasks_describe#Get detailed information about a Semaphore CI scheduled task (periodic).4 params

Get detailed information about a Semaphore CI scheduled task (periodic).

NameTypeRequiredDescription
organization_idstringrequiredUUID of the organization that owns the project.
project_idstringrequiredUUID of the project that owns the task.
task_idstringrequiredUUID of the scheduled task to describe.
modestringoptionalLevel of detail to include in the response.
semaphorecimcp_tasks_list#List scheduled tasks (periodics) for a Semaphore CI project.5 params

List scheduled tasks (periodics) for a Semaphore CI project.

NameTypeRequiredDescription
organization_idstringrequiredUUID of the organization that owns the project.
project_idstringrequiredUUID of the project to list tasks for.
cursorstringoptionalPagination cursor for fetching the next page of results.
limitnumberoptionalMaximum number of tasks to return (1-100).
modestringoptionalLevel of detail to include in the response.
semaphorecimcp_tasks_run#Trigger a Semaphore CI scheduled task to run immediately.6 params

Trigger a Semaphore CI scheduled task to run immediately.

NameTypeRequiredDescription
organization_idstringrequiredUUID of the organization that owns the project.
project_idstringrequiredUUID of the project that owns the task.
task_idstringrequiredUUID of the scheduled task to trigger.
branchstringoptionalGit branch to run the task against, overriding the task's default branch.
parametersobjectoptionalKey-value pairs of pipeline parameters to pass to the task run.
pipeline_filestringoptionalPath to the pipeline YAML file to use, overriding the task's default.
semaphorecimcp_workflows_rerun#Rerun an existing Semaphore CI workflow.1 param

Rerun an existing Semaphore CI workflow.

NameTypeRequiredDescription
workflow_idstringrequiredID of the workflow to rerun.
semaphorecimcp_workflows_run#Schedule a new Semaphore CI workflow run for a project.6 params

Schedule a new Semaphore CI workflow run for a project.

NameTypeRequiredDescription
organization_idstringrequiredUUID of the organization that owns the project.
project_idstringrequiredUUID of the project to run the workflow for.
referencestringrequiredGit reference to run the workflow against (e.g., refs/heads/main).
commit_shastringoptionalSpecific git commit SHA to run the workflow at.
parametersobjectoptionalKey-value pairs of pipeline parameters to pass to the workflow run.
pipeline_filestringoptionalPath to the pipeline YAML file to use for this workflow run.