Skip to main content
Glama
licc168

htmltolink-mcp

by licc168
README.md
# 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

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues