Semaphore CI MCP server
Semaphore CI in any MCP client, through Memtro: Semaphore CI does not publish this server. Memtro's Semaphore CI connector reads Semaphore CI through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Semaphore CI/CD: a project's workflows and pipelines by branch and time with state, result, duration and failure reason, a pipeline's blocks and jobs, a job's commands with exit codes, promotions, deployment targets, pipeline duration, pass rate and run frequency, and flaky tests; when asked, can run a workflow on a branch, tag or pull request, rerun or stop one, stop a pipeline or job, rebuild a pipeline's failed blocks, trigger a promotion (usually a deploy), run a task, and activate or deactivate a deployment target.
Reads
semaphore_list_workflowsWorkflows (one per push, pull request, tag or manual run) of a Semaphore project: id, branch, commit, when created…semaphore_list_pipelinesPipelines of a Semaphore project or of one workflow: id, name, YAML file, branch, state, result (passed, failed, stopped, canceled)…semaphore_get_pipelineOne Semaphore pipeline by id: state, result and reason, branch, commit, timings, error, and (with detailed true…semaphore_get_jobOne Semaphore job by id: name, state, result and timings; with commands true, each command it ran with its exit code and duration…semaphore_list_promotionsPromotions (deploy or follow-on pipelines) of a Semaphore pipeline: name, status and what triggered it.semaphore_list_deployment_targetsDeployment targets (environments such as production) of a Semaphore project: id, name, description, URL, state, whether active…semaphore_pipeline_insightsSemaphore's insights for one pipeline file of a project: duration (average seconds, all, passed and failed runs), reliability…semaphore_flaky_testsFlaky tests Semaphore has detected in a project: test name, group, file, suite, pass rate, how many runs they disrupted, labels, resolved or not…
Acts, when you ask
These change something in Semaphore CI. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
semaphore_run_workflowStarts a new Semaphore workflow for a project on a git reference (refs/heads/<branch>, refs/tags/<tag> or refs/pull/<n>), optionally at a commit…semaphore_rerun_workflowReruns a Semaphore workflow from the start as a new workflow; its jobs run again and use CI minutes, and anything it deploys is deployed again.semaphore_stop_workflowStops a running Semaphore workflow and every pipeline in it; running jobs are cancelled and cannot be resumed (rerun it to start again).semaphore_stop_pipelineStops one running Semaphore pipeline; its running jobs are cancelled and cannot be resumed.semaphore_rebuild_failed_blocksReruns only the failed blocks of a finished Semaphore pipeline, as a new pipeline; those jobs use CI minutes again.semaphore_trigger_promotionTriggers a named promotion of a Semaphore pipeline, which starts the promoted pipeline: usually a deploy to staging or production…semaphore_run_taskRuns a Semaphore task (a scheduled or on-demand pipeline) now, with its defaults or on another branch or tag, pipeline file, or parameters.semaphore_stop_jobStops one running Semaphore job; it ends as stopped and cannot be resumed.semaphore_deactivate_deployment_targetDeactivates (cordons) a Semaphore deployment target, so no promotion can deploy to it until it is activated again.semaphore_activate_deployment_targetActivates a deactivated Semaphore deployment target, so promotions can deploy to it again.
Connect it
First connect Semaphore CI on Dashboard → Connections, then add Memtro to your client once. The Semaphore CI tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Semaphore CI connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Why did the last pipeline on main fail?
- › Which tests are flaky in the api project?
- › What is the pass rate of our main pipeline this month?
- › When did we last deploy to production?
- › Rebuild the failed blocks of the last pipeline on main.
Questions
- Is this an official Semaphore CI MCP server?
- No. It is Memtro's MCP server with Memtro's Semaphore CI connector behind it: the connector reads Semaphore CI through its API with the credentials you connect on Dashboard → Connections, and Semaphore CI publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Semaphore CI?
- Only when you ask, and only what it has been granted: run a workflow on a branch, tag or pull request; rerun a workflow; stop a running workflow; stop a running pipeline; rebuild a pipeline's failed blocks; trigger a promotion (deploy) of a pipeline; run a task now; stop a running job; deactivate a deployment target; activate a deployment target. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.