mcd-demo
@jspoelstra
Testing creation of simple MCP servers and integrating with LangChain agent
Overview
What is mcd-demo?
mcd-demo is a project for testing the creation of simple MCP (Model Context Protocol) servers and integrating them with a LangChain agent. It is aimed at developers experimenting with MCP server implementations and LangChain agent integration.
How to use mcd-demo?
Set up a Python virtual environment, install dependencies from requirements.txt, and configure environment variables for Azure OpenAI API key and endpoint. Then start the three MCP servers (weather_server.py, math_server.py, telemetry_server.py) in the background, optionally running the math server via Docker, and finally launch the agent with python agent.py.
Key features of mcd-demo
- Demonstrates creation of simple MCP servers
- Integrates MCP servers with a LangChain agent
- Includes weather, math, and telemetry server examples
- Supports running math server in a Docker container
- Uses SSE transport for MCP server communication
Use cases of mcd-demo
- Learning how to build and run MCP servers
- Testing LangChain agent integration with multiple MCP services
- Experimenting with MCP server deployment (native or Docker)
- Prototyping multi-server MCP architectures
FAQ from mcd-demo
What MCP servers are included?
Three servers: weather_server.py, math_server.py, and telemetry_server.py.
Can the math server be run in Docker?
Yes, you can build a Docker image with make build and run it with make run-local.
What environment variables are required?
AZURE_OPENAI_API_KEY and AZURE_OPENAI_ENDPOINT are required. Optionally, MCP_MATH_URI can be set to configure the math server URI.
How do I stop the MCP servers?
Use pkill -9 -f <server_script.py> on each server, e.g., pkill -9 -f weather_server.py.
Is there a .env file supported?
Yes, variables can be set in a .env file in the project root directory.