mcp
An Extensible MCP Server
claude mcp add --transport stdio zero-to-prod-mcp-server docker run -i davidsmith3/mcp-server:latest
How to use
This MCP server provides a framework for building and running MCP tools (plugins) inside a containerized environment. It uses a plugin architecture where each controller file in the src/ directory is loaded as an independent module, exposing MCP tools such as redis.inspect, mongodb.document.find, and mongodb.data.aggregate. Tools are named using the service.noun.action convention (e.g., redis.inspect, mongodb.document.find, mongodb.data.aggregate). The server exposes both Redis and MongoDB integrations, allowing you to interact with cached keys and databases through the provided PHP-based controllers. To get started, install the server image, initialize a project directory, and run the container via docker-compose or a similar orchestrator. Once running, you can connect clients (for example Claude Desktop) to add or configure MCP tools and then reconnect after changes to tool definitions. The client-side experience centers on discovering tools, invoking them with proper filters and data, and using the built-in tooling to perform common data access and transformation tasks across Redis and MongoDB.
How to install
Prerequisites:
- Docker and Docker Compose installed on your machine
- curl or a shell with network access
- Basic familiarity with environment variable configuration
Option A: One-line install (recommended)
curl -fsSL https://raw.githubusercontent.com/zero-to-prod/mcp-server/main/install.sh | bash
The installer will:
- Pull the latest Docker image with MongoDB support
- Create project files and configuration
- Start Redis and MongoDB services
- Configure the MCP server
Option B: Manual install
1) Initialize project directory (create template files)
```bash
docker run --rm -v $(pwd):/init davidsmith3/mcp-server:latest init
- Configure environment
Edit the generated .env with your settings (MCP_SERVER_NAME, ports, etc.).
cp .env.example .env
- Start server
Recommended: use docker-compose
docker compose up -d
4) Connect to Claude Desktop
```bash
claude mcp add --transport http mcp1 http://localhost:8093
Additional notes
Tips and common issues:
- Environment variables in .env are loaded at container startup. After editing .env, restart the Docker setup (docker compose down && docker compose up -d) to apply changes.
- If you modify MCP tools or controllers, you generally don’t need a full container restart; you may just reconnect the MCP client so it refreshes the tool definitions.
- Controllers live in the src/ directory inside the project; the Docker container mounts this path as /app/src. Ensure your controller files declare and expose the MCP tools correctly (use the MCPTool and related annotations).
- The Redis and MongoDB integrations expect certain environment variables (e.g., REDIS_HOST, MONGODB_HOST, etc.). Ensure these match your docker-compose service names.
- When using tool operations that can be destructive (like deletes), proceed with caution and confirm prompts when applicable.
Related MCP Servers
drift
Codebase intelligence for AI. Detects patterns & conventions + remembers decisions across sessions. MCP server for any IDE. Offline CLI.
laravel
A Laravel package for implementing secure Model Context Protocol servers using Streamable HTTP and SSE transport, providing real-time communication and a scalable tool system for enterprise environments.
php
基于 PHP 实现的 MCP (Model Control Protocol) 服务器框架,通过注解优雅地定义 MCP 服务,支持 Tool、Prompt、Resource 三种处理器,支持Stdio、Sse 两种 transport。
mcp-profiler-bundle
The Symfony MCP Profiler Bundle mimics the WebProfiler Bundle. It bridges the gap between Profiler data and your favorite MCP-enabled AI-powered IDE.
elementor
Comprehensive Elementor MCP Server plugin.
mcp
Model Context Protocol for Hyperf