MCPs/semaphore/README.md

49 lines
2 KiB
Markdown
Raw Normal View History

# semaphore-mcp
MCP server for interacting with SemaphoreUI (Ansible automation).
Source: [cloin/semaphore-mcp](https://github.com/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
```bash
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`