ChatGPT MCP Server
ChatGPT MCP Server
A Model Context Protocol (MCP) server that provides Docker management capabilities through a custom GPT interface.
Features
Docker container management through natural language
Built on the Model Context Protocol (MCP)
TypeScript implementation
Containerized deployment
Robust error handling and graceful shutdown
Resource management and port handling
Rate limiting and API key authentication
Setup
Installing via Smithery
To install ChatGPT MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @Toowiredd/chatgpt-mcp-server --client claudeManual Installation
Clone the repository
git clone https://github.com/toowiredd/chatgpt-mcp-server.git
cd chatgpt-mcp-serverInstall dependencies
npm installCreate environment file
cp env.example .env
# Edit .env with your configurationBuild the project
npm run buildRunning with Docker
Build the container
npm run docker:buildRun the container
npm run docker:runOr manually:
docker run -d \
-p 3001:3001 \
--env-file .env \
-v /var/run/docker.sock:/var/run/docker.sock \
chatgpt-mcp-serverDevelopment
npm run build- Build the TypeScript codenpm run watch- Watch for changes and rebuildnpm run inspector- Run the MCP inspector tool
Environment Variables
API_KEY- API authentication keyHTTP_PORT- Server port (default: 3001)RATE_LIMIT_REQUESTS- Maximum requests per windowRATE_LIMIT_WINDOW- Window size in milliseconds
Resource Management
The server implements robust resource management:
Graceful shutdown on process signals (SIGINT, SIGTERM, SIGQUIT)
Connection tracking and management
Request timeout handling
Port conflict detection
Keep-alive connection management
Active request tracking and graceful completion
Shutdown Process
The server initiates graceful shutdown on process signals
New connections are rejected
Active requests are allowed to complete (with timeout)
Keep-alive connections are closed
Server ports are properly released
Resources are properly released
Error Handling
Port conflicts are detected and reported
Unhandled rejections and exceptions are caught
Network errors are properly handled
Resource leaks are prevented through proper handling
Timeouts ensure the server doesn't hang during shutdown
License
MIT