hadv / hadv/yitam

Update Docker Compose to use MCP Server via HTTP/SSE

Open
#54 3 comments 0 reactions 1 assignee Claimed by @hadv View on GitHub
Dominant language
TypeScript
Stars
3
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Description
Currently, our Docker Compose setup uses a stdio-based transport for communication with the MCP server. We need to update this configuration to use HTTP/SSE (Server-Sent Events) for better scalability, reliability, and to facilitate distributed deployments.

## Current Implementation
- The MCP server is built and deployed in the `yitam-mcp` service
- The server connects to MCP using a stdio transport defined in `MCPServer.ts`
- The connection is established through a file path specified in `MCP_SERVER_PATH` environment variable

## Required Changes
1. Update the `docker-compose.yml` to configure the MCP server to expose an HTTP endpoint
2. Modify the `MCPServer.ts` to use HTTP/SSE transport instead of stdio
3. Update environment variables in Docker Compose to use HTTP URL instead of file path
4. Ensure proper networking between containers

## Technical Details
- We need to introduce a new HTTP transport client from the MCP SDK
- The MCP server should expose a dedicated port for HTTP communication
- Update the server environment variables to use `MCP_SERVER_URL` instead of `MCP_SERVER_PATH`
- Configure proper container networking to secure the communication

## Acceptance Criteria
- [ ] Docker Compose is updated with proper port mapping for MCP server
- [ ] MCP server is configured to expose HTTP/SSE endpoints
- [ ] Server container connects to MCP via HTTP/SSE instead of stdio
- [ ] All existing functionality works as expected
- [ ] Communication is properly secured between containers

## Implementation Notes
- Reference the HTTP/SSE client implementation from MCP SDK
- Ensure backward compatibility during transition
- Add appropriate documentation for the updated setup

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.