原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

PasteHTML

作者:AliOsm版本 1.1.0i★ –i在云端运行
注册名称dev.pastehtml/mcp

安装

概览

作者提供的说明(英文原文)

Publish, update, and organize HTML and Markdown pastes on PasteHTML as the authorized user.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://pastehtml.dev/mcp

在终端中运行这条命令

claude mcp add --transport http pastehtml https://pastehtml.dev/mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "pastehtml": {
      "url": "https://pastehtml.dev/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "pastehtml": {
      "type": "http",
      "url": "https://pastehtml.dev/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://pastehtml.dev/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 pastehtml.dev 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    端点有响应

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    使用 OAuth 登录

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32398 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32398 个服务器的 17% 更新
  • 基础检查结果等于或优于此分类中其他 32398 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

PasteHTML 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.1.0)于4个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, AI Deprecations

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211昨天更新
安装

AI Deprecations

作者:aideprecations.com

AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.

在云端运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

pastehtml.dev

Share HTML pages in seconds. Drop an HTML file, get a private link your friends can open, preview, and view the source of. Anonymous publishing still works, and accounts add folders, custom subdomains, view counts, browser-based re-upload updates, and account API keys for agent publishing into folders.

How it works

  • Drag and drop (or browse for) an .html/.htm file up to 2 MB.
  • The document is published at https:// .pastehtml.dev/ — or at a claimed custom subdomain like https://launch-plan.pastehtml.dev/ — with an inspector page (copy link, preview, highlighted source) at /p/ . Tokens are random 32-character lowercase-alphanumeric IDs (~165 bits of entropy — lowercase because they double as subdomains, and browsers lowercase hostnames), so random links are private unless shared.
  • Pastes can be password-protected. Locked pastes require the password before the inspector page, raw bytes, rendered preview, or live subdomain are served.
  • Signed-in users can save pastes into folders, see view counts, and re-upload a replacement .html/.htm file without changing the share link. Pastes can never be deleted. API-created update tokens still work for token-based automated updates.
  • The share page offers a live preview (with an in-site fullscreen mode) and a Rouge-highlighted source view.
  • Every paste is served as a real page from its own origin — https:// .pastehtml.dev/ — so scripts and localStorage work (review-progress checklists persist) while staying fully isolated from other pastes and from the app itself. The path-based /p/ /raw endpoint returns the paste's exact bytes as text/plain — a byte-exact copy for programmatic clients, immune to any CDN HTML rewriting in transit — while /p/ /render serves the same bytes as text/html inside a CSP sandbox.

Agent API

Publish without a browser — ideal for AI agents that produce design documents or implementation plans and want to hand back a share link. Anonymous publishing still works with no credentials; signed-in users can also create account API keys at /api_keys so an agent can publish into their account and target folders.

# Multipart upload

curl -F "file=@plan.html" https://pastehtml.dev/api/pastes

Or stream the HTML straight from a pipe

curl --data-binary @plan.html -H "Content-Type: text/html" \ "https://pastehtml.dev/api/pastes?filename=plan.html"

Anonymous creation returns 201 with { token, title, custom_subdomain, folder, owner, account_paste, password_protected, views_count, live_url, url, raw_url, render_url, markdown_url, update_token } (or 422 with { errors }). Account-key creation returns the same paste fields but omits update_token; update account-owned pastes with the account key so revoking the key stops that agent's future access. Add password= (or custom_subdomain= , which requires an account key) to creation/update requests; send clear_password=1 on updates to remove a paste password. Fetch raw_url to read a paste's exact bytes back (text/plain, never rewritten in transit).

Account API keys for agents

A signed-in user can open API keys from the dashboard, create a key, and give that secret to an agent. Use it as either Authorization: Bearer pht_... or X-PasteHTML-API-Key: pht_.... When a valid account key is present on POST /api/pastes, the paste is owned by that user and appears in their dashboard. Folder targeting is account-only:

curl -H "Authorization: Bearer $PASTEHTML_API_KEY" \

--data-binary @plan.html -H "Content-Type: text/html" \ "https://pastehtml.dev/api/pastes?filename=plan.html&folder_name=Roadmap"

Use folder_name= to find or create a folder under that account, folder_id= to target an existing folder, and clear_folder=1 on updates to move a paste back to All pastes. Keys can also be scoped to a default folder when created; scoped keys always publish there, can update only pastes already in that folder, reject folder overrides, only list that folder through the folder API, and cannot create unrelated folders. Scoped keys are revoked automatically if the folder is deleted. Unscoped agents can discover existing folder IDs with:

curl -H "Authorization: Bearer $PASTEHTML_API_KEY" \

https://pastehtml.dev/api/folders

Unscoped keys can create folders with either nested form params (folder[name]=Roadmap) or a simple top-level name=Roadmap, whichever is easier for the client. Folder-scoped keys receive 403 on folder creation.

An account key can update pastes owned by that account, while the per-paste update_token flow keeps working as long as the paste stays anonymous. If an agent needs to claim an anonymous paste into an account, send the account key in Authorization: Bearer ... and the paste secret separately as X-Update-Token: .... Claiming is one-way: afterward the account key is the paste's update credential and the old token stops working.

