Semaphore CI MCP connector
OAuth2.1/DCRDeveloper ToolsSemaphore CI is a fast, cloud-native continuous integration and delivery platform that automates building, testing, and deploying software with flexible...
Semaphore CI MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'semaphorecimcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Semaphore CI MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'semaphorecimcp_organizations_list',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "semaphorecimcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Semaphore CI MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="semaphorecimcp_organizations_list",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”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
Tool list
Section titled “Tool list”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.
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.
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.
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_docs_search#Search Semaphore CI documentation for guides, references, and API details.3 params
Search Semaphore CI documentation for guides, references, and API details.
querystringrequiredThe search query string to look up in Semaphore documentation.limitnumberoptionalMaximum number of results to return (1–30).versionstringoptionalOptional documentation version to scope the search.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.
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.
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.
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.
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.
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.
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.
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_projects_search#Search Semaphore CI projects by name, repository URL, or description.6 params
Search Semaphore CI projects by name, repository URL, or description.
organization_idstringrequiredUUID of the organization to search projects in.limitnumberoptionalMaximum number of projects to return (1-50).max_pagesnumberoptionalMaximum number of pages to fetch when searching across paginated results (1-10).modestringoptionalLevel of detail to include in the response.querystringoptionalText query to filter projects by name or description.repository_urlstringoptionalFilter projects by their linked repository URL.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).
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.
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.
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.
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.
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.semaphorecimcp_workflows_search#Search recent Semaphore CI workflows for a project, most recent first.8 params
Search recent Semaphore CI workflows for a project, most recent first.
organization_idstringrequiredUUID of the organization that owns the project.project_idstringrequiredUUID of the project to search workflows for.branchstringoptionalFilter workflows by git branch name.cursorstringoptionalPagination cursor for fetching the next page of results.limitnumberoptionalMaximum number of workflows to return (1-100).modestringoptionalLevel of detail to include in the response.my_workflows_onlybooleanoptionalIf true, return only workflows triggered by the authenticated user.requesterstringoptionalFilter workflows by the username of the user who triggered them.