MCPs/semaphore/README.md

2 KiB

semaphore-mcp

MCP server for interacting with SemaphoreUI (Ansible automation).

Source: cloin/semaphore-mcp

Environment Variables

Variable Required Description
SEMAPHORE_URL Yes Base URL of the SemaphoreUI instance (e.g. https://semaphore.corentic.eu)
SEMAPHORE_API_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_API_TOKEN=your_token_here \
  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

  • create_project, get_project, update_project, delete_project, list_projects
  • create_template, get_template, update_template, delete_template, list_templates
  • create_inventory, get_inventory, update_inventory, delete_inventory, list_inventory
  • create_repository, get_repository, update_repository, delete_repository, list_repositories
  • create_environment, get_environment, update_environment, delete_environment, list_environments
  • create_access_key, get_access_key, update_access_key, delete_access_key, list_access_keys
  • create_schedule, get_schedule, update_schedule, delete_schedule, list_schedules
  • create_view, get_view, update_view, delete_view, list_views
  • run_task, get_task, get_task_raw_output, list_tasks
  • get_latest_failed_task, filter_tasks
  • list_events, get_last_events
  • stop_task, bulk_stop_tasks, stop_all_template_tasks
  • get_project_role, update_project_user, list_project_users