Skip to content

Feat/http sse transport#9

Merged
getlatedev merged 9 commits intodevelopfrom
feat/http-sse-transport
Jan 14, 2026
Merged

Feat/http sse transport#9
getlatedev merged 9 commits intodevelopfrom
feat/http-sse-transport

Conversation

@getlatedev
Copy link
Contributor

No description provided.

carlosmgv02 and others added 9 commits January 14, 2026 09:26
Add HTTP server with Server-Sent Events (SSE) transport to enable
remote access to the MCP server from Claude Code CLI and other clients.

Features:
- Modular architecture with separated concerns (auth, config, routes)
- API key authentication with multiple methods (Bearer, X-API-Key, query)
- Health check endpoint for monitoring
- Dual transport support (STDIO + HTTP/SSE)
- Railway deployment ready with Dockerfile
- Comprehensive documentation

New files:
- src/late/mcp/constants.py - Global constants
- src/late/mcp/config.py - Configuration management
- src/late/mcp/auth.py - API key authentication
- src/late/mcp/routes.py - Route handlers
- src/late/mcp/http_server.py - Main HTTP server
- Dockerfile - Container configuration for Railway
- .dockerignore - Docker build optimization
- docs/HTTP_DEPLOYMENT.md - Deployment guide

Modified:
- pyproject.toml - Added starlette, uvicorn dependencies
- server.py - Added main() function for STDIO entry point
- README.md - Added HTTP deployment documentation
- .env.example - Added MCP server configuration
- Replace Optional[X] with X | None for modern type hints
- Prefix unused request parameters with underscore
- Add id parameter to cache mount (Railway requirement)
- Use PORT environment variable with fallback to 8080
- Remove HEALTHCHECK (Railway handles this externally)
- Add railway.toml with Railpack (NIXPACKS) configuration
- Rename Dockerfile to Dockerfile.docker to prevent auto-detection
- Railpack will auto-detect Python + uv from main.py
- Configure health check path and restart policy
README.md is required by hatchling build backend for the package
- Configure railway.toml to use DOCKERFILE builder
- Restore Dockerfile with proper MCP extras installation
- Remove main.py wrapper (no longer needed)
- Keep pyproject.toml clean with optional dependencies

This approach is more explicit and reproducible than relying on
auto-detection from Railpack/Nixpacks.
Resolved conflict in railway.toml, keeping Dockerfile configuration
@getlatedev getlatedev merged commit 5fa1825 into develop Jan 14, 2026
4 checks passed
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