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

Swolvy

作者:enahmedsamy版本 1.0.0i★ –i在云端运行
注册名称com.swolvy/mcp

安装

概览

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

Publish HTML from Claude, ChatGPT, Gemini or any MCP client and get a shareable link. No account.

PopNx MCP 的三大支柱

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

它能帮你做什么

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

安装

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

安装之前

你需要

你用的是哪个应用?

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

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

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

在终端中运行这条命令

claude mcp add --transport http swolvy https://swolvy.com/api/mcp

在 Cursor 中打开

或者自己复制设置

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

{
  "mcpServers": {
    "swolvy": {
      "url": "https://swolvy.com/api/mcp"
    }
  }
}

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

在 VS Code 中打开

或者自己复制设置

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

{
  "servers": {
    "swolvy": {
      "type": "http",
      "url": "https://swolvy.com/api/mcp"
    }
  }
}

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

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

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

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

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

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

它能做什么

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

基础检查i

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

  • ✓ 通过

    作者与仓库一致

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

  • … 尚未检查

    仍在维护

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

  • … 尚未检查

    有许可证

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

  • … 尚未检查

    端点有响应

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

  • … 尚未检查

    使用 OAuth 登录

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

  • … 尚未检查

    工具描述中没有隐藏指令

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

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

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

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

常见问题

Swolvy 安全吗?

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

它需要哪些密钥或代码?

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

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

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

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.0)于15天前进入注册中心。

哪些应用可以使用它?

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

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Master CSS

替代选择

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

如何看卡片:★ 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前天更新
安装

Master CSS

作者:master-co

Inspect Master CSS classes, generated CSS, and project stylesheets from your AI client.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

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

Swolvy MCP server and skill: publish HTML from Claude, ChatGPT, Gemini and coding agents

Swolvy turns an HTML file into a shareable link. Drop a file on swolvy.com, or let your AI assistant (Claude, ChatGPT, Gemini) or coding agent publish it for you, and get a short link with optional password protection. No signup is needed. A page can be replaced later without changing its link, and Swolvy Pro adds pages that never expire, files up to 100 MB and your own domain.

This repository is the public home for the two ways AI assistants publish through Swolvy:

  • the remote MCP server at https://swolvy.com/api/mcp, for Claude, ChatGPT, Gemini, Claude Code, Cursor and any other MCP client
  • the `swolvy` skill for Claude Code, in skills/swolvy, built on the HTTP API

Swolvy itself is not in this repository. server.json describes the server in the MCP Registry format.

Add the MCP server

One address, OAuth sign-in, no API key. The server works without a Swolvy account: anonymous uploads return a link and an edit token. During sign-in you can also link the connector to a Swolvy account, so pages land in your dashboard and the account tools below are added.

https://swolvy.com/api/mcp

The transport is Streamable HTTP with OAuth 2.1 (dynamic client registration and PKCE).

Claude (claude.ai and desktop)
  1. Open Settings, then Connectors.
  2. Choose Add custom connector.
  3. Paste https://swolvy.com/api/mcp and confirm.
  4. Sign in when asked: continue without an account, or link your Swolvy account.
Claude Code
claude mcp add --transport http swolvy https://swolvy.com/api/mcp

Run /mcp inside Claude Code to complete the OAuth sign-in. Add --scope user to make the server available in every project.

ChatGPT

On chatgpt.com: Plugins, then +, then Add custom MCP server. Paste the address, choose OAuth as the authentication, then install the plugin. The desktop app's Add MCP server form (Streamable HTTP) works too, but without account linking.

Cursor

Add the server to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for every project:

{

"mcpServers": { "swolvy": { "url": "https://swolvy.com/api/mcp" } } }

Gemini

In the Gemini app: Settings & help, then Connected Apps, then Add a custom app, and paste the address.

For Gemini CLI, add the server to ~/.gemini/settings.json:

{

"mcpServers": { "swolvy": { "httpUrl": "https://swolvy.com/api/mcp" } } }

