semaphore-mcp-server
Provides tools for managing Ansible automation workflows through Semaphore UI, including launching tasks, monitoring outputs, and managing inventories and repositories.
Provides tools for managing Terraform automation workflows through Semaphore UI, including launching tasks, monitoring outputs, and managing environments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@semaphore-mcp-serverlist all projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Semaphore MCP Server
A Model Context Protocol (MCP) server for Semaphore UI - the modern open-source alternative to Ansible Tower/AWX.
This server enables AI assistants and MCP-compatible tools to interact with Semaphore UI for managing Ansible, Terraform, and other automation workflows.
Features
Project Management — List, create, and delete projects
Task Management — Launch, monitor, stop, and retrieve output of tasks
Template Management — CRUD operations on job templates
Inventory Management — Manage Ansible inventories
Repository Management — Manage Git repositories
Environment Management — Manage environment variable sets
Key Store — List and manage SSH keys and credentials
Schedule Management — Create and manage cron-based schedules
User & Events — Get user info and project event logs
Server Info — Check server health and version
Installation
pip install -e .Or with the semaphore client from a local path:
pip install -e /path/to/python3-semaphore-client
pip install -e .Configuration
Copy .env.example to .env and configure:
cp .env.example .envRequired environment variables:
Variable | Description |
| Base URL of your Semaphore UI instance (e.g., |
| API Bearer token (create via Semaphore UI or API) |
Optional environment variables:
Variable | Default | Description |
|
| Set to |
| (unset) | Set to |
Creating an API Token
Via Web UI (Semaphore 2.14+): Go to your user settings and create a token
Via API:
# Login curl -c /tmp/semaphore-cookie -XPOST \ -H 'Content-Type: application/json' \ -d '{"auth": "YOUR_LOGIN", "password": "YOUR_PASSWORD"}' \ http://localhost:3000/api/auth/login # Generate token curl -b /tmp/semaphore-cookie -XPOST \ http://localhost:3000/api/user/tokens
Usage
Running the MCP Server
semaphore-mcpMCP Configuration
Add to your MCP client configuration (e.g., VS Code mcp.json):
{
"servers": {
"semaphore": {
"command": "semaphore-mcp",
"env": {
"SEMAPHORE_URL": "http://localhost:3000",
"SEMAPHORE_TOKEN": "your-token-here",
"READ_ONLY": "false"
}
}
}
}Or for Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"semaphore": {
"command": "semaphore-mcp",
"env": {
"SEMAPHORE_URL": "http://localhost:3000",
"SEMAPHORE_TOKEN": "your-token-here"
}
}
}
}Available Tools
Tool | Description |
| List all projects |
| Get project details |
| Create a new project |
| Delete a project |
| List tasks in a project |
| Get task details |
| Launch a task from a template |
| Stop a running task |
| Get task output/log |
| Delete a task |
| List templates in a project |
| Get template details |
| Create a new template |
| Delete a template |
| List inventories in a project |
| Get inventory details |
| Create a new inventory |
| Delete an inventory |
| List repositories in a project |
| Get repository details |
| Create a new repository |
| Delete a repository |
| List environments in a project |
| Get environment details |
| Create a new environment |
| Delete an environment |
| List keys/credentials in a project |
| Get key details |
| Delete a key |
| List schedules in a project |
| Create a new schedule |
| Delete a schedule |
| Get current user info |
| List user API tokens |
| List project events |
| Get server version/info |
| Check server connectivity |
Dependencies
This project uses python3-semaphore-client — an OpenAPI-generated Python client library for the Semaphore UI API (v2.16.14).
Development
# Install in development mode
pip install -e ".[dev]"
# Run directly
python -m src.semaphore_mcp_serverLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/VitexSoftware/semaphore-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server