Overview
What is MCP Server Demo?
MCP Server Demo is a demonstration implementation of a Model Context Protocol (MCP) server that provides a tool to upgrade applications by executing a shell script. It communicates via stdio transport and is intended for developers exploring MCP integrations.
How to use MCP Server Demo?
Install dependencies with uv pip install -e . and create a .env file with COMMAND_FOLDER_PATH pointing to the folder containing update-apps.sh. Run the server with python main.py or integrate it with the VS Code MCP extension using the provided mcp.json configuration. For testing, use the MCP Inspector via npx @modelcontextprotocol/inspector uv --directory ${PWD} run main.py.
Key features of MCP Server Demo
- Exposes a single tool
upgrade_appsthat runs a shell script. - Relies on an environment variable for the script’s folder path.
- Uses stdio transport for client-server communication.
- Configurable via
.envfile anduvpackage management. - Compatible with VS Code MCP extension and MCP Inspector.
Use cases of MCP Server Demo
- Testing and demonstrating an MCP server with a custom tool.
- Automating application upgrades by triggering a shell script from an MCP client.
- Learning how to structure a FastMCP server with subprocess execution.
FAQ from MCP Server Demo
What does MCP Server Demo do?
It is a demonstration MCP server that provides a single tool, upgrade_apps, which executes the update-apps.sh script located in the folder specified by the COMMAND_FOLDER_PATH environment variable.
What are the prerequisites for running MCP Server Demo?
Python 3.12 or higher, the uv package manager, and a .env file with the COMMAND_FOLDER_PATH variable set to the folder containing update-apps.sh.
How do I run MCP Server Demo?
Run python main.py directly, or use the VS Code MCP extension with the provided mcp.json configuration, or test it with the MCP Inspector using npx @modelcontextprotocol/inspector uv --directory ${PWD} run main.py.
What transport does MCP Server Demo use?
It uses stdio transport for communication between the server and MCP-compatible clients.
Where does MCP Server Demo store or look for data?
It reads the COMMAND_FOLDER_PATH environment variable to locate the folder containing the update-apps.sh script; no other persistent data storage is mentioned.