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

This pull request introduces a new MCP (Model Context Protocol) server, mcp-container-manager, which exposes the create-a-container REST API as MCP tools for integration with AI assistants like VS Code Copilot or Claude. It also makes minor improvements to the OpenAPI spec and updates the API documentation endpoints. The most significant changes are summarized below.

New MCP Server Integration:

  • Added the new mcp-container-manager Python package, which dynamically generates MCP tools from the create-a-container OpenAPI spec and proxies requests to the REST API. This includes new files: README.md, .gitignore, .python-version, pyproject.toml, and the main server implementation in mcp_container_manager/server.py. [1]], [2]], [3]], [4]], [5]])

API Documentation and OpenAPI Spec Updates:

  • Improved API documentation serving in create-a-container/server.js by adding endpoints to serve the OpenAPI spec as both JSON and YAML, and reorganizing Swagger UI setup for clarity. [1]], [2]])
  • Minor OpenAPI spec changes: made the template field nullable and fixed the description format for exposed ports. [1]], [2]])

Documentation:

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.

readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"awslabs-openapi-mcp-server>=0.2.14",
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

The dependency name awslabs-openapi-mcp-server will install due to PyPI name normalization, but the canonical published name is awslabs.openapi-mcp-server. Using the canonical name reduces confusion when searching docs/releases and comparing lockfiles.

Suggested change
"awslabs-openapi-mcp-server>=0.2.14",
"awslabs.openapi-mcp-server>=0.2.14",

Copilot uses AI. Check for mistakes.
@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
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