Any other MCP client

Add a remote server (Streamable HTTP) with the same address. Clients that support OAuth sign in through the browser; the server advertises its metadata at https://swolvy.com/.well-known/oauth-protected-resource/api/mcp.

Tools

Every connector gets the four publishing tools. A connector linked to a Swolvy account also gets the account tools. The team tools and the workspace parameter appear when the account belongs to a Swolvy Team.

Publishing tools (always available)
ToolPurposeKey parameters
upload_to_swolvyPublish a small HTML page (under about 80 KB) in one call and get the linkhtml_content (required), filename (required, 1-100 chars), password (4-100 chars), generate_password, replace_id + replace_edit_token, remove_password, path, title, description, workspace
start_swolvy_uploadStart an upload session for a large page; returns upload_id, upload_url and max_bytesfilename (required), plus the same optional fields as upload_to_swolvy
append_swolvy_chunkFallback for clients that cannot make HTTP requests: send the page as base64 chunksupload_id (required), chunk_base64 (required, about 50 KB of raw bytes per chunk), is_final
finish_swolvy_uploadFinish a session after the content was sent; returns the link, expires_at and edit_tokenupload_id (required)

The preferred large-file flow is: start_swolvy_upload, then one PUT of the whole file to upload_url (for example curl -X PUT -H 'Content-Type: text/html' --data-binary @page.html ), then finish_swolvy_upload.

Password handling: pass password when the user named one, or generate_password: true when they only asked for protection. Swolvy then picks a memorable password (like amber-river-42) and returns it as password; the assistant tells the user. Pages can be replaced up to 10 times with replace_id and replace_edit_token; the new version keeps the current password unless a new password or remove_password: true is given.

Account tools (connector linked to a Swolvy account)
ToolPurposeKey parameters
list_my_filesList the account's pages with id, link, path, name, views, size, password state and expirynone
update_my_fileReplace a page's HTML; the link stays the same, no edit token neededid, html_content (required), filename
rename_my_fileChange a page's display nameid, filename (required)
set_my_file_pathChange the page's path on the account's custom domainid, path (required)
set_my_file_metadataPro: title, description and image for link previewsid (required), title, description, preview_image_base64, remove_preview_image
set_my_file_passwordSet, change or remove a page's passwordid (required), password (string or null), generate_password
delete_my_filePermanently delete a pageid (required)
get_my_planShow the plan (Free or Pro), storage used, renewal and the upgrade link; checks a couponcoupon_code
get_my_domainPro: show the custom domain, whether it is live, and DNS records still to addnone
connect_my_domainPro: connect a domain you own; returns the CNAME and TXT records to addhostname (required)
set_my_brandingPro: default link-preview image, and with a custom domain the site name and faviconsite_name, favicon_base64, remove_favicon, preview_image_base64, remove_preview_image
set_my_nameSet the name shown in the dashboardname (required)
Team tools (Swolvy Teams)
ToolPurposeKey parameters
list_my_teamsList the teams the account belongs to, with role, plan, domain and dashboard linknone
get_my_workspaceShow the active workspace: personal or a teamnone
set_my_workspaceSwitch the active workspace for the website and every connected AIworkspace (required): "personal", a team id such as org_abc123, or a team slug

Upload with the HTTP API

For scripts, CI jobs and coding agents that would rather make one HTTP request than add an MCP server.

Request

POST https://swolvy.com/api/v1/upload with a JSON body, or a multipart/form-data body with the same field names (plus file for the HTML file itself).

FieldRequiredMeaning
htmlyes (or file in a form)The complete HTML document, up to 2 MB
filenameyesThe page's name, up to 100 characters
passwordno4-100 characters; viewers must enter it
generate_passwordnotrue: Swolvy picks the password and returns it
replace_id, replace_edit_tokennoReplace an existing page and keep its link
remove_passwordnoWith a replace: drop the page's password
pathnoWith an API key: the page's path in the account
title, descriptionnoPro accounts: link-preview text
workspacenoWith an API key in a team: "personal", "team", or a team id or slug (also the X-Swolvy-Workspace header)

