# customjs-mcp

A hosted MCP server that publishes HTML pages to a public URL, turns HTML and Markdown into PDFs, takes screenshots and runs JavaScript in a sandbox. Your own CustomJS key is required.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: customjs
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/customjs/customjs-mcp
- Updated: 2026-06-11
- HTML: https://affpapa.org/en/nevibecode/mcp/customjs-mcp

## What it does

The endpoint is `https://mcp.customjs.space/customjs/mcp`, transport is Streamable HTTP. Nothing gets installed or self-hosted — you point a client at the address and send your key in the `x-customjs-api-key` header. Keys are issued in the CustomJS dashboard and the connector does not keep a copy.

Nine tools come with it. `customjs_host_html_page` uploads static HTML and hands back a public `https://lp.customjs.space/<shortId>` link; posting the same name again replaces the page. `customjs_html_to_pdf` converts HTML with Nunjucks templating, `customjs_markdown_to_pdf` handles Markdown, `customjs_screenshot` grabs a full-page image, `customjs_scrape_html` returns HTML after the page's JavaScript has run, and `customjs_run_code` executes JS in a sandbox. Listing and deleting pages have their own tools, and `customjs_help` shows examples by topic.

One thing to know about hosting: the public URL sits behind CloudFront, so right after an update visitors can still get the older content until the cache turns over. Check the page twice before assuming your edit failed. No CustomJS key means no server — that is the only piece of setup on your side.

## Requirements
- Remote server: `https://mcp.customjs.space/customjs/mcp`

## Install

### Claude Code (native platform)

**Platform CLI: remote server**
```bash
claude mcp add --transport http customjs-mcp https://mcp.customjs.space/customjs/mcp
```

### Codex

**Platform CLI: remote server**
```bash
codex mcp add customjs-mcp --url https://mcp.customjs.space/customjs/mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "customjs-mcp": {
            "url": "https://mcp.customjs.space/customjs/mcp"
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "customjs-mcp": {
            "type": "http",
            "url": "https://mcp.customjs.space/customjs/mcp"
        }
    }
}
```

### Gemini CLI

**Platform CLI: remote server**
```bash
gemini mcp add -t http customjs-mcp https://mcp.customjs.space/customjs/mcp
```

## When to use it
- publish a static HTML page at a public link
- build a PDF from an HTML template and data
- turn a Markdown document into a PDF
- capture a full-page screenshot of a site
- pull HTML after JavaScript has rendered

## Example prompts
- Host `landing.html` and give me the public URL
- Convert `report.md` to PDF
- Take a full-page screenshot of this page and show me the result

## Similar
- [python-executor](https://affpapa.org/en/nevibecode/skills/python-executor.md) — skill · 109700 installs
- [browser-gateway](https://affpapa.org/en/nevibecode/mcp/browser-gateway.md) — MCP server · ★ 18
- [firecrawl-download](https://affpapa.org/en/nevibecode/skills/firecrawl-download.md) — skill · 79900 installs
- [Browserless](https://affpapa.org/en/nevibecode/mcp/browserless.md) — MCP server · ★ 13
- [defuddle](https://affpapa.org/en/nevibecode/skills/joeseesun-defuddle.md) — skill · 1300 installs
- [qiaomu-markdown-proxy](https://affpapa.org/en/nevibecode/skills/qiaomu-markdown-proxy.md) — skill · 659 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
