elastic / elastic/example-mcp-dashbuilder

[Agentic Interface] Add Docker support for Streamable HTTP transport

Open
#51 0 comments 0 reactions 1 assignee Claimed by @walterra View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.