48 lines
2 KiB
Markdown
48 lines
2 KiB
Markdown
# 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`
|