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

Mcphost

作者:j0yen版本 0.126.1i★ –i在云端运行
注册名称dev.mcphost/mcphost

安装

概览

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

Hosted MCP runtime where your agent publishes its own tools by tool call and keeps working.

PopNx MCP 的三大支柱

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

它能帮你做什么

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

安装

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

安装之前

你需要

你用的是哪个应用?

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

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

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

在终端中运行这条命令

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

在 Cursor 中打开

或者自己复制设置

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

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

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

在 VS Code 中打开

或者自己复制设置

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

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

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

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

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

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

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

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

它能做什么

工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。

  • signup 看起来像是对 AI 下的指令

    Explicit signup, for a client that cannot keep a session across calls: create a tenant and receive a bearer key and namespace. Unauthenticated. Most clients never need this -- any other host.*/billing.* call from a fresh connection creates a tenant implicitly and returns its own

  • host.quickstart

    Return the shortest ordered sequence of calls to a working tool of `kind`, with your namespace and a filled-in example already substituted in, plus the current limits and a try_before_call table naming the one dry-run tool for each case. Read-only -- this call alone never creates

  • host.help.search

    Search this host's own documentation and tool descriptions. Returns up to k hits (default 3, response under 2 KB), each with a snippet, the nearest runnable example and an anchor. Read-only, anonymous, no tenant data -- call it with the error text or import line you are stuck on

  • host.help.get

    Return the documentation section an anchor points at: its text (at most 4 KB) and its first fenced example. Pass an anchor exactly as an error, hint or help entry printed it, e.g. a rate_limited error's `anchor`. Read-only, anonymous, no tenant data. An unknown anchor is anchor_n

  • host.errors

    List every error code this host can return, each with its class (agent_fault | host_refusal | upstream_fault | plan_limit | host_fault), family, remedy, docs anchor, retryable flag and help_url -- the same object GET /errors.json serves. Pass code to get one row; a misspelt code

  • host.redeem

    Exchange a signup(handoff: true) handoff_token for the tenant key it was issued for. Single-use: a second redemption fails with handoff_token_redeemed; past its expiry it fails with handoff_token_expired. Unauthenticated -- the token itself is the proof.

  • billing.plans

    The plan catalog (price and quotas per plan) and whether Stripe billing is configured on this host. Anonymous callers get the same answer as tenants.

  • host.whoami

    Return the calling tenant's identity, including key_age_s and key_rotated_at for auditing credential hygiene.

  • host.tool_publish

    Publish a tool of a registered kind (e.g. python, http or echo; the kind argument's enum lists them all) under this tenant's namespace. Call host.quickstart(kind) first for a filled-in example spec and the full publish-to-call sequence. Python's sandbox API: import mcphost (mcpho

  • host.tool_call

    Invoke a tool this tenant has already published, by its local name -- the same real, metered call as calling it directly by its namespaced name ( . ), for a session that has no way to see its own namespaced tool name yet. Unlike host.tool_test, this counts toward host.usage and a

  • host.tool_test

    Dry-run a published tool by name: verdict (pass/will_fail/unverifiable), writes rolled back (dry_run); see host.quickstart.

  • host.state.set

    Write one key in this tenant's key-value state namespace; value may be any JSON value. Overrun of the plan's state_bytes_max quota fails with state_quota_exceeded and writes nothing.

  • host.state.get

    Read one key from this tenant's key-value state namespace. Returns found: false (not an error) if the key was never set.

  • host.state.list

    List keys (with their current values) in this tenant's key-value state namespace, optionally filtered by prefix.

  • host.tool_share

    Share one of this tenant's published tools with everyone (visibility: "public") or with a named group this tenant owns (visibility: "group", group: ). The tool keeps running in this tenant's own sandbox with this tenant's own secrets; a caller reaches it as . .

  • host.feedback.send

    Tell the host's humans what you needed: kind, up to 2048 bytes of text, optional context. Works before signup. Returns feedback_id.

  • host.feedback.list

    List your own feedback (newest first, status received). Anonymous callers get [].

  • host.resume

    Resume where you left off in one call (at most 4096 bytes): your tools with each one's last call status, unfinished runs, your newest notes, what changed on the host since your last call, and one suggested next_call. truncated names any section that was cut -- call that section's

基础检查i

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

  • ✓ 通过

    作者与仓库一致

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

  • … 尚未检查

    仍在维护

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

  • … 尚未检查

    有许可证

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

  • ✓ 通过

    端点有响应

    在 597 毫秒内响应(HTTP 200)

  • – 不适用

    使用 OAuth 登录

    无需登录

  • ✕ 未通过

    工具描述中没有隐藏指令

    有 1 个工具描述包含看起来像是对 AI 下指令的文字。安装前请先阅读下方的内容

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

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

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

常见问题

Mcphost 安全吗?

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

它需要哪些密钥或代码?

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

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

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

它还在维护吗?

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

哪些应用可以使用它?

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

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, TF Rooms

替代选择

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

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

TF Rooms

作者:tfrooms.com

Live room availability, rates and stay quotes for 12 New Leaf motels in Twin Falls, Idaho.

在云端运行今天更新
安装

作者的 README

打开 README

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

mcphost

where agents host their own tools · mcphost.dev · status · llms.txt · llms-install.md

Find it in the registry: dev.mcphost/mcphost — connect with the one-URL quickstart at mcphost.dev.

What it is

mcphost is a remote MCP server where your agent publishes its own tools. Your agent writes a tool mid-task, publishes it with one call, and keeps working: the tool is live with no restart and no deploy, and it outlives the conversation that built it. A schedule can fire it while you sleep, another agent can share it, and every run lands in a log you can read.

Under the hood, mcphost serve is one Rust binary that speaks streamable-HTTP MCP at a single endpoint. Everything is a tool call: publish, run, schedule, log, meter, store secrets, share with another agent, act as one of your end users over OAuth. There is no dashboard; /status is the one page, and the operator works through admin.* tools on the same endpoint.

Measured, not promised: p95 34.2 ms across 200 concurrent calls with zero errors, committed next to the test that produces it. The public site is mcphost.dev; the machine-readable summary at /llms.txt is generated from the same source as the quickstart below (docs/agent-quickstart.md, scripts/gen-agent-docs.sh).

Connect

Paste one line into your client and it has mcphost. Your agent's first call creates its account on that connection: no signup form, no key to paste.

Claude Code

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

Docs: https://code.claude.com/docs/en/mcp (checked 2026-10-09)

Cursor

Add to Cursor, or add https://mcphost.dev/mcp to your MCP config directly.

Docs: https://docs.cursor.com/en/tools/mcp (checked 2026-10-09)

VS Code

Add to VS Code, or add https://mcphost.dev/mcp to your MCP config directly.

Docs: https://code.visualstudio.com/api/extension-guides/ai/mcp (checked 2026-10-09)

GitHub Copilot in VS Code

{

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

Docs: https://code.visualstudio.com/docs/agent-customization/mcp-servers (checked 2026-10-21)

Claude.ai

  1. Open Settings, then Connectors, then Add custom connector.
  2. Name: mcphost
  3. Remote MCP server URL: https://mcphost.dev/login/mcp
  4. Save, then enable the connector in a chat to connect.

Docs: https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp (checked 2026-10-09)

ChatGPT

  1. Open ChatGPT, then Plugins, then Add.
  2. Choose Create custom MCP server.
  3. Name: mcphost
  4. MCP server URL: https://mcphost.dev/login/mcp
  5. Choose OAuth, then Create. On the consent page press Create a new workspace.

Docs: https://platform.openai.com/docs/mcp (checked 2026-10-09)

Codex CLI

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

Docs: https://developers.openai.com/codex/mcp (checked 2026-10-09)

Gemini CLI

gemini mcp add --transport http mcphost https://mcphost.dev/mcp

Docs: https://geminicli.com/docs/tools/mcp-server/ (checked 2026-10-09)

OpenCode

opencode mcp add mcphost --url https://mcphost.dev/mcp

Docs: https://opencode.ai/docs/mcp-servers/ (checked 2026-10-09)

Amp

amp mcp add mcphost https://mcphost.dev/mcp

Docs: https://ampcode.com/manual#mcp (checked 2026-10-09)

Goose

  1. In a Goose session, type /extension.
  2. Choose Add Remote Extension (Streamable HTTP).
  3. Name: mcphost
  4. Endpoint URL: https://mcphost.dev/mcp

Docs: https://goose-docs.ai/docs/getting-started/using-extensions/ (checked 2026-10-09)

Warp

  1. In a Warp agent session, type /agent-add-mcp.
  2. Paste this server config: {"mcphost":{"url":"https://mcphost.dev/mcp"}}
  3. Save; Warp starts the server and lists its tools.

Docs: https://docs.warp.dev/agents/capabilities/mcp/ (checked 2026-10-09)

Windsurf

{

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

Docs: https://docs.windsurf.com/windsurf/cascade/mcp (checked 2026-10-09)

Cline / Roo

{

"mcpServers": { "mcphost": { "type": "streamableHttp", "url": "https://mcphost.dev/mcp" } } }

Docs: https://docs.cline.bot/mcp/configuring-mcp-servers (checked 2026-10-09)

SDKs

{

"name": "mcphost", "type": "url", "url": "https://mcphost.dev/mcp" }

Docs: https://platform.claude.com/docs/en/agents-and-tools/mcp-connector (checked 2026-10-21)

See the live status page and the Acceptable Use Policy before you point production traffic at it. Plans and limits: plans / /plans.json (same numbers billing.plans returns, and docs/plans.md). Every error payload carries a help_url pointing at a generated /help/ page explaining it.

Support: support channel not configured (MCPHOST_SUPPORT_URL is unset).

Changes

Every release is a git tag, and every change is in CHANGELOG.md.

Ship an MCP tool, not a deployment project.

mcphost lets an agent create the tool it needs, mid-task, without a human in the loop: sign up with one unauthenticated tool call, publish with the next, and the new tool is live immediately — no restart, no deploy, no review queue.

Measured (panel run 0.26.3-20260908T085001Z, 21 sessions): median time from signup to a tenant's first successful host.tool.publish is 30.7s; median time from signup to a successful call on that tenant's own tool is 42.4s.

Quickstart for agents

  1. Connect to https://mcphost.dev/mcp -- paste that URL into your MCP client's config. No signup call, no credentials, nothing to paste into a header.
  2. Make your first call. host.quickstart() is read-only and hands back a worked example before you commit to anything; any other host.*/ billing.* call creates your tenant right then, on this connection, with no signup call at all -- host.whoami() is the simplest:
   host.whoami()
  1. Read onboarding.url once, in that same response, and save it -- it's this tenant's own address and its credential in one; reconnecting through it later is how you come back as this same tenant. onboarding.memory_hint names where agents conventionally keep it. Reconnect rule: a later call on this SAME connection without a key is refused, naming the tenant you already are (data.tenant on the tenant_key_missing response) -- it never creates a second tenant. Use onboarding.url for every call from here on.
  2. Publish a tool, reconnected through onboarding.url. host.quickstart()'s own starter_tool is a ready-to-publish python spec; its publish_call is exactly:
   host.tool_publish(name="table_note", kind="python", spec={"source": "import mcphost\n\ndef main(args):\n    mcphost.table.create(name='quickstart_notes', columns={'note': 'text'})\n    mcphost.table.append(table='quickstart_notes', rows=[{'note': args.get('note', '')}])\n    return {'appended': 1}\n"})

Three real kinds: submit code (python -- source required, args_schema/requirements inferred if omitted; js -- JavaScript source defining main(args), args_schema inferred if omitted) or wrap an API you already use (http -- url and method required, args_schema inferred if omitted). echo is a stub for testing the pipes, not a real tool. Before publishing anything, dry-run with host.tool_publish({..., dry_run: true}) -- every gate (secrets, env, network, deps, name, kind, spec size) reported at once, no tool row written -- or host.spec_test(kind, spec, invocations) for up to 5 example calls through the same sandbox a real call uses.

  1. Call it -- host.tool_test(name, args) dry-runs an already-published tool by name, or call it directly as . (its own entry in your tools/list):
   host.tool_test(name="table_note", args={"note": "hello"})

try_before_call: args may be omitted on host.tool_test -- the host then runs one example generated from the tool's own schema and returns it as example_args.

  1. Share it with a teammate: host.invite.create() returns an /i/ /mcp URL -- whoever connects there and makes their own first call gets a fresh tenant already in contact with you, with any tool names passed as share already shared (see "Share a tool, not a key" in www/llms.txt for sharing one tool while keeping its own key hidden):
   host.invite.create()
  1. Relay the claim link to your human: hand them onboarding.url and the sentence "Claim this backend so it belongs to you: ." Never print the personal URL or the key anywhere but that one handoff.

Also useful once you're past the first call: billing.plans()/ billing.status() for plan and quota; host.tool.list()/ host.tool.logs(name)/host.tool.remove(name)/host.usage(window) to inspect and manage; host.secret.set/host.secret.list() for credentials a published tool needs (secrets stored AES-256-GCM encrypted, with a separate plain env map alongside for everything that isn't one). Pass expose_spec: true on host.tool.share (or share names on host.invite.create) to also let a sharee read a tool's source, not just call it -- they read it with host.tool.spec_shared(tool=" . "); shared without expose_spec, the same call fails spec_not_exposed (see "Share a tool, not a key" in www/llms.txt for the full worked example). host.tool.share also takes scopes (what the grantee may do: call, read_source, fork; default ["call"]; url shares allow only call) and rate_per_hour_per_caller; a grantee with fork copies the tool with host.tool.fork(owner, tool, as), and after host.tool.unshare a past caller's next call fails share_revoked.

Explicit signup (clients that cannot keep a session)

A client that can't hold a persistent connection across calls -- so there is no session for mcphost to implicitly bind a tenant to -- signs up directly instead of relying on its first call to create one:

  1. Connect to the endpoint and call tools/list with no credentials. The only tool offered is signup.
  2. Call signup(name). The response contains tenant, key (a bearer token, shown once), namespace, endpoint, and claim_url. Signup is rate-limited to 5 per IP per hour. Pass source (e.g. signup(name, source: "hn")) to tag which channel this signup came from -- recommended values are hn, reddit, discord, registry, plugin, docs; it's echoed back in the response and broken out in admin healthz, but never required. If signups are paused (an operator's kill switch for an abuse spike), the call fails with signup_paused and a retry_after_secs; try again later. An operator pauses and resumes signups without a shell with the admin tool admin.signup_pause (message to pause, optional until; resume: true to

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

问 PopNx