
Unlocalhost
io.github.info-arnav由 GitHub 账号 info-arnav 发布v0.1.1更新于 Oct 24, 2026
Deploy localhost to a private, authenticated link from your AI coding agent.
概览
一个 MCP 服务器,让编程助手把本地应用部署为需要登录、仅限指定访客访问的私有链接。
- 可以做什么
- 通过浏览器设备授权登录 unlocalhost 服务,令牌会自动保存供后续调用使用。让助手部署当前项目:使用你自己的 git 凭据推送代码,扫描已提交的密钥,然后构建并运行。指定谁可以打开已部署的应用,访客通过 GitHub 或 Google 登录,其已验证邮箱会与访客名单核对。管理已部署应用的共享与访问权限,移除某人后访问立即失效。可将工具指向自建的 unlocalhost 实例而非托管服务。
- 适用场景
- 适合用编程助手完成应用后,希望获得一个持久、仅受邀者可打开的网址,而不必自己编写认证或运行服务器的情况。也适合倾向自建部署服务的团队。
- 运行要求
- 通过 npx 从 npm 包在本地运行,需要 Node.js。首次需在浏览器中用 GitHub 登录。UNLOCALHOST_TOKEN 密钥通常由登录工具在设备授权后写入;UNLOCALHOST_URL 可选,用于指向自建实例。自建服务还需要带通配符 DNS 的域名、DNS 服务商 API 令牌、GitHub App 和 Google OAuth 客户端。
安装
在 SourceWeft 中
- 打开 控制台中的 Unlocalhost,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
unlocalhost
Turn localhost into a link only the people you name can open.
Sign in is built in, so you write no auth code and touch no servers.
The problem
Your coding agent can write the whole application. It cannot host it, because hosting needs a server, a domain, a certificate, and a login system. So people reach for whatever is fastest, and that is where things go wrong: a public URL with no sign in, an API key committed by accident, or auth bolted on at the end by someone who has never written auth.
unlocalhost closes that gap. You say one sentence to the agent you already have open, and you get back a real URL with a guest list in front of it.
How it works
- You add unlocalhost to your coding agent as an MCP server and sign in once with GitHub.
- You tell the agent to deploy, and name who is allowed in.
- Your agent pushes the code using your own git credentials. unlocalhost never holds write access to anything.
- We clone read only, scan for committed secrets and refuse to continue if we find any, then build and run it.
- Visitors sign in with GitHub or Google. Their verified email is checked against the guest list before the request ever reaches your app.
What makes it different
Quick start
Or in any MCP client config:
Then ask your agent to sign in to unlocalhost, and deploy.
Self hosting
The hosted service runs this exact code. Nothing is held back, there is no phone home, and no license check.
You need a domain with wildcard DNS, a DNS provider API token for wildcard TLS,
a GitHub App, and a Google OAuth client. The full walkthrough is in
docs/server-setup.md.
Architecture
Borrowed rather than built: Dokku and Nixpacks turn a repository into a running container, Caddy handles wildcard TLS. The novel part is small on purpose.
Security
- Apps are private until you name someone. Removing them revokes access at once.
- Every deploy is scanned for committed secrets and refused if any are found.
- Sign in is enforced at the edge, before a request reaches your app.
- Environment variables are encrypted at rest with AES 256 GCM.
- We hold read only access, and only to repositories you pick.
Found a vulnerability? Please follow SECURITY.md rather than
opening a public issue.
Contributing
Read CONTRIBUTING.md first. In short: every backend module
follows routes → controller → service → repository, code carries no comments,
and there are no test files. Verification is done by running things.
Licence
MIT. See LICENSE.
来源:README.md,提交 083d851
工具
0版本历史
1- v0.1.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分