Skip to main content

Foreman MCP Server

Python 3.10+ License: MIT Pylint Safety Security Scan Dependency Security Check

MCP server for Foreman host management and infrastructure automation.

Features

  • List and search hosts from Foreman
  • Get detailed host information
  • Search by location, OS, and environment
  • Generic configuration via environment variables

Installation

From PyPI (Recommended)

pip install foreman-mcp-server

From Source

git clone https://github.com/rorymcmahon/foreman-mcp-server.git
cd foreman-mcp-server
pip install -e .

## Configuration

Set the following environment variables:

- `FOREMAN_URL`: Base URL of your Foreman instance (e.g., `https://foreman.example.com`)
- `FOREMAN_USERNAME`: Foreman username
- `FOREMAN_PASSWORD`: **Personal Access Token** (not your web login password - create this in User Administration → Personal Access Tokens)
- `FOREMAN_VERIFY_SSL`: Whether to verify SSL certificates (default: `true`)

### Required Permissions

The user account needs the following minimum permissions to use all MCP server tools:

| Resource Type | Permission | Purpose |
|---------------|------------|---------|
| Host | `view_hosts` | List and search hosts, get host details and status |
| Organization | `view_organizations` | List organizations |
| Location | `view_locations` | List locations |
| Hostgroup | `view_hostgroups` | List and search by hostgroups |
| Subnet | `view_subnets` | List subnets and get subnet details |
| Domain | `view_domains` | List domains and get domain details |
| SmartProxy | `view_smart_proxies` | List smart proxies and get proxy details |

### Recommended Roles

Instead of assigning individual permissions, you can use these built-in roles:

| Role | Description | Recommended For |
|------|-------------|-----------------|
| **Viewer** | Read-only access to most Foreman resources | General monitoring and inventory queries |
| **Ansible Tower Inventory Reader** | Specific permissions for inventory access | Automated systems integration |
| **Organization admin** | Full access within assigned organizations | Organization-specific administration |

**Note**: The "Viewer" role provides the most appropriate permissions for this MCP server's read-only operations.

## MCP Configuration

Add to your MCP client configuration:

```json
{
  "foreman-mcp-server": {
    "command": "foreman-mcp-server",
    "env": {
      "FOREMAN_URL": "https://foreman.example.com",
      "FOREMAN_USERNAME": "your-username",
      "FOREMAN_PASSWORD": "your-password",
      "FOREMAN_VERIFY_SSL": "true"
    }
  }
}

Available Tools

Host Management

  • list_hosts(search, per_page, page) - List hosts with optional search
  • get_host(host_id) - Get detailed host information
  • get_host_status(host_id) - Get status information for a specific host

Host Search Functions

  • search_hosts_by_location(location, per_page) - Search by location
  • search_hosts_by_os(os_name, per_page) - Search by operating system
  • search_hosts_by_environment(environment, per_page) - Search by environment
  • search_hosts_by_hostgroup(hostgroup, per_page) - Search by hostgroup
  • search_hosts_by_fact(fact_name, fact_value, per_page) - Search by custom facts

Infrastructure Information

  • list_organizations(per_page) - List all organizations
  • list_locations(per_page) - List all locations
  • list_hostgroups(per_page) - List all hostgroups
  • list_subnets(per_page) - List all subnets
  • get_subnet(subnet_id) - Get detailed subnet information
  • list_domains(per_page) - List all domains
  • get_domain(domain_id) - Get detailed domain information
  • list_smart_proxies(per_page) - List all smart proxies
  • get_smart_proxy(proxy_id) - Get detailed smart proxy information

OS Management

  • list_operatingsystems(per_page) - List all operating systems
  • get_operatingsystem(os_id) - Get detailed operating system information
  • list_architectures(per_page) - List all architectures
  • get_architecture(arch_id) - Get detailed architecture information
  • list_media(per_page) - List all installation media
  • get_media(media_id) - Get detailed installation media information

Content Management

  • list_content_views(per_page) - List all content views
  • get_content_view(cv_id) - Get detailed content view information
  • list_repositories(per_page) - List all repositories
  • get_repository(repo_id) - Get detailed repository information
  • list_lifecycle_environments(per_page) - List all lifecycle environments
  • get_lifecycle_environment(env_id) - Get detailed lifecycle environment information

Development

pip install -e ".[dev]"
pytest

Support

Metadata

Release files for foreman-mcp-server 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for foreman-mcp-server 0.4.2
File Size Uploaded
foreman_mcp_server-0.4.2.tar.gz 10.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for foreman-mcp-server 0.4.2
File Interpreter ABI Platform
foreman_mcp_server-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 18.6 kB

Release files / foreman_mcp_server-0.4.2.tar.gz

Download URL foreman_mcp_server-0.4.2.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
78df7a26d6460283baa60340117b2381ae7edbe7a95f2cb7ffead58d84cd0239
BLAKE2b-256 checksum
How to use checksums
4b2d1cbdcbc3232e98905a64e3ca6f5611bbf271d449e896fc99895b2f342936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / foreman_mcp_server-0.4.2-py3-none-any.whl

Download URL foreman_mcp_server-0.4.2-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
94cbbff5edc6d2448445cddef283d7cc2ca8404a2b7f67f67704b9b2222d2d89
BLAKE2b-256 checksum
How to use checksums
9cb2712133454f14a0ccd016cebd937f02c4b0b27dc4682b64d177909d491317
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page