|
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- forgejo: verified against package tools/list (30 tools) - semaphore: full rewrite with 50+ actual tools & signatures (was listing nonexistent tools like create_view, missing 30+ real tools) - github: complete tool listing (35 tools) instead of vague placeholder - portainer: full tool listing (32 tools) with params instead of vague list - woodpecker: already accurate (verified against package, 33 tools) - postgresql: already accurate (5 tools) All tools verified against actual packages via tools/list RPC calls or source code inspection. |
||
|---|---|---|
| .. | ||
| Dockerfile | ||
| README.md | ||
semaphore-mcp
MCP server for SemaphoreUI Ansible automation.
Source: cloin/semaphore-mcp (v1.0.4)
Environment Variables
| Variable | Required | Description |
|---|---|---|
SEMAPHORE_URL |
Yes | Base URL of the SemaphoreUI instance (e.g. https://semaphore.corentic.eu) |
SEMAPHORE_TOKEN |
Yes | API token from SemaphoreUI user settings |
MCP_PORT |
No | Port for the MCP HTTP server (default: 8000) |
MCP_TRANSPORT |
No | Transport mode (http or stdio, default: http) |
MCP_HOST |
No | Bind address (default: 0.0.0.0) |
Usage
docker run -d \
--name semaphore-mcp \
-p 8103:8103 \
-e SEMAPHORE_URL=https://semaphore.corentic.eu \
-e SEMAPHORE_TOKEN=your_token \
forgejo.corentic.eu/corentic/mcp-fleet-semaphore:latest
This MCP uses HTTP transport natively (no mcp-proxy wrapper). Connect via:
http://host:8103/mcp
Tools
Projects
list_projects— List all projectsget_project— Get project details. Params:project_idcreate_project— Create project. Params:name,alert,alert_chat,max_parallel_tasks,project_type,demoupdate_project— Update project. Params:project_id,name,alert,alert_chat,max_parallel_tasksdelete_project— Delete project. Params:project_id
Templates
list_templates— List templates. Params:project_idget_template— Get template. Params:project_id,template_idcreate_template— Create template. Params:project_id,name,playbook,inventory_id,repository_id,environment_id,description,arguments,allow_override_args_in_task,suppress_success_alerts,app,git_branch,survey_vars,vaults,template_type,start_version,build_template_id,autorun,view_id,task_paramsupdate_template— Update template. Params:project_id,template_id, plus same fields as createdelete_template— Delete template. Params:project_id,template_idstop_all_template_tasks— Stop all running tasks for a template. Params:project_id,template_id
Schedules
list_schedules— List schedules. Params:project_idlist_template_schedules— List schedules per template. Params:project_id,template_idget_schedule— Get schedule. Params:project_id,schedule_idcreate_schedule— Create schedule. Params:project_id,template_id,name,cron_format,active,schedule_type("" for cron or "run_at"),run_at,task_params,delete_after_run,repository_idupdate_schedule— Update schedule. Params:project_id,schedule_id, plus same fields as createset_schedule_active— Enable/disable schedule. Params:project_id,schedule_id,activedelete_schedule— Delete schedule. Params:project_id,schedule_idvalidate_schedule_cron_format— Validate cron expression. Params:project_id,cron_format
Tasks
list_tasks— List tasks. Params:project_id,limit,status,tagsget_task— Get task details. Params:project_id,task_idrun_task— Run task from template. Params:template_id,project_id,environment,limit,dry_run,diff,debug,playbook,git_branch,message,arguments,inventory_id,followget_latest_failed_task— Most recent failed task. Params:project_idfilter_tasks— Filter tasks by criteria. Params:project_id,status,limit,use_last_tasksstop_task— Stop running task. Params:project_id,task_idbulk_stop_tasks— Stop multiple tasks. Params:project_id,task_ids,confirmget_waiting_tasks— List all waiting tasks. Params:project_idget_task_raw_output— Get task raw output. Params:project_id,task_idanalyze_task_failure— Analyze failed task. Params:project_id,task_idbulk_analyze_failures— Analyze multiple failed tasks. Params:project_id,limit
Environments
list_environments— List environments. Params:project_idget_environment— Get environment. Params:project_id,environment_idcreate_environment— Create environment. Params:project_id,name,env_dataupdate_environment— Update environment. Params:project_id,environment_id,name,env_datadelete_environment— Delete environment. Params:project_id,environment_id
Inventory
list_inventory— List inventory. Params:project_idget_inventory— Get inventory item. Params:project_id,inventory_idcreate_inventory— Create inventory. Params:project_id,name,inventory_data,inventory_typeupdate_inventory— Update inventory. Params:project_id,inventory_id,name,inventory_data,inventory_typedelete_inventory— Delete inventory. Params:project_id,inventory_id
Repositories
list_repositories— List repos. Params:project_idget_repository— Get repo. Params:project_id,repository_idcreate_repository— Create repo. Params:project_id,name,git_url,git_branch,ssh_key_idupdate_repository— Update repo. Params:project_id,repository_id,name,git_url,git_branch,ssh_key_iddelete_repository— Delete repo. Params:project_id,repository_id
Access Keys
list_access_keys— List access keys. Params:project_idcreate_access_key— Create access key. Params:project_id,name,key_type(none/ssh/login_password),login,password,private_keydelete_access_key— Delete access key. Params:project_id,key_id