Skip to content

MCP Server#255

Open
runleveldev wants to merge 5 commits intomainfrom
rgingras/feature/mcp
Open

MCP Server#255
runleveldev wants to merge 5 commits intomainfrom
rgingras/feature/mcp

Conversation

@runleveldev
Copy link
Collaborator

@runleveldev runleveldev commented Mar 24, 2026

This pull request introduces a new "manager-control-program" (MCP) server that exposes the create-a-container REST API as Model Context Protocol (MCP) tools, enabling AI assistants (like GitHub Copilot or Claude) to manage containers via natural language. It also improves the OpenAPI spec and API documentation, and adds a new /sites endpoint to the API. Below are the most important changes:

New MCP Server Integration:

  • Added the manager-control-program directory, which provides an MCP server that dynamically generates tools from the create-a-container OpenAPI spec and proxies authenticated API calls. Includes setup scripts, Python packaging, and documentation for use with MCP-capable clients. [1] [2] [3] [4] [5]
  • Added user documentation for the MCP server in mie-opensource-landing/docs/users/mcp-server.mdx, explaining how to configure and use the MCP server in VS Code and with AI assistants.

API Improvements and OpenAPI Spec Updates:

  • Added a new /sites endpoint to the API and OpenAPI spec, allowing authenticated users to list available sites. Also defined a new SiteSummary schema. [1] [2] [3] [4] [5]
  • Updated the OpenAPI spec to clarify and expand schema definitions, including making the template field nullable, updating job status enums, and improving the description of exposed ports. [1] [2] [3]

API Documentation and Middleware:

  • Improved API documentation serving: OpenAPI JSON/YAML is now available at /api/openapi.json and /api/openapi.yaml, and Swagger UI is properly configured. [1] [2]
  • Minor middleware export fix to include isApiRequest in create-a-container/middlewares/index.js.

Repository Organization:

  • Updated the main README.md to document the new manager-control-program component.

These changes collectively enable seamless integration with AI assistants for container management, improve API usability, and keep documentation and tooling in sync with the API.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces a new mcp-container-manager MCP server package that exposes the create-a-container REST API as MCP tools (generated from the OpenAPI spec), alongside small OpenAPI and API-docs serving improvements to support that integration.

Changes:

  • Added a new Python package (mcp-container-manager) to run an MCP server backed by the existing OpenAPI spec.
  • Updated create-a-container to serve the OpenAPI spec directly as /api/openapi.json and /api/openapi.yaml and reorganized Swagger UI setup.
  • Made small OpenAPI schema/description fixes and added end-user documentation for VS Code MCP setup.

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
mie-opensource-landing/docs/users/mcp-server.mdx Adds user-facing VS Code setup instructions for the MCP server.
mcp-container-manager/pyproject.toml Defines the new Python package metadata, deps, and console script entrypoint.
mcp-container-manager/mcp_container_manager/server.py Implements the MCP server bootstrap and OpenAPI spec URL wiring.
mcp-container-manager/README.md Documents installation/usage and provides MCP client configuration examples.
mcp-container-manager/.python-version Pins Python version for the new package.
mcp-container-manager/.gitignore Ignores local Python build/venv artifacts for the new package.
create-a-container/server.js Adds endpoints to serve OpenAPI as JSON/YAML and relocates Swagger UI setup.
create-a-container/openapi.yaml Tweaks schema nullability and fixes a YAML description formatting issue.

@runleveldev runleveldev force-pushed the rgingras/feature/mcp branch from 31e6081 to 44b7b7d Compare March 25, 2026 13:22
@runleveldev runleveldev force-pushed the rgingras/feature/mcp branch from 44b7b7d to 7b4d7f2 Compare March 25, 2026 14:09
@runleveldev runleveldev force-pushed the rgingras/feature/mcp branch from 7c0b2bf to 8f471b8 Compare March 26, 2026 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants