MCP server
Manage a Hopla page from Claude, Cursor or any MCP client, using natural language.
The Hopla MCP server exposes the same operations as the REST API to AI agents: read the page, add links, change the theme, query analytics. The agent selects which tools to call from natural language instructions.
- Endpoint:
https://app.hopla.page/mcp - Transport: Streamable HTTP, JSON responses, stateless
- Authentication:
Authorization: Bearer hopla_…, as for the REST API
Installation
First create an API key, then configure the server in your client.
claude mcp add --transport http hopla https://app.hopla.page/mcp \
--header "Authorization: Bearer hopla_…"Add --scope user to enable it in all your projects. Then check the connection with /mcp in Claude Code.
In Réglages (Settings), API et MCP, the full command, key included, can be copied right after the key is created.
claude.ai and ChatGPT
Custom connectors in claude.ai and ChatGPT require OAuth, which is not supported yet. Use Claude Code, Cursor, VS Code, Windsurf or Claude Desktop.
Tools
25 tools, covering the REST API operations. With a read-only key, only the 16 read tools are exposed. Tool names and fields match API v2; the former French tool names (lire_page, ajouter_bloc…) are still accepted, with French field names.
Read tools
| Tool | Description |
|---|---|
get_page | Full page: URL, plan, settings, and blocks with their ids |
get_account | Plan, trial, subscription, and included features |
get_analytics | Views, visitors and clicks for a period (days, or from and to) |
get_weekly_views | Views for the last 7 days and the 7 days before |
get_analytics_summary | One-sentence summary of the period and its highlights |
get_email_list | Subscriber count and connected integration |
list_subscribers | Subscribers, paginated |
get_qr_code | QR code of the page, as an image |
fetch_url_preview | Title, description, price and image of a URL |
fetch_feed | Latest posts of a feed, or latest video of a YouTube channel |
fetch_review_rating | Rating of a review page, out of 5 |
list_themes | Available themes |
list_social_networks | Social networks displayed as icons |
list_icons | Block icons |
list_block_types | Block types available to the page |
list_api_keys | Account API keys, without their secret |
Write tools
| Tool | Description |
|---|---|
update_settings | Update profile, theme, social links, colors, SEO… |
create_block | Create a block at the top or at a given position |
update_block | Partially update a block; visible: false hides it |
duplicate_block | Duplicate a block right below the original, optionally hidden |
delete_block | Permanently delete a block |
reorder_blocks | Reorder all blocks |
upload_image | Upload a data URL image, for a block or a profile photo |
delete_subscriber | Permanently delete a subscriber |
sync_subscribers | Sync pending subscribers to the connected newsletter |
Example prompts
Hopla pages are in French, so prompts usually are too. Agents also understand English instructions.
- "Add a link to my new podcast at the top of my Hopla page: https://example.com/podcast."
- "Switch my page to a darker theme and update my bio: coach sportive à Lyon."
- "Hide the summer sale block, without deleting it."
- "Schedule my masterclass link to appear on Monday at 9 am, with a countdown."
- "Duplicate the November workshop block, hidden, and change its date to December."
The agent first calls get_page to get block ids. Changes are visible immediately on the page and in the admin panel.
Protocol details
The server implements the MCP specification (versions 2025-06-18, 2025-03-26 and 2024-11-05). Each POST request carries one JSON-RPC message, or a batch of up to 50, and the response is JSON. The server opens no session and no stream: GET returns 405.
curl https://app.hopla.page/mcp \
-H "Authorization: Bearer $HOPLA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'