-
Notifications
You must be signed in to change notification settings - Fork 0
Add health check endpoint for MCP server #199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
drernie
wants to merge
18
commits into
main
Choose a base branch
from
197-add-health-checks
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Implement /health endpoint with FastMCP custom_route decorator - Add health check handler returning server status and info - Register health endpoint only for HTTP/SSE transport modes - Add comprehensive tests for health check functionality - Update Docker integration test to verify health endpoint Addresses issue #197
- Bump patch version from 0.6.13 to 0.6.14 - Update CHANGELOG with health check endpoint feature - Enhance health endpoint to report actual package version - Use importlib.metadata for dynamic version detection
- Replace inline bash healthcheck with external Python script - Externalize startup script from Dockerfile - Add comprehensive tests for health check functionality - Add test to verify Docker defaults to SSE transport - Add test for ECS platform compatibility detection - Document root cause of ECS deployment failure (ARM64 vs AMD64) The Python health check script is more robust: - Proper JSON validation - Better error messages - Testable with unit tests - Configurable timeout and verbosity
- Remove syntax directive that was causing authentication issues - Tests correctly detect ARM64 platform issue for ECS deployment
- Modified scripts/docker.py to use buildx for multi-platform builds (linux/amd64 and linux/arm64) - Added buildx setup and fallback logic for environments without buildx - Updated build_and_push to build all platforms when pushing to ECR - Fixed tests to use Makefile docker-build target for consistency - Added platform detection warnings for local builds - Ensured production builds support ECS Fargate (requires linux/amd64)
…e path - Fixed test_docker_container.py to properly verify the actual build process - Tests now correctly find and use images built by scripts/docker.py - Fixed docker.py command building bug where platform arg index was wrong - All three Docker integration tests now pass reliably
- Set DOCKER_PLATFORM once at top of make.deploy (linux/amd64 for ECS) - Docker builds default to local platform for development - Production pushes explicitly use linux/amd64 via --platform flag - Remove useless architecture test that fails on ARM Macs - Update docker.py to properly handle platform specifications This ensures consistent platform handling while allowing local builds to use native architecture for faster development.
- New make docker-check target verifies pushed image architecture - Fetches manifest from ECR and analyzes platforms - Confirms compatibility with ECS Fargate (requires linux/amd64) - Supports checking specific versions with VERSION=tag - Includes Python script for robust manifest parsing - Shows image size, push time, and digest information Example usage: make docker-check # Check current version VERSION=latest make docker-check # Check specific tag
- Created docker-push-quilt-ecr action for multi-platform Docker builds - Added deploy-quilt-ecr workflow for manual and automated deployments - Integrated Quilt ECR deployment into production release workflow - Supports multiple environments (dev, staging, production) - Ensures linux/amd64 platform compatibility for ECS Fargate - Addresses issue from spec/197-add-health-checks/04-failure.md
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
/health
endpoint to the MCP server for monitoring and health checksChanges
health.py
module with health check endpoint implementationscripts/debug_health.sh
for troubleshootingTest plan
🤖 Generated with Claude Code