Authentication is optional. Without it the upload is anonymous. With Authorization: Bearer swk_... (an API key from the dashboard, under AI & API) the page is saved to your account.

curl
curl -X POST https://swolvy.com/api/v1/upload \

-H "Content-Type: application/json" \ -d '{"html":"<!DOCTYPE html> Hello ","filename":"Hello.html"}'

Or send a file from disk:

curl -X POST https://swolvy.com/api/v1/upload \

-F "file=@index.html" -F "filename=index.html"

Response
{

"url": "https://swolvy.com/abc123", "id": "abc123", "expires_at": "2026-11-21T10:00:00.000Z", "edit_token": "...", "password_protected": false }

Other fields appear when they apply: password (when generate_password was used), never_expires: true (Pro), replaced: true, path, title, description, custom_url (the page's link on a custom domain), workspace, and viewer_warning (visitors see a short notice before a page that looks like a sign-in form). Errors are JSON with one field: {"error": "..."}.

Keep the edit_token: it is the only way to replace an anonymous page later.

Python
import requests

r = requests.post( "https://swolvy.com/api/v1/upload", json={"html": open("index.html").read(), "filename": "index.html"}, ) r.raise_for_status() page = r.json() print(page["url"], page["edit_token"])

Node
import { readFile } from "node:fs/promises";

const res = await fetch("https://swolvy.com/api/v1/upload", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ html: await readFile("index.html", "utf8"), filename: "index.html" }), }); const page = await res.json(); if (!res.ok) throw new Error(page.error); console.log(page.url, page.edit_token);

Replace a page

Send the new HTML with the id and edit token from the first response. The link does not change and the 30-day clock restarts.

curl -X POST https://swolvy.com/api/v1/upload \

-H "Content-Type: application/json" \ -d '{"html":"<!DOCTYPE html> Hello again ","filename":"Hello.html","replace_id":"abc123","replace_edit_token":"..."}'

Large files (upload sessions)

One request carries up to 2 MB. Pro accounts can send pages up to 100 MB through a session; the response's max_bytes says what the current plan allows.

  1. POST https://swolvy.com/api/v1/upload/session with {"filename": "report.html"} and the same optional fields as above (password, generate_password, replace_id, replace_edit_token, remove_password, path, title, description, workspace). Send Authorization: Bearer swk_... for a Pro account. Response: {"upload_id", "upload_url", "finish_url", "max_bytes"}.
  2. PUT the raw HTML to upload_url: curl -X PUT -H "Content-Type: text/html" --data-binary @report.html .
  3. POST to finish_url (/api/v1/upload/session/{id}/finish). The response has the same fields as /api/v1/upload.
Rate limits

Uploads are limited to 10 per hour per IP address (HTTP 429), with a global cap across all callers. Bodies over the size limit return 413.

Claude Code skill

The swolvy skill teaches Claude Code the API call above so that "publish this page" or "give me a link to this HTML" works in one step.

Install it by copying the skill folder into your Claude Code skills directory:

git clone https://github.com/enahmedsamy/swolvy-mcp.git

mkdir -p ~/.claude/skills cp -r swolvy-mcp/skills/swolvy ~/.claude/skills/swolvy

Or add it to one project only, under .claude/skills/swolvy/. Then ask Claude Code to publish an HTML file, or run /swolvy. The skill file is skills/swolvy/SKILL.md.

If you would rather use tool calls than curl, add the MCP server to Claude Code instead (see above). Both give the same link.

Limits and plans

FreeSwolvy Pro
Price$0, no signup$3 a month or $18 a year
File sizeup to 2 MBup to 100 MB (2 GB of storage in total)
Expiry30 days after the last upload; a new version restarts the 30 daysnever
Password protectionyesyes

| Replace on

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx