MCP Development Environment
Execute SQL queries on a PostgreSQL database, enabling data retrieval and manipulation.
Perform cache set and get operations on a Redis instance for caching and data storage.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
MCP Development Environment
A comprehensive Docker-based development environment for building and testing Model Context Protocol (MCP) servers.
π― What's Included
Core Services:
Python MCP Server (Port 8000) - Full-featured implementation with debugging
Node.js MCP Server (Port 3000) - Alternative implementation
PostgreSQL (Port 5432) - Database with sample data
Redis (Port 6379) - Caching layer
Nginx File Server (Port 8080) - Static file serving with CORS
Development Features:
Hot reloading for both Python and Node.js
Built-in debugger support (Python: 5678, Node.js: 9229)
Comprehensive logging and monitoring
Pre-configured testing frameworks
Sample data and schemas
Code quality tools (linting, formatting, type checking)
Related MCP server: Docker MCP Server
π Quick Start
Setup the environment:
# Make the setup script executable and run it
chmod +x setup.sh
./setup.shVerify everything is working:
# Check service status
docker-compose ps
# Test endpoints
curl http://localhost:8080/health # File server
curl http://localhost:8000/health # Python MCP server
curl http://localhost:3000/health # Node.js MCP serverStart developing:
# Edit the Python MCP server
vim src/main.py
# View logs in real-time
docker-compose logs -f mcp-server
# Run tests
docker-compose exec mcp-server python -m pytestπ§ Key Features of the MCP Servers
Available Tools:
write_file- Write content to filesexecute_sql- Run database queriescache_set/get- Redis cache operationslist_directory- Browse file systemanalyze_data- Basic data analysis on CSV files
Resources:
File system access to
/datadirectoryDatabase table schemas and sample data
Configuration files and documentation
Sample Usage:
# The Python server provides tools for:
await mcp_server.call_tool("write_file", {
"path": "analysis.txt",
"content": "Sample analysis results"
})
await mcp_server.call_tool("execute_sql", {
"query": "SELECT * FROM users WHERE department = $1",
"parameters": ["Engineering"]
})π Debugging Setup
Python (VSCode):
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"connect": {"host": "localhost", "port": 5678},
"pathMappings": [
{"localRoot": "${workspaceFolder}/src", "remoteRoot": "/app/src"}
]
}Node.js (Chrome DevTools):
Open
chrome://inspectConnect to
localhost:9229
π Monitoring & Logs
# View all service logs
docker-compose logs -f
# Monitor specific service
docker-compose logs -f mcp-server
# Check resource usage
docker stats
# Database operations
docker-compose exec postgres psql -U mcp_user -d mcp_dev
# Redis operations
docker-compose exec redis redis-cliπ οΈ Development Workflow
The environment supports both transport methods:
stdio (default) - For direct MCP client integration
HTTP/WebSocket - For web-based development and testing
You can easily switch between implementations or run both simultaneously for comparison and testing.
ποΈ Project Structure
mcp/
βββ src/ # Python MCP server source
β βββ main.py # Main Python server implementation
βββ src-node/ # Node.js MCP server source
β βββ server.js # Main Node.js server implementation
βββ db/ # Database initialization scripts
β βββ init.sql # Schema and tables
β βββ sample_data.sql # Sample data
βββ data/ # Data files (mounted to containers)
βββ static/ # Static files served by Nginx
βββ tests/ # Test suites
βββ .vscode/ # VSCode debug configuration
βββ docker-compose.yml # Service definitions
βββ python.Dockerfile # Python server container
βββ node.Dockerfile # Node.js server container
βββ nginx.conf # Nginx configuration
βββ setup.sh # Setup and management script
βββ README.md # This fileπ§ Management Commands
The setup.sh script provides convenient management:
./setup.sh setup # Initial setup and start (default)
./setup.sh start # Start services
./setup.sh stop # Stop services
./setup.sh restart # Restart services
./setup.sh status # Show service status
./setup.sh logs # Show service logs
./setup.sh clean # Remove everything (with confirmation)
./setup.sh help # Show helpπ§ͺ Testing
Both Python and Node.js servers include comprehensive test suites:
# Run Python tests
docker-compose exec mcp-server python -m pytest tests/ -v
# Run Node.js tests
docker-compose exec mcp-server-node npm test
# Run tests with coverage
docker-compose exec mcp-server python -m pytest tests/ --cov=srcπ Database Schema
The PostgreSQL database includes several sample tables:
users- User accounts with departments and rolesproducts- Product catalog with categories and inventoryorders- Order history with status trackingorder_items- Order line itemsanalytics_events- Event tracking dataapp_config- Application configuration
π‘ API Endpoints
File Server (Port 8080):
GET /health- Health checkGET /data/- Browse data directoryGET /static/- Browse static filesGET /api/docs- API documentation
Python MCP Server (Port 8000):
GET /health- Health checkMCP protocol via stdio transport
Node.js MCP Server (Port 3000):
GET /health- Health checkMCP protocol via stdio transport
π¨ Troubleshooting
Services not starting:
Check Docker is running:
docker infoCheck port conflicts:
netstat -tulpn | grep :8000View startup logs:
docker-compose logs
Database connection issues:
# Test database connectivity
docker-compose exec postgres pg_isready -U mcp_user
# Connect to database manually
docker-compose exec postgres psql -U mcp_user -d mcp_devRedis connection issues:
# Test Redis connectivity
docker-compose exec redis redis-cli pingDebug not working:
Ensure debug ports (5678, 9229) are not in use
Check firewall settings
Verify VSCode debug configuration matches container setup
π€ Contributing
Fork the repository
Make changes in your environment
Test thoroughly with provided test suites
Submit a pull request
π License
This project is provided as-is for development and testing purposes.
This environment gives you a complete MCP development platform with real databases, caching, file systems, and debugging tools - perfect for building and testing production-ready MCP servers!
This server cannot be deployed
Maintenance
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personalβ¦
Create, deploy, and operate MCP servers directly from your GitHub repositories.
Official Duck Framework MCP server for AI-assisted development and project scaffolding.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA configurable server implementation that provides MCP (Model-Controller-Protocol) functionality, supporting both Node.js and Docker environments with automated setup and configuration options.425 npmMIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server that provides advanced Docker operations through a unified interface with 16 MCP tools and 25+ CLI aliases, enabling secure container lifecycle management, multi-container orchestration, registry publishing, and system maintenance.110 npm15ISC
- FlicenseNot gradedqualityFmaintenanceEnables Docker container management and test execution via MCP tools, supporting image building, container operations, and automated test runs.-
- AlicenseBqualityCmaintenanceA comprehensive MCP server for developers providing file operations, shell execution, git integration, and smart caching to enhance AI-assisted development.117 npmMIT