Foreman MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FOREMAN_URL | Yes | Base URL of your Foreman instance (e.g., https://foreman.example.com) | |
| FOREMAN_PASSWORD | Yes | Personal Access Token (not your web login password - create this in User Administration → Personal Access Tokens) | |
| FOREMAN_USERNAME | Yes | Foreman username | |
| FOREMAN_VERIFY_SSL | No | Whether to verify SSL certificates (default: true) | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_hostsA | List hosts from Foreman with optional search filter and field filtering. CONTEXT OPTIMIZATION: Default per_page=10 to prevent overflow. Use search filters like 'location ~ SYD03' or 'os ~ Windows' to narrow results. Total hosts available: ~1000+. Always use search parameter for large inventories. Field filtering: By default returns essential fields only (id, name, ip, os, location, status). Use include_fields="all" for complete data, or specify comma-separated fields like "id,name,ip,mac". |
| get_hostB | Get detailed information about a specific host |
| search_hosts_by_locationB | Search hosts by location (e.g., 'SYD03', 'MEL03'). CONTEXT OPTIMIZATION: Returns max 10 results by default. Use specific location codes for best results. |
| search_hosts_by_osA | Search hosts by operating system (e.g., 'Windows', 'Oracle Linux'). CONTEXT OPTIMIZATION: Returns max 10 results by default. Use specific OS names like 'Windows Server 2022' for targeted results. |
| search_hosts_by_environmentA | Search hosts by environment (e.g., 'production', 'development'). CONTEXT OPTIMIZATION: Returns max 10 results by default. |
| list_organizationsC | List all organizations in Foreman. CONTEXT OPTIMIZATION: Typically <20 organizations. Safe for context window. |
| list_locationsB | List all locations in Foreman. CONTEXT OPTIMIZATION: Typically <30 locations. Safe for context window. |
| list_hostgroupsB | List all hostgroups in Foreman. CONTEXT OPTIMIZATION: Can be 50+ hostgroups. Consider using search if available. |
| search_hosts_by_hostgroupC | Search hosts by hostgroup name or title. CONTEXT OPTIMIZATION: Returns max 10 results by default. |
| get_host_statusC | Get status information for a specific host. |
| search_hosts_by_factC | Search hosts by a specific fact name and value. CONTEXT OPTIMIZATION: Returns max 10 results by default. |
| list_subnetsA | List all subnets in Foreman. CONTEXT OPTIMIZATION: Network subnets typically <50. Safe for context window. |
| get_subnetC | Get detailed information about a specific subnet. |
| list_domainsC | List all domains in Foreman. CONTEXT OPTIMIZATION: DNS domains typically <30. Safe for context window. |
| get_domainC | Get detailed information about a specific domain. |
| list_smart_proxiesC | List all smart proxies in Foreman. CONTEXT OPTIMIZATION: Smart proxies typically <20. Safe for context window. |
| get_smart_proxyC | Get detailed information about a specific smart proxy. |
| list_operatingsystemsA | List all operating systems in Foreman. CONTEXT OPTIMIZATION: 67 total OS entries. Use per_page=5-10 for quick overview. |
| get_operatingsystemC | Get detailed information about a specific operating system. |
| list_architecturesB | List all architectures in Foreman. CONTEXT OPTIMIZATION: Only 6 architectures total. Safe for context window. |
| get_architectureC | Get detailed information about a specific architecture. |
| list_mediaC | List all installation media in Foreman. CONTEXT OPTIMIZATION: 22 total media entries. Safe for context window. |
| get_mediaB | Get detailed information about a specific installation media. |
| list_content_viewsA | List all content views in Foreman/Katello with field filtering. CONTEXT OPTIMIZATION: 102 total content views! Use per_page=5-10 max. Each content view has extensive metadata. Consider getting specific CV by ID. Field filtering: By default returns essential fields only (id, name, version_count, latest_version). Use include_fields="all" for complete data, or specify comma-separated fields. |
| get_content_viewC | Get detailed information about a specific content view. |
| list_repositoriesA | List all repositories in Foreman/Katello with field filtering. ⚠️ CONTEXT WARNING: 258 total repositories with extensive metadata! Use per_page=5 max or context will overflow. Consider specific repo searches. Field filtering: By default returns essential fields only (id, name, content_type, url, product). Use include_fields="all" for complete data, or specify comma-separated fields. |
| get_repositoryC | Get detailed information about a specific repository. |
| list_lifecycle_environmentsA | List all lifecycle environments for a specific organization in Foreman/Katello. CONTEXT OPTIMIZATION: 16 total environments. Safe for context window. Args: organization_id: Required numeric organization ID (e.g., "1", "4"). Organization names are not supported by this endpoint. per_page: Number of results per page. include_fields: Field filtering options. Field filtering: By default returns essential fields only (id, name, description, library). Use include_fields="all" for complete data, or specify comma-separated fields. |
| get_lifecycle_environmentC | Get detailed information about a specific lifecycle environment. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 29 tools
Each tool targets a distinct resource and action (get vs list vs search with specific filters), with no overlapping purposes. For example, get_host vs get_host_status provide different aspects of the same entity, and list_hosts vs search_hosts_by_* use different filtering mechanisms.
All tools follow a consistent verb_noun pattern: get_* for singular resources, list_* for plural collections, and search_hosts_by_* for filtered host queries. No mixing of conventions such as camelCase or inconsistent verb choices.
With 29 tools, the count is slightly higher than the typical 3-15 range, but it is well-justified for a domain (Foreman infrastructure management) that involves many distinct resource types (architectures, content views, hosts, etc.). Each tool addresses a specific entity, making the set reasonably scoped.
The tool set is strictly read-only (only get and list operations) with no create, update, or delete capabilities. This leaves obvious gaps in lifecycle management for all entities (e.g., no ability to create or modify hosts, repositories, or content views), which will hinder agents needing full CRUD coverage.