Curl MCP Server for Docker
This is a Model Context Protocol (MCP) server that provides curl functionality with full network access.
Features
- Execute curl commands with all options and flags
- Host network mode for accessing local network devices (like your FortiGate at 192.168.1.1)
- Supports HTTPS with self-signed certificates (-k flag)
- Custom headers and authentication
- 5-minute timeout for long-running requests
Installation
Option 1: Using Docker Compose (Recommended)
-
Navigate to this directory:
cd curl-mcp-server -
Build and start the container:
docker-compose up -d --build -
Check if it's running:
docker-compose ps
Option 2: Using Docker CLI
-
Build the image:
docker build -t curl-mcp-server . -
Run the container with host networking:
docker run -d --name curl-mcp-server --network host curl-mcp-server
Configuration with Claude Desktop
To use this MCP server with Claude Desktop, add the following to your MCP settings configuration file:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"curl": {
"command": "docker",
"args": ["exec", "-i", "curl-mcp-server", "python", "/app/server.py"]
}
}
}
After adding this configuration:
- Restart Claude Desktop
- The curl tool should now be available
Usage Examples
Once configured, you can use curl commands in Claude:
curl -k https://192.168.1.1
curl -k -H "Authorization: Bearer YOUR_API_KEY" https://192.168.1.1/api/v2/monitor/system/status
curl -X POST https://api.example.com/endpoint -d '{"key":"value"}'
Network Access
This container uses network_mode: host which gives it direct access to:
- Your local network (192.168.x.x addresses)
- The internet
- All network interfaces on your host machine
Troubleshooting
Container not starting
docker-compose logs
Test the container manually
docker exec -it curl-mcp-server curl -k https://192.168.1.1
Rebuild after changes
docker-compose down
docker-compose up -d --build
Check if container has network access
docker exec -it curl-mcp-server curl https://google.com
docker exec -it curl-mcp-server curl -k https://192.168.1.1
Stopping the Server
docker-compose down
Security Notes
- This server has full network access due to host networking mode
- Be careful with the commands you execute
- The container can access all devices on your local network
- Consider firewall rules if you're concerned about security
