htmltolink-mcp
# htmltolink-mcp
Deploy any HTML project to a live public URL in seconds โ directly from Cursor, Claude Code, or any MCP-compatible AI agent.
No server. No config. No build pipeline. Just one command and you get a shareable link.
## Quick Start
### Cursor
Add to `.cursor/mcp.json`:
```json
{
"mcpServers": {
"htmltolink": {
"command": "npx",
"args": ["-y", "htmltolink-mcp"]
}
}
}
```
Then just tell Cursor: **"Deploy this project"** โ it will package your files, upload them, and return a live URL.
### Claude Code
Add to `.mcp.json` in your project root:
```json
{
"mcpServers": {
"htmltolink": {
"command": "npx",
"args": ["-y", "htmltolink-mcp"]
}
}
}
```
### Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"htmltolink": {
"command": "npx",
"args": ["-y", "htmltolink-mcp"]
}
}
}
```
## Available Tools
| Tool | Description |
|------|-------------|
| `deploy` | Package and deploy a project directory to htmlto.link |
| `status` | Check existing deployment info from `.htmltolink.json` |
## Authentication (Optional)
By default, deployments are **anonymous and temporary** (24 hours). The agent automatically saves update credentials so it can refresh the same link.
For **persistent managed pages**, set your API token:
```json
{
"mcpServers": {
"htmltolink": {
"command": "npx",
"args": ["-y", "htmltolink-mcp"],
"env": {
"HTML_TO_LINK_TOKEN": "your-api-token"
}
}
}
}
```
Get your token from [htmlto.link/settings](https://htmlto.link/settings).
## How It Works
1. Agent calls the `deploy` tool with your project directory
2. MCP server zips the project (excluding `node_modules`, `.git`, secrets, etc.)
3. Uploads to `https://htmlto.link/api/skill/deploy`
4. Saves deployment info to `.htmltolink.json` (auto-added to `.gitignore`)
5. Returns the live public URL
## Use Cases
- ๐ **AI-generated pages**: Cursor/Claude builds a landing page โ instant live URL
- ๐ **Client demos**: Share a prototype link in seconds
- ๐งช **Quick previews**: Test responsive design on real devices
- ๐ฆ **Portfolio pieces**: Host experiments without setting up hosting
## Using .cursorrules (Alternative)
If you prefer prompt-based integration over MCP, copy the `.cursorrules` file from this repo into your project root. The agent will follow the instructions to deploy via the HTTP API directly.
## Links
- Website: [https://htmlto.link](https://htmlto.link)
- Skill Guide: [https://htmlto.link/skill](https://htmlto.link/skill)
- API Docs: `POST https://htmlto.link/api/skill/deploy`
## License
MIT
TDQS
Scored across 2 tools
The two tools are unmistakably distinct: 'deploy' triggers a deployment, while 'status' reads the deployment status. There is no overlap in their purposes or outcomes.
Both names are concise, lowercase, and single-word, following a predictable command-style pattern. However, 'status' is a noun while 'deploy' is a verb, representing a minor inconsistency in part of speech.
With only two tools, the server is minimal but well-aligned to its narrow purpose. It is slightly under the typical range, yet both tools are essential and justify their existence.
The core deployment workflow is covered: deploying and checking status. A setup or initialization tool could be useful, but the current surface does not present critical gaps for the stated purpose.