VitexSoftware

Semaphore MCP Server

Community VitexSoftware
Updated

Model Context Protocol server for Semaphore UI integration

Semaphore MCP Server

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 .env

Required environment variables:

Variable Description
SEMAPHORE_URL Base URL of your Semaphore UI instance (e.g., http://localhost:3000)
SEMAPHORE_TOKEN API Bearer token (create via Semaphore UI or API)

Optional environment variables:

Variable Default Description
READ_ONLY true Set to false to enable write operations
DEBUG (unset) Set to true for verbose logging

Creating an API Token

  1. Via Web UI (Semaphore 2.14+): Go to your user settings and create a token
  2. 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-mcp

MCP 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
project_list List all projects
project_get Get project details
project_create Create a new project
project_delete Delete a project
task_list List tasks in a project
task_get Get task details
task_launch Launch a task from a template
task_stop Stop a running task
task_output Get task output/log
task_delete Delete a task
template_list List templates in a project
template_get Get template details
template_create Create a new template
template_delete Delete a template
inventory_list List inventories in a project
inventory_get Get inventory details
inventory_create Create a new inventory
inventory_delete Delete an inventory
repository_list List repositories in a project
repository_get Get repository details
repository_create Create a new repository
repository_delete Delete a repository
environment_list List environments in a project
environment_get Get environment details
environment_create Create a new environment
environment_delete Delete an environment
key_list List keys/credentials in a project
key_get Get key details
key_delete Delete a key
schedule_list List schedules in a project
schedule_create Create a new schedule
schedule_delete Delete a schedule
user_get_current Get current user info
user_tokens List user API tokens
event_list List project events
server_info Get server version/info
server_ping 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_server

License

MIT

MCP Server · Populars

MCP Server · New

    chatmcp

    3802

    directory for Awesome MCP Servers

    Community chatmcp
    Morningstar202604

    AgentSeed

    Anti-hallucination gate for AI coding agents — 8 MCP tools catch invented APIs (17 languages), fake "all tests pass" claims, and slopsquatting packages before they ship. Zero-dependency Agent Plugins 1.0.0 plugin (Skill + MCP server + CLI + CI gate) for Claude Code, Cursor, VS Code, Copilot.

    Community Morningstar202604
    skarn-security

    Skarn guard: agent plugins

    Skarn plugins for Claude Code, Codex CLI, Gemini CLI, Grok Build, and Antigravity: audit skills, guard hooks, and MCP declarations that find leaked secrets and credentials in AI coding sessions, locally and redacted.

    Community skarn-security
    punkpeye

    mcp-remote

    Connect an MCP Client that only supports local (stdio) servers to a Remote MCP Server.

    Community punkpeye
    HiAi-gg

    DocsMint

    Self-hosted AI-native knowledge workspace and installable PWA with hybrid search, GraphRAG, REST, SDK, CLI, and MCP access for people and AI agents.

    Community HiAi-gg