Apache Beam MCP Server
@souravch
MCP server to manage apache beam workflows with different runners
Overview
What is Apache Beam MCP Server?
The Apache Beam MCP Server is a Model Context Protocol server for managing Apache Beam data pipelines across multiple runners including Flink, Spark, Dataflow, and Direct. It provides a standardized API for data engineers, AI/LLM developers, and DevOps teams to create, monitor, and control pipelines.
How to use Apache Beam MCP Server?
Clone the repository, create a Python virtual environment (3.9+), install dependencies from requirements.txt, then start the server with python main.py --debug --port 8888. For runner-specific configurations, set CONFIG_PATH environment variable. Pipelines are submitted via HTTP POST to /api/v1/jobs with job parameters in JSON. Use the Python client library or curl for interaction.
Key features of Apache Beam MCP Server
- Multi-runner support: Flink, Spark, Dataflow, and Direct
- MCP compliant for AI/LLM integration
- Pipeline management: create, monitor, and control jobs
- Easy to extend with new runners or custom features
- Production-ready with Docker, Kubernetes, and monitoring
Use cases of Apache Beam MCP Server
- Manage Apache Beam pipelines with a consistent API across different runners
- Enable AI-controlled data pipelines through the MCP standard
- Simplify pipeline operations and monitoring for DevOps teams
- Deploy and scale pipelines in Docker or Kubernetes environments
FAQ from Apache Beam MCP Server
Which Apache Beam runners are supported?
The server supports Flink, Spark, Dataflow, and Direct runners.
How can I deploy the server in a containerized environment?
Pre-built Docker images are available on GitHub Container Registry. Kubernetes deployment is supported via kubectl apply or Helm chart, with detailed instructions in the deployment guide.
What monitoring and observability features are included?
Prometheus metrics are exposed at /metrics, pre-configured Grafana dashboards are available, structured JSON logging is used, and a health check endpoint is provided at /health.
What are the runtime dependencies?
The server requires Python 3.9+ and Apache Beam 2.50.0. It can run with the Direct runner (no external dependencies) or with Flink, Spark, or Dataflow runners if those are installed.
What API endpoints are available for pipeline management?
The server implements MCP standard endpoints (/tools, /resources, /contexts) plus pipeline-specific endpoints at /api/v1/jobs for submitting, monitoring, and managing jobs.