The update_token is revealed exactly once — the server stores only a digest — and authorizes any number of in-place updates while the paste remains anonymous:

curl -X PATCH -H "Authorization: Bearer $UPDATE_TOKEN" \

-F "file=@plan.html" https://pastehtml.dev/api/pastes/$TOKEN

Updates accept the same two body forms as creation and return 200 with the refreshed { token, title, custom_subdomain, folder, owner, account_paste, password_protected, views_count, live_url, url, raw_url, render_url, markdown_url }, 403 for a wrong or missing update token or an account key that does not own the paste, and 404 for an unknown paste. Paste publish/update endpoints are rate limited per IP at 20 requests per minute and 1,000 per day; folder API endpoints also require an account key and are rate limited per IP.

Agents discover all of this on their own: the full integration guide lives at /llms.txt (also pointed to from the homepage, both visibly and in an HTML comment for raw fetchers). Telling an agent "publish this on pastehtml.dev" is enough.

MCP server

For agents that speak the Model Context Protocol, pastehtml.dev is also a remote MCP server at https://pastehtml.dev/mcp (Streamable HTTP). Instead of a pht_ key, the agent authorizes once through your browser over OAuth and then works inside your account — the same folders, view counts, and permanent pastes as the dashboard.

# Claude Code

claude mcp add --transport http pastehtml https://pastehtml.dev/mcp

Codex

codex mcp add pastehtml --url https://pastehtml.dev/mcp

On first use the client opens a browser consent screen; approve it and the agent is connected — no key to copy or store. Authorization is OAuth 2.1 with PKCE and RFC 7591 Dynamic Client Registration, scoped to mcp:read, mcp:pastes:write, and mcp:folders:write. Review or revoke connected agents any time under Connected agents in the dashboard.

Ten tools are exposed (pastes are permanent — there is no delete-paste tool):

  • create_paste — publish a new HTML or Markdown paste, optionally into a folder.
  • update_paste — republish an existing paste's content (overwrites it in place).
  • configure_paste — change a paste's password, custom subdomain, or folder.
  • get_paste — fetch one paste's metadata, URLs, and stored content.
  • get_paste_stats — aggregate view analytics for a paste.
  • list_pastes — page through the account's pastes, optionally filtered by folder.
  • list_folders — list folders with their paste counts.
  • create_folder — create a new, empty folder.
  • rename_folder — rename a folder.
  • delete_folder — delete a folder (its pastes survive, unfiled).

Dynamic Client Registration can be switched off in production with the MCP_DYNAMIC_REGISTRATION_DISABLED environment variable (any already pre-registered clients keep working). Smoke-test a deployment by fetching its discovery document:

curl https://pastehtml.dev/.well-known/oauth-protected-resource

Stack

  • Ruby on Rails 8.1 · PostgreSQL · Hotwire (Turbo + Stimulus)
  • Tailwind CSS v4 (cssbundling) · esbuild (jsbundling) · Yarn 4
  • Tooling via mise, PostgreSQL via Docker Compose
  • Comic-book design: Bangers display type over Inter, halftone textures, ink-outlined panels with hard offset shadows
  • Installable PWA: manifest + minimal network-first service worker with an offline fallback page (pastes themselves are never cached)
  • SEO via meta-tags (OG/Twitter cards with a branded OG image, canonical, noindex on paste pages) and comic-styled static error pages

Development

mise run dev        # starts postgres (docker), installs deps, prepares db, runs bin/dev

Or step by step:

mise run docker:start   # postgres on localhost:5435

mise run deps # bundle install + yarn install mise run db:prepare bin/dev # rails server + js/css watchers on port 3000

Tests and lint

mise run test   # rails test

mise run lint # rubocop + brakeman

Deployment

Deploys with Kamal from GitHub Actions (the "Kamal Run" workflow) to a single server: the app container plus a postgres 18 accessory. db/production.sql creates the Solid Cache/Queue databases on the accessory's first boot. Pastes are served from .pastehtml.dev subdomains, so the proxy routes the wildcard with a Cloudflare Origin CA certificate (wildcards can't get Let's Encrypt certs over HTTP-01).

One-time setup:

  1. Cloudflare (free plan): add a proxied A record for pastehtml.dev, www, and a proxied wildcard * record, all pointing at the server. Set SSL/TLS mode to Full (strict). Create an Origin Server certificate for pastehtml.dev, *.pastehtml.dev and keep the PEM pair.
  2. Repository Actions secrets: SERVER_IP, SSH_PRIVATE_KEY (root access to the server), RAILS_MASTER_KEY (from config/master.key), POSTGRES_PASSWORD, CLOUDFLARE_ORIGIN_CERTIFICATE and CLOUDFLARE_ORIGIN_KEY (the Origin CA PEM pair). The container registry (ghcr.io) authenticates with the workflow's own GITHUB_TOKEN.
  3. Run the Kamal Run workflow with the command setup once (provisions postgres + proxy), then with deploy for every release.

For local runs of kamal commands, put the Origin CA pair in .kamal/certs/origin.pem / origin-key.pem (gitignored), export SERVER_IP and POSTGRES_PASSWORD, and remove the GHA builder cache block from config/deploy.yml if you need to build the image locally.

问 PopNx