Hostinger MCP
by MADPANDA3D
README.md
# Hostinger MCP
MAD MCP Portal-native Hostinger MCP server built with Python 3.12 and FastMCP.
## Endpoint
Canonical hosted endpoint:
```text
https://hostinger-mcp.madpanda3d.com/mcp
```
`/mcp/` is intentionally deprecated and returns `410 Gone`.
## Hosted Auth Contract
Required headers on `/mcp` requests:
- `X-MADPANDA-PORTAL-GRANT` - checked against `MCP_PORTAL_GRANT_TOKEN`
- Hostinger BYOK auth, one of:
- `x-hostinger-api-token`
- `Authorization: Bearer <hostinger_api_token>`
If both BYOK methods are present, `x-hostinger-api-token` takes precedence and the response meta includes a warning.
## Tool Surface
- 111 canonical Hostinger OpenAPI tools generated from `data/hostinger_manifest.json`
- 7 extended deployment helpers based on Hostinger's official MCP reference
- 5 agent-navigation tools:
- `hostinger_check_configuration`
- `hostinger_list_capabilities`
- `hostinger_get_endpoint_coverage`
- `hostinger_get_tool_usage`
- `hostinger_find_tools`
- 1 allowlisted gap tool: `hostinger_raw_request`
All tools return:
```json
{"ok":true,"data":{},"error":null,"meta":{}}
```
## Safety Defaults
- No Hostinger or portal secrets are persisted.
- All write tools require `confirm=true`.
- Spend, destructive, and credential tools also require the exact `confirmation_phrase` returned by `hostinger_get_tool_usage`.
- `dry_run=true` previews request shape and risk without calling Hostinger.
- `MCP_READ_ONLY=true` blocks write tools.
- Raw requests are restricted to allowlisted Hostinger hosts and `/api/*` paths.
## Local Run
```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'
python scripts/sync_hostinger_openapi.py
mad-mcp-hostinger
```
Server listens on `0.0.0.0:8093` by default.
## Sync Hostinger API Reference
```bash
python scripts/sync_hostinger_openapi.py
```
This writes:
- `data/hostinger_openapi.json`
- `data/hostinger_manifest.json`
- `docs/endpoint-coverage.md`
The current checked-in baseline is Hostinger API `0.11.7` with 111 operations across 83 paths.
## Docker
```bash
docker compose up -d --build
```
The service attaches to external Docker network `mcp-network` and exposes only the container port for reverse-proxy routing.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessSyncing