Skip to main content
Glama
MADPANDA3D

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.