Skip to content

Releases: InfraMCP/foreman-mcp-server

v0.4.2 - GitHub Actions Overhaul

Choose a tag to compare

@rorymcmahon rorymcmahon released this 06 Oct 01:00
1dba855

🚀 GitHub Actions Overhaul

New Workflows

  • Comprehensive CI Pipeline - Multi-version Python testing (3.10-3.12), type checking, code formatting, and package building
  • OSV Scanner - Enhanced security scanning for pull requests
  • Enhanced PyPI Publishing - Improved publishing workflow with manual triggers and trusted publishing

Updated Workflows

  • Pylint - Simplified workflow with better PR feedback
  • Safety Scan - Enhanced security scanning with PR comments
  • Dependency Security - Updated to use new Safety scan command with improved error handling

Improvements

  • ✅ Updated to latest GitHub Actions (v4/v5) with pip caching
  • ✅ Fixed Python version requirements to match MCP 1.14.1 (>=3.10)
  • ✅ Enhanced security scanning with multiple tools
  • ✅ Better PR feedback with detailed workflow comments
  • ✅ Proper permissions and manual triggers for workflows
  • ✅ Code formatting and type annotation improvements

Technical Changes

  • Updated Python version requirement from >=3.8 to >=3.10
  • Added comprehensive CI/CD pipeline matching vsphere-mcp-server
  • Minor code formatting with black and isort
  • Fixed mypy type checking issues
  • Updated pyproject.toml configuration

This release brings the foreman-mcp-server workflows in line with modern CI/CD best practices.

v0.4.1: Critical Hotfix - Lifecycle Environments Organization-Scoping

Choose a tag to compare

@rorymcmahon rorymcmahon released this 03 Oct 02:21
bee8e53

🚨 Critical Hotfix v0.4.1

This hotfix addresses a critical issue where the lifecycle environments organization-scoping fix was missing from the v0.4.0 PyPI release.

🐛 Issue Fixed

The v0.4.0 PyPI package contained the old list_lifecycle_environments() function without organization-scoping, causing:

  • Incorrect global results instead of organization-specific data
  • Missing field filtering support
  • API correctness issues with incomplete data

✅ Hotfix Applied

Breaking Change

  • list_lifecycle_environments(organization_id, per_page, include_fields) now requires organization_id parameter
  • Uses correct Katello endpoint: /organizations/{id}/environments
  • Returns accurate, organization-specific lifecycle environment data

New Features

  • Added missing field filtering support for lifecycle environments
  • Essential fields by default: id, name, label, description, library, organization, prior, successor
  • Full flexibility with include_fields="all" or custom field lists

Technical

  • Perfect 10.00/10 pylint score maintained
  • Comprehensive changelog documentation
  • Proper API correctness for Katello organization-scoped resources

🎯 Usage

# Get lifecycle environments for organization ID 1
list_lifecycle_environments("1")

# Get all fields
list_lifecycle_environments("1", include_fields="all")

# Custom fields
list_lifecycle_environments("1", include_fields="id,name,description")

📦 Installation

pip install foreman-mcp-server==0.4.1

⚠️ Breaking Change Notice

This is a breaking change but necessary for API correctness. Users must now provide the organization_id parameter to get accurate, organization-specific results.

Use list_organizations() to find available organization IDs.

v0.4.0: Comprehensive Context Window Optimizations

Choose a tag to compare

@rorymcmahon rorymcmahon released this 03 Oct 01:59
ea0908d

🚀 Major Release: Context Window Optimizations

This release transforms the Foreman MCP Server from a context-hungry tool into an extremely efficient one, while adding comprehensive OS and Content management capabilities.

🆕 New Features

OS Management Tools

  • Operating Systems: list_operatingsystems() and get_operatingsystem() - 67 OS entries
  • Architectures: list_architectures() and get_architecture() - 6 architectures
  • Installation Media: list_media() and get_media() - 22 media sources

Content Management Tools (Katello)

  • Content Views: list_content_views() and get_content_view() - 102 content views
  • Repositories: list_repositories() and get_repository() - 258 repositories
  • Lifecycle Environments: list_lifecycle_environments() and get_lifecycle_environment() - Organization-scoped

Context Window Optimizations

  • Intelligent Field Filtering: Essential fields by default, full flexibility with include_fields parameter
  • Smart Page Defaults: Optimized based on data volume (5-15 items vs previous 20-50)
  • Context Guidance: Enhanced docstrings with optimization warnings and filtering suggestions

📊 Performance Improvements

  • Context usage reduced from overflow to 35% - 65% improvement!
  • Field filtering provides massive size reductions:
    • Hosts: 89→10 fields (88.3% reduction)
    • Repositories: 31→8 fields (65.2% reduction)
    • Hostgroups: 52→7 fields (86.9% reduction)
    • Subnets: 41→8 fields (83.7% reduction)

🔧 Technical Excellence

  • 18 total MCP tools now available across all categories
  • Perfect 10.00/10 pylint score maintained throughout development
  • Zero breaking changes for existing functionality
  • Comprehensive testing against live Foreman/Katello instance

🎯 Ready for Production

AI agents can now explore extensive infrastructure without hitting context limits, with 65% headroom for complex multi-tool workflows.

Installation

pip install foreman-mcp-server==0.4.0

See CHANGELOG.md for complete details.

v0.3.1

Choose a tag to compare

@rorymcmahon rorymcmahon released this 25 Sep 08:39

Minor code cleanup
Security improvements
Implemented automated linting and security checking
Pinned versions on dependencies
Generates a dependency report now

v0.2.2

Choose a tag to compare

@rorymcmahon rorymcmahon released this 22 Sep 06:03

Republish to trigger workflow...

Full Changelog: v0.2.1...v0.2.2

v0.2.1

Choose a tag to compare

@rorymcmahon rorymcmahon released this 22 Sep 05:58

Another release same as the previous to trigger the github workflow...

v0.2.0

Choose a tag to compare

@rorymcmahon rorymcmahon released this 22 Sep 05:50

Working and tested, ready to publish to PyPi

Full Changelog: https://github.com/rorymcmahon/foreman-mcp-server/commits/v0.2.0