mcp server

你的智能体写好了网站。让它顺手发布出去。

harvis.dev 是一个远程 MCP 服务器。连接一次,你的 AI 客户端就多了一个 deploy_site 工具:把一整个文件夹发到线上,再把可访问的地址交回来 —— 不用账号,不用 API 密钥,什么都不用装。

什么是 mcp

AI 客户端与服务之间的标准插头

Model Context Protocol 是一个开放标准,用来把一组可执行的动作交给助手。你的智能体已经有了文件,也知道你想要什么;它缺的是在对话之外动手的方式。MCP 服务器给的正是这个 —— 一份有名字的工具清单,每个都描述得足够清楚,让模型知道什么时候该用。harvis.dev 只公开一个工具,而它用来发布网站。

  • 服务器只连一次

    在客户端的配置文件里写一个 URL,或者在终端里敲一条命令。之后每次对话它都还连着。

  • 模型看到的是工具,不是 API

    不用记端点,不用拼 curl,不用粘密钥。它读懂 deploy_site 做什么,在你要发布时直接调用。

  • 你始终不用离开对话

    要一个落地页,同一条回复里就能拿到线上地址。中间没有导出、没有上传步骤、没有构建流水线。

连接

一个 URL,任何 MCP 客户端

Streamable HTTP,无需认证。支持远程 MCP 的客户端直接用这个地址;只会 stdio 的客户端(比如 Claude Desktop)通过 mcp-remote 中转。挑你在用的,把配置复制走。

服务器 url
https://harvis.dev/api/mcp
terminal
$ claude mcp add --transport http harvis https://harvis.dev/api/mcp
deploy_siteworks with any MCP client

Test it from a terminal

Not sure the address is reachable from where you are? The MCP Inspector asks the server what tools it has, over the same transport a client uses — nothing to install, and no account. If deploy_site comes back, the server is fine and anything still broken is in your client's config.

terminal
$ npx -y @modelcontextprotocol/inspector --cli https://harvis.dev/api/mcp --transport http --method tools/list
what comes back
{
  "tools": [
    {
      "name": "deploy_site",
      "description": "Publish a static website to harvis.dev and get a live public URL back instantly...",
      "inputSchema": {
        "type": "object",
        "properties": { "files": { ... }, "name": { ... }, "subdomain": { ... } },
        "required": ["files"]
      }
    }
  ]
}

Rather install from a directory? harvis is listed on Glama's MCP registry, pointing at the same server URL.

这个工具

一个工具,只做一件事

deploy_site 接收网站需要的每个文件并发布出去。路径相对于站点根目录,用正斜杠;记得带上 index.html。文本原样传,图片等二进制文件用 base64。

字段类型含义
filesarray · 必填网站的每个文件:路径、内容,以及 text 或 base64 的编码方式。最多 500 个文件、共 50 MB。
namestring网站的可读名称,显示在面板里。无论填不填,网址都会生成。
deployTokenstring网站的私有令牌,由创建它的那次部署返回。带上它就会原地更新那个网站,而不是新建一个。
subdomainstring被更新网站的地址。可选,且只能与它的 deployToken 一起提交 —— 单独出现证明不了什么,因此无法授权更新。
会拿回什么

一个公开链接,一个私有链接

工具返回一段文本,由模型读给你听。线上 URL 是公开的,可以直接分享。认领链接是私有的:打开它,免费登录,网站就归到你的账号下,可以编辑或删除。在那之前网站是匿名的,未认领的网站会在最后一次部署 24 小时后被收回 —— 所以当天就把认领链接打开,弄丢了就找不回来了。

Site deployed successfully.
Live site: https://happy-panda-482.harvis.page
Claim link (private): https://harvis.dev/claim/xxxxxxxx-...
Subdomain: happy-panda-482
Deploy token (private): xxxxxxxx-xxxx-...
Files hosted: 7
更新

再部署一次,改的还是同一个网站

每次部署还会返回一个私有 deployToken。下次调用时把它带上,同一个网站就会被原地替换、地址不变 —— 认领前后都有效。不带它,你会得到一个新地址上的新网站,这正是第二版草稿想要的:先比较,而不是覆盖。

faq

常见问题

人们在粘贴配置之前会问的。

需要账号吗?

不需要。MCP 服务器完全不收凭据,通过它的部署是匿名的 —— 所以才会返回认领链接。注册免费,只有当你想让网站留过 24 小时,或者以后要管理它时才用得上。

我的智能体能用它做别的事吗?

不能。deploy_site 是服务器暴露的唯一工具,它只发布你给它的文件。它读不到你的账号,列不出任何人的网站,也删不了东西。harvis.dev 上的其他一切都在 HTTP API 的账号密钥后面,而这个服务器碰不到那里。

我的客户端不支持远程 MCP 服务器。

那它说的是 stdio,mcp-remote 会在两者之间搭桥 —— 上面 Claude Desktop 和 Zed 的配置就是这么做的。你的机器上只需要有 Node.js;首次运行时 npx 会把桥接工具拉下来。

能托管什么?

静态文件:HTML、CSS、JavaScript、图片、字体,浏览器能取到的都行。服务端代码不会执行。表单是例外 —— 给表单加上 harvis-form 属性,提交的内容就会进你的面板,不用自己搭后端。

没有 MCP 客户端也能用吗?

能。能执行命令的智能体用 npx harvis 发布;只能发 HTTP 请求的,把文件 POST 到 /api/upload,不用密钥。两条路都写在 /llms.txt 里 —— 遇到没有对应工具的助手,把这个地址给它就行。

手边没有智能体?

同样的部署也可以从终端、从浏览器、从脚本发起 —— MCP 服务器只是其中一道门,不是唯一一道。

查看 HTTP API