MCP server setup
Connect htmlkin.io over MCP and your agent will publish and update HTML pages and text-based static sites right from the chat.
What it is
MCP (Model Context Protocol) is an open protocol that AI assistants use to connect external tools. The htmlkin.io MCP server already runs on our side at https://htmlkin.io/mcp — there's nothing to install or run: add the address to your assistant's settings and sign in through the browser.
What you need
- A htmlkin.io account — sign-in opens in the browser when you connect. Connections are listed on the “API keys” page
- An MCP client — Claude, Cursor or another assistant that supports MCP.
Connecting
The server address is https://htmlkin.io/mcp. On the first connection your client opens the browser: sign in to htmlkin.io and click “Allow”. No key to copy.
Paste it into Claude Code, Codex, Cursor or another agent — it connects the server itself:
Connect the htmlkin.io MCP server: address https://htmlkin.io/mcp, HTTP transport, name htmlkin. No API key is needed — the server uses OAuth. Add the server to your configuration (in Claude Code: claude mcp add --transport http htmlkin https://htmlkin.io/mcp) and start the sign-in: a browser will open where I'll approve access.claude mcp add --transport http htmlkin https://htmlkin.io/mcpSettings → Connectors → Add custom connector, enter https://htmlkin.io/mcp in the URL field and click Connect — the htmlkin.io sign-in opens.
Any client with HTTP transport support connects with this config:
{
"mcpServers": {
"htmlkin": {
"type": "http",
"url": "https://htmlkin.io/mcp"
}
}
}A client without browser sign-in connects with an API key from your dashboard: in the Authorization: Bearer header or in the address https://htmlkin.io/mcp?key=htk_your_key. A key in the address can end up in the client's history and logs — prefer the header where you can.
Tools
Once connected, the assistant gets four tools:
| Tool | Purpose |
|---|---|
| htmlkin_publish | Publish HTML or a set of text site files and get the address. |
| htmlkin_update | Replace the whole site (HTML or files) and/or change the PIN and visibility. |
| htmlkin_get | Get the address, size, file count, entry point, lifetime, PIN and visibility. |
| htmlkin_delete | Delete a site; an attached domain stays in the account. |
Just ask the assistant: “publish this site on htmlkin.io” — it will call htmlkin_publish and return the link. Full parameter descriptions and error codes are in the REST API documentation.
htmlkin_publish and htmlkin_update accept a files parameter: an array of { path, content } objects. Up to 20 text files and 2 MB of UTF-8 in total are allowed; index.html is required at the root. HTML, CSS, JS, JSON, SVG, XML, Markdown and other text extensions from the tool description are supported.
Update always replaces the whole current site. If you update a multi-file site with a single html_content, it becomes a single-file site. Don't send binary files or large sites as base64 in arguments: upload a ZIP to the REST API (site_archive) or use the browser.