Semaphore UI integration
Semaphore UI is a self-hosted web interface and API for running Ansible playbooks, Terraform, OpenTofu, Pulumi and shell scripts. Create and manage projects with their users and roles, git repositories, SSH and login access keys, inventories, environments and variable groups, task templates and views, start a job from a template and follow, stop or delete its tasks, read task output, define schedules, build multi-step workflows and run them, read their runs, artifacts and approvals and resolve an approval, register and manage global and per-project runners with their tags, registration tokens, active state and cache, configure integrations with their extracted values, matchers and aliases, send a test notification, read project and instance events, back up and restore a project, manage users, their passwords, options and API tokens, and read instance info. Interactive login, OIDC and websocket routes are not included. The host is part of the credential because every install is its own deployment. Authentication is a Semaphore API token sent as a bearer token.
Say what should happen.
The workflow builds itself.
What you can do with Semaphore UI
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Runner, 10 operations
create_project_runnerCreate project runnerPOSTAdd project runner.create_runnerCreate runnerPOSTAdd global runner.delete_project_runnerDelete project runnerDELETEDelete project runner.delete_runnerDelete runnerDELETEDelete global runner.get_project_runnerGet project runnerGETGet project runner.get_runnerGet runnerGETGet global runner.list_project_runnersList project runnersGETGet project runners.list_runnersList runnersGETGet all global runners.update_project_runnerUpdate project runnerPUTUpdate project runner.update_runnerUpdate runnerPUTUpdate global runner.
User, 10 operations
add_project_userAdd project userPOSTLink user to project.create_userCreate userPOSTCreates a user.delete_project_userDelete project userDELETERemoves user from project.delete_userDelete userDELETEDeletes user.get_current_userGet current userGETFetch logged in user.get_userGet userGETFetches a user profile.list_project_usersList project usersGETGet users linked to project.list_usersList usersGETFetches all users.update_project_user_roleUpdate project user rolePUTUpdate user role.update_userUpdate userPUTUpdates user details.
Aliase, 6 operations
create_integration_aliasCreate integration aliasPOSTCreate a new alias for an integration.create_project_integration_aliasCreate project integration aliasPOSTCreate a new integration alias for the project.delete_integration_aliasDelete integration aliasDELETERemove integration alias.delete_project_integration_aliasDelete project integration aliasDELETERemove integration alias.list_integration_aliasesList integration aliasesGETGet all aliases for an integration.list_project_integration_aliasesList project integration aliasesGETGet all integration aliases for the project.
Environment, 5 operations
create_environmentCreate environmentPOSTAdd environment.delete_environmentDelete environmentDELETERemoves environment.get_environmentGet environmentGETGet environment.list_environmentsList environmentsGETGet environment.update_environmentUpdate environmentPUTUpdate environment.
Integration, 5 operations
create_integrationCreate integrationPOSTcreate a new integration.delete_integrationDelete integrationDELETERemove integration.get_integrationGet integrationGETGet Integration.list_integrationsList integrationsGETget all integrations.update_integrationUpdate integrationPUTUpdate Integration.
Inventory, 5 operations
create_inventoryCreate inventoryPOSTcreate inventory.delete_inventoryDelete inventoryDELETERemoves inventory.get_inventoryGet inventoryGETGet inventory.list_inventoriesList inventoriesGETGet inventory.update_inventoryUpdate inventoryPUTUpdates inventory.
Project, 5 operations
create_projectCreate projectPOSTCreate a new project.delete_projectDelete projectDELETEDelete project.get_projectGet projectGETFetch project.list_projectsList projectsGETGet projects.update_projectUpdate projectPUTUpdate project.
Repositorie, 5 operations
create_repositoryCreate repositoryPOSTAdd repository.delete_repositoryDelete repositoryDELETERemoves repository.get_repositoryGet repositoryGETGet repository.list_repositoriesList repositoriesGETGet repositories.update_repositoryUpdate repositoryPUTUpdates repository.
Template, 5 operations
create_templateCreate templatePOSTcreate template.delete_templateDelete templateDELETERemoves template.get_templateGet templateGETGet template.list_templatesList templatesGETGet template.update_templateUpdate templatePUTUpdates template.
View, 5 operations
create_viewCreate viewPOSTcreate view.delete_viewDelete viewDELETERemoves view.get_viewGet viewGETGet view.list_viewsList viewsGETGet view.update_viewUpdate viewPUTUpdates view.
Workflow, 5 operations
create_workflowCreate workflowPOSTAdd workflow.delete_workflowDelete workflowDELETERemove workflow.get_workflowGet workflowGETGet workflow.list_workflowsList workflowsGETGet workflows.update_workflowUpdate workflowPUTUpdate workflow.
Key, 4 operations
create_access_keyCreate access keyPOSTAdd access key.delete_access_keyDelete access keyDELETERemoves access key.list_access_keysList access keysGETGet access keys linked to project.update_access_keyUpdate access keyPUTUpdates access key.
Matcher, 4 operations
create_integration_matcherCreate integration matcherPOSTAdd Integration Matcher.delete_integration_matcherDelete integration matcherDELETERemoves integration matcher.list_integration_matchersList integration matchersGETGet Integration Matcher linked to integration extractor.update_integration_matcherUpdate integration matcherPUTUpdates Integration Matcher.
Schedule, 4 operations
create_scheduleCreate schedulePOSTcreate schedule.delete_scheduleDelete scheduleDELETEDeletes schedule.get_scheduleGet scheduleGETGet schedule.update_scheduleUpdate schedulePUTUpdates schedule.
Task, 4 operations
delete_taskDelete taskDELETEDeletes task (including output).get_taskGet taskGETGet a single task.list_tasksList tasksGETGet Tasks related to current project.start_taskStart taskPOSTStarts a job.
Value, 4 operations
create_integration_extracted_valueCreate integration extracted valuePOSTAdd Integration Extracted Value.delete_integration_extracted_valueDelete integration extracted valueDELETERemoves integration extract value.list_integration_extracted_valuesList integration extracted valuesGETGet Integration Extracted Values linked to integration extractor.update_integration_extracted_valueUpdate integration extracted valuePUTUpdates Integration ExtractValue.
Run, 3 operations
get_workflow_runGet workflow runGETGet workflow run details.list_workflow_runsList workflow runsGETGet workflow runs.run_workflowRun workflowPOSTRun workflow.
Token, 3 operations
create_api_tokenCreate api tokenPOSTCreate an API token.delete_api_tokenDelete api tokenDELETEExpires API token.list_api_tokensList api tokensGETFetch API tokens for user.
Active, 2 operations
set_project_runner_activeSet project runner activePOSTSet project runner active state.set_runner_activeSet runner activePOSTSet global runner active state.
Approval, 2 operations
list_workflow_run_approvalsList workflow run approvalsGETGet workflow run approvals.resolve_workflow_approvalResolve workflow approvalPOSTResolve workflow approval.
Cache, 2 operations
delete_project_runner_cacheDelete project runner cacheDELETEClear project runner cache.delete_runner_cacheDelete runner cacheDELETEClear global runner cache.
Event, 2 operations
list_eventsList eventsGETGet Events related to Semaphore and projects you are part of.list_project_eventsList project eventsGETGet Events related to this project.
Last, 2 operations
list_last_eventsList last eventsGETGet last 200 Events related to Semaphore and projects you are part of.list_last_tasksList last tasksGETGet last 200 Tasks related to current project.
Option, 2 operations
get_user_optionsGet user optionsGETFetches the current user's stored options.set_user_optionSet user optionPOSTStores a single option for the current user.
Registration token, 2 operations
regenerate_project_runner_registration_tokenRegenerate project runner registration tokenPOSTRegenerate the one-time registration token of an unregistered project runner.regenerate_runner_registration_tokenRegenerate runner registration tokenPOSTRegenerate the one-time registration token of an unregistered global runner.
Runner tag, 2 operations
list_project_runner_tagsList project runner tagsGETGet project runner tags.list_runner_tagsList runner tagsGETGet global runner tags.
App, 1 operation
list_appsList appsGETGet apps.
Artifact, 1 operation
list_workflow_run_artifactsList workflow run artifactsGETGet merged workflow run artifacts.
Backup, 1 operation
get_project_backupGet project backupGETBackup A Project.
Info, 1 operation
get_infoGet infoGETFetches information about semaphore.
Output, 1 operation
get_task_outputGet task outputGETGet task output.
Password, 1 operation
update_user_passwordUpdate user passwordPOSTUpdates user password.
Raw output, 1 operation
get_task_raw_outputGet task raw outputGETGet task raw output.
Restore, 1 operation
restore_projectRestore projectPOSTRestore Project.
Role, 1 operation
get_project_roleGet project roleGETFetch permissions of the current user for project.
Stop, 1 operation
stop_taskStop taskPOSTStop a job.
Stop all task, 1 operation
stop_template_all_tasksStop template all tasksPOSTStop all active tasks of template.
Test, 1 operation
send_test_notificationSend test notificationPOSTSend test notification.
Use Semaphore UI from Claude Code, Cursor or Codex
Connect Semaphore UI in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Semaphore UI operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Semaphore UI
- Create your workspace
Sign up free. Nothing to install.
- Connect Semaphore UI once
Add your Semaphore UI connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Semaphore UI integration FAQ
What can you do with the Semaphore UI integration?
LiveContext exposes 120 operations on Semaphore UI, covering runner, user, aliase and environment.
