elastic / elastic/example-mcp-dashbuilder
[Agentic Interface] Add Docker support for Streamable HTTP transport
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Follow-up to #41. PR #49 added Streamable HTTP transport support but did not include Docker support. This issue tracks adding a Dockerfile, Docker Compose configuration, and documentation so Dashbuilder can run as a containerized HTTP service.
## Background
Issue #41 included Docker support as part of the acceptance criteria. The Streamable HTTP transport landed in #49, but Docker was out of scope for that PR. A draft implementation exists on the `docker-support` branch with a Dockerfile, `.dockerignore`, and `docker-compose.yml`.
## Proposed changes
- Add a `Dockerfile` that builds and runs the MCP server in HTTP mode
- Add a `.dockerignore` to keep the image lean
- Add a `docker-compose.yml` with sensible defaults (`HOST=0.0.0.0`, `PORT=3002`)
- Update `README.md` with Docker usage instructions
## Acceptance criteria
- `docker compose up` starts Dashbuilder in Streamable HTTP mode
- `POST http://localhost:3002/mcp` responds to MCP `initialize`
- Container binds to `0.0.0.0:3002` by default
- Existing stdio and local HTTP startup remain unaffected
- Documentation covers building and running via Docker
## Reference
- Parent issue: #41
- HTTP transport PR: #49
- Draft branch: `docker-support`
Contributor guide
Assessment
This issue has not been assessed yet.