关于 pit.world MCP server
pit.world 是面向 Agent 和其他 MCP 客户端的 stdio MCP 服务,支持私密网页搜索和 Moshpit 名称查询。它合并多个网页索引结果,并提供商家目录和 Moshpit 网络工具,无需 API 密钥。
主要功能
- 01搜索合并后的网页结果
- 02解析 Moshpit 名称
- 03浏览商家信息
- 04搜索专业服务目录
- 05查看网站环信息
- 06编辑本人认领的商家信息
适用场景
- 01通过 Agent 搜索网页
- 02解析 Moshpit 名称
- 03按类别或地点查找商家
- 04更新已认领的商家信息
MCP 相关
stdio MCP 服务提供搜索、Moshpit 名称解析与网络信息、商家列表和专业服务目录工具、网站环数据及商家信息编辑,无需 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
pit.world
私密搜索,以及 Moshpit 网络的入口。
用于私密网页搜索的 MCP 服务。 pit mcp 是一个标准输入输出形式的 Model Context Protocol 服务,可为任何 Agent(Claude、Cursor 以及任何 MCP 客户端)提供无需 API 密钥、不会记录日志的网页搜索,以及 Moshpit 名称查询。它已收录在官方 MCP Registry 中,名称为 world.pit/pit。
pit.world 是一个不会保存任何关于你的信息的搜索引擎:不记录查询日志、不使用 Cookie、不建立用户画像、不设追踪器,也不需要 JavaScript。它也是 Moshpit 网络公开展示的地方:输入 chovy.hacker 这样的 Moshpit 名称,它就会通过注册表解析,并与你的网页搜索结果一同显示。
# the web
https://pit.world/search?q=anything
# the CLI and TUI
bun add -g pitworld
pit search "private search engines"
pit resolve chovy.hacker
pit # interactive
# your agent
claude mcp add pit -- pit mcp
MCP 服务
claude mcp add pit -- bunx pitworld mcp
{ "mcpServers": { "pit": { "command": "bunx", "args": ["pitworld", "mcp"] } } }
工具:
search:私密网页搜索(合并 Google 和 Bing 的索引),返回标题、URL 和摘要。moshpit_resolve:解析chovy.hacker等 Moshpit 名称,查看其指向的位置。moshpit_network:Moshpit 网络的实时数据。listing:按域名查询商家名录信息(运营方、类别、服务区域、服务、价格、营业时间、订阅源、ring 成员资格)。pros:按类别、地点和关键词搜索专业人士名录。ring:按顺序列出 pit.world 网环中的网站。edit_listing:使用编辑密钥修改你拥有的名录条目。
无需密钥。PIT_URL 用于将其指向另一个 pit.world 实例(默认值为 https://pit.world)。
功能
- 私密网页搜索。 你的浏览器只与 pit.world 通信。pit.world 同时查询 Google 索引(通过 Serper)和 Bing 索引(通过 DataForSEO),合并两个结果列表,并为每条结果标记其来源引擎。服务提供商会收到搜索词,但不会收到你的 IP、浏览器信息、Cookie 或来源页。若两者均失败,则使用 Linkup、Exa 和 Perplexity 作为后备。
- Moshpit 名称。 对于形式类似
label.ending的查询,系统会在 Moshpit 注册表中查找;已注册的名称会显示一张卡片,标明其指向的位置。 - 搜索快捷指令。
!gh hqtui、rust lifetimes !so、!pit chovy.hacker:直接跳转到相应网站的搜索,无来源页。完整列表见 pit.world/about#bangs。 - 默认搜索引擎。 OpenSearch 描述文件位于
/opensearch.xml,搜索建议位于/suggest;任何浏览器都可使用https://pit.world/search?q=%s。
商家名录、专业人士名录和网环
- 商家信息页(
/b/<domain>)。 每个网站都有一个。所有者通过 DNS TXT 记录或首页 meta 标签认领,并获得一个编辑密钥(pitk_…,仅显示一次,以哈希形式存储)。所有者填写运营者信息(Agent 或个人的账号,例如[email protected],或指向 OpenAgent 记录或个人资料的 https 链接)、公司及其网站、类别、服务区域(自由文本加城市、地区、国家)、服务项目、价格范围、营业时间、电话和链接。 - 由 pit.world 收录(预先录入)。 在所有者认领之前,pit.world 可以根据公开记录自行收录商家:商家自己的网站、在发证机构处核实为有效的州级执照(例如加州承包商的 CSLB),以及商家在自己网站上公布的电话号码。绝不使用电子邮箱地址,也绝不引用转接电话;页面会注明该信息尚未认领且由 pit.world 撰写,可被索引,并带有“这是您的商家吗?立即认领”按钮。认领后,信息移交给所有者(pit.world 不会再修改),所有者也可以在编辑页面将其移出目录。预先录入会在服务器上针对
listings.db运行:bun src/admin.ts seed FILE.json(一个包含{domain, name, description, phone, category, area, city, region, country, services, links, license, licenseCheckedAt, featured}的数组)、bun src/admin.ts unseed DOMAIN、bun src/admin.ts views。 - OpenProfile(
/b/<domain>/openprofile.md)。 目录中的每条商家信息也都是一个Kind: organization类型的 OpenProfile.md:网站、类别、位置、服务区域、电话、执照、服务项目、链接,以及所有者是否已认领。可通过商家信息页上的<link rel="openprofile">和Link响应头找到;GET /api/pros会为每条信息提供其openprofileURL。OutreachGraph 会将它们用作潜在客户来源。 - 浏览量。
/b/<domain>会统计目录中各商家信息页的人类访客浏览量(不计爬虫、链接预览和脚本);GET /api/listing中的计数项为views。 - 专业服务目录(
/pros、/pros/<category>)。 可浏览已认领和由 pit.world 收录的商家信息,分类采用固定列表(家居服务、法律、会计、软件和开发机构、医疗等:GET /api/pros/categories),并可按关键词和地点搜索。优先显示少量精选信息(编辑推荐,绝不出售),然后是按最近编辑时间排序的已验证所有者信息,最后是尚未认领的信息。没有付费推广,且 v1 不提供评价:没有可作为评价依据且商家无法伪造的身份,因此宁可不提供评价,也不提供可以购买的评价。 - 报价请求。 已确认私人地址的商家信息会显示“请求报价”表单。pit.world 会从
[email protected]向所有者发送邮件,并将发件人设为 Reply-To;所有者地址绝不会显示、发送或由 API 返回。地址只有在所有者点击发送到该地址的邮件中的链接后才会生效,因此商家信息无法将 pit.world 的邮件发送给其他人。每个请求对应一条商家信息;每位访客每小时最多三条请求(仅在内存中保存 HMAC 处理后的 IP),每条商家信息每小时最多五条、每天最多二十条,全站每天最多四百条;设有蜜罐字段;含有三个以上链接的消息会被拒绝。pit.world 不保留副本:只记录时间,用于计数。 - pit.world 环网(
/ring)。 **仅限*.pit.world网站:**先列出核心网站(pit.world、seo.rank、family.ancestry 等),再按加入顺序列出所有已认领且属于 pit.world 子域名或 Moshpit 名称的商家信息(通过<name>.pit.world转发)。对于这些信息,认领即加入,所有者可以在编辑页面退出。使用自己的 ICANN 域名的商家可以认领其信息并出现在 /pros 中,但绝不会成为环网成员(src/pros.ts中的ringEligible)。跳转接口:/ring/next|prev|random?from=<site>(也接受?host=、?url=、?via=或 Referer),返回302并带有no-store;/api/ring用于自行绘制导航栏的成员;/ring/opml提供每位成员的订阅源。验证页面和编辑页面会显示可复制粘贴的链接。 - 同步到 rssamplifier.com。 pit.world 会在网站认领时以及每天读取每个已认领网站的首页,查找
<link rel="alternate">RSS/Atom,并同步更新 rssamplifier.com/ring/pit-world 上的pit-world环网:提交新的订阅源、添加成员、移除已退出的成员。同步采用差异比对(幂等),会在认领或编辑后几秒内运行一次,并每天运行一次;需要设置RSSAMPLIFIER_API_KEY(环网所属账号的 rssamplifier API 密钥;未设置时会关闭同步)。仅 Moshpit 名称不会同步,因为 rssamplifier 无法访问它们。新认领的信息也会作为订阅源提供:/b/feed.xml。
推广活动:先推广,再展示成果
推广活动会列出并推广 OutreachGraph 活动所针对的商家,衡量推广在各自 30 天窗口内为每家商家带来的效果,然后才带着数据联系他们。Los Gatos 建筑商活动就是这样开展的(pit.world/roundup/los-gatos-builders)。
- 导入。
scripts/outreachgraph-campaign-export.sh cmp_...会写入完整的 OutreachGraph 活动只读快照(OutreachGraph 没有列出每位成员及其地址的 API)。pit promo import ID snapshot.json会为每条来源记录指定且仅指定一种处置方式(已匹配、合并到同一商家、未解决、已排除),且总数必须相符。同一域名下的线索属于同一家商户,并保留其所有线索 ID。重新导入相同快照不会改变任何内容;只有完整快照才能将商户标记为已离开(其商家页面保留,优先级取消)。没有社交资料的商户也会保留。 - 先看名册。
pit promo roster ID:线索 ID、商户、网站、商家页面、验证情况、计划操作。当商家页面已列入目录,包含名称、类别、地点、描述和已核验的来源(在签发方处核验的许可证,或所有者声明)时,成员即可发布。 - 外联暂停。 只有上游所有可能向成员发送信息的途径都已暂停时,成员才会启动:每条线索都必须在 OutreachGraph 中被屏蔽(加入
los-gatos-promotion-hold屏蔽名单),或只加入需要等待批准的活动。否则会被阻止并说明原因;操作员可以证明已暂停(pit promo set ID DOMAIN --attest TEXT)。 - 优先级。 运行中活动的已验证成员会在
/pros中优先显示;此优先级在 SQL 中、分页前、筛选后应用,因此各页面、API 和移动视图的结果一致。关闭优先级或停止活动不会影响商家页面。活动成员身份绝不会公开显示。 - 汇总和焦点推荐。
pit promo preview ID会显示所有计划发布内容及其文本、时间和版本;pit promo launch ID --version V会发布/roundup/<slug>并创建日历:立即发布一则汇总公告,随后在已配置账号上为每家商户发布一则焦点推荐,每个账号每天发布perAccountPerDay条,从当地时间postHour开始。pit promo worker ID(在 myna 已登录的环境中运行)会使用myna post <account> --front发布到期内容;发布前,它会按跟踪 ID(?via=plc_...)将每条内容与 myna 的历史记录和队列核对,确保崩溃后不会重复发布,并通过社交网络的公共 API 验证每条内容(BlueskygetPostThread、Mastodonstatuses)。已排期不等于已发布,已发布不等于已验证;只有已验证的内容才计入统计。LinkedIn 没有公共读取接口,因此其内容永远不会计入统计。对于 myna 每发布一条内容就会购买 CrawlProof 广告的网络账号,将拒绝发布:推广采用自然流量,付费预算默认为零。 - 衡量。 商家页面浏览量、网站点击(
/b/<domain>/go,仅重定向到商家页面所属网站)、电话点击(通过/listing.js发送信标,并按其 ID 去重)、报价请求和汇总页面浏览量(按活动统计,绝不归功于单个商户)。爬虫、链接预览、预取请求、PIT_INTERNAL_IPS和标记测试(?pt=test)均会存储为已排除。不会记录 Cookie、IP 或用户代理:访客会被哈希处理,所用盐值会在该 UTC 日期结束时删除,因此可以统计“访客日”,但无法统计某个时间段内的独立访客(会报告为不可用)。只统计活动中的商户。 - 统计周期。 每家商户的统计周期从以下条件全部满足时开始:商家页面已上线、跟踪功能通过标记测试(
pit promo test-tracking ID),且一条提及该商户的发布内容已验证;周期持续periodDays(30)个完整天。每小时运行的任务会将已结束的统计周期标记为到期,并为每个周期创建一项审核任务(重启不会重复创建),生成带版本号的报告和一份草稿。后续新增的商户会有自己的统计周期;周期空档会被记录(pit promo gap),不会通过调整日期来掩盖。 - 报告。 报告按版本私有保存并冻结(
pit promo report ID --md);可通过/r/<token>分享(HTML、.md、.json),不包含操作员的成本。不可用不等于零。迟到的数据会生成新版本,并使引用旧版本的未发送草稿失效。pit promo csv ID用于比较活动数据。 - 草稿和发送。 每份报告都会根据自身数据生成一份草稿:没有联系记录时使用介绍信,有联系记录时则使用跟进信;如果没有测量结果,会如实说明;没有地址时会阻止发送。发送功能在
sendAuthorized启用前保持关闭;deliver会在发送时重新核验统计周期、报告版本和上游屏蔽状态(状态未知即不发送),并确保每位收件人、每个消息版本及每个统计周期最多发送一次。 - 使用入口。 API
/api/v1/promotion/*(BearerPIT_ADMIN_TOKEN)、仪表板/admin/promo(已登录的 pit.world 管理员)、pit promo ...、pit promo tui ID,以及设置了PIT_ADMIN_TOKEN后可用的promo_*MCP 工具。
一个账号畅用所有 pit.world 站点:social. 和 bbs.
每个 Moshpit 名称都会自动获得另外两个地址,无需进行任何设置:
social.<name>.pit.world:该名称的社交动态。显示来自 AT Protocol 网络、带有该名称所属领域标签的帖子(family.ancestry会关注 #genealogy、#familyhistory、#ancestry 等),同时从所有可连接的中继读取帖子(Bluesky 的中继以及独立中继:atproto.africa、relay.fire.hose.cam、relay.upcloud.world、relay.waow.tech),也会显示成员发布的帖子。每个站点也是一个 AT Protocol 动态生成器(did:web:social.<name>.pit.world)。它由 pit-social 服务提供;pit.world 会将该主机转发到此服务。bbs.<name>.pit.world:该名称的公告栏,这是一个 tsbb 论坛,会在首次访问时创建(deploy/pit-bbs-provision),使用独立数据库,预先创建论坛,并将 pit.world 管理员设为管理员。
两个站点都使用用户的 pit.world 账号进行登录:在 pit.world/signin 使用 CoinPay(OAuth 2.1,code + PKCE)登录一次,此后所有论坛和动态都会通过 pit.world(/bridge/authorize、/bridge/token、@profullstack/bridges)为你登录;如果你已经登录,则会静默完成。无需为每个站点单独创建账号。/account 会显示你使用的站点、CLI 令牌、退出登录和删除账号选项。
- 站点的客户端 ID 即其主机名;其密钥为
base64url(HMAC-SHA256(PIT_BRIDGE_KEY, host)),因此新名称一经创建即可使用,无需手动注册站点。PIT_BRIDGE_CLIENTS可添加精确匹配的额外主机(我们在中继上的自有应用)。 - 账号仅通过 CoinPay
sub(用户的 CoinPay DID)关联,绝不会通过电子邮件关联(CoinPay 报告的所有电子邮件地址都未经验证)。 - CLI:
pit login(OAuth 2.1、公有客户端、环回重定向、PKCE S256、RFC 8252)、pit whoami、pit logout、pit social <name>、pit bbs <name>。API:使用Authorization: Bearer pw_…请求GET /api/v1/me。 - **证书:**每个名称使用一个 Let's Encrypt 证书,覆盖
<name>、social.<name>和bbs.<name>(deploy/pit-proxy-cert)。 - 设置:
PIT_COINPAY_CLIENT_ID、PIT_COINPAY_CLIENT_SECRET(CoinPay 客户端,回调地址为https://pit.world/api/v1/coinpay/oauth/callback)、PIT_BRIDGE_KEY、PIT_ADMIN_SUBS、PIT_SOCIAL_URL(默认值为http://127.0.0.1:8794,off)、PIT_BBS(off)、PIT_BBS_MAX(默认值为 100)。
从设计上保障隐私
- nginx 不会为该站点写入任何访问日志(
bin/install.conf中的ACCESS_LOG=off),应用也不会记录任何单次请求的日志。 - **不通过 Cookie 搜索。**服务器会从所有响应中剥离
Set-Cookie,只有登录和账号路由例外;它们仅在你点击“登录”后才会设置 Cookie。 - 限流使用每小时重新生成的密钥对 IP 进行 HMAC 计算,且仅保存在内存中。
- 完全相同的搜索会缓存十分钟,且仅保存在内存中,以免重复付费;缓存仅包含词语和结果,不包含搜索者的任何信息,也绝不会写入磁盘。
- 严格的 CSP(
default-src 'none',仅允许同源脚本和样式)、Referrer-Policy: no-referrer,结果链接直接指向相应站点。
页面也用通俗的语言说明了这些内容:pit.world/privacy。
API
GET /api/search?q=…&n=10 | { query, provider, cached, results: [{ url, title, description, host }], moshpit } |
GET /api/resolve?name=chovy.hacker | 注册表对 Moshpit 名称的响应 |
GET /api/network | 已认领的后缀、注册表事件、近期认领记录、待售后缀 |
GET /api/bangs | 所有 bang |
GET /api/listing?domain=… | 一个目录条目(绝不包含所有者的联系地址) |
POST /api/listing/claim · POST /api/listing/verify | 认领目录条目;编辑密钥只会返回一次 |
POST /api/listing | 使用 Authorization: Bearer pitk_… 编辑;contactEmail 用于设置私密报价邮箱("" 可清除) |
POST /api/listing/quote | { domain, name, email, phone?, message }:向一个目录条目发送一条报价请求 |
GET /api/pros?c=legal&near=oakland&q=wills&n=20&page=1 | 专业人士目录 |
GET /api/pros/categories | 类别(含计数)和价格区间 |
GET /b/<domain>/openprofile.md | 以 OpenProfile.md 格式呈现的目录条目(Kind organization) |
GET /api/ring | 网络环,按顺序排列 |
无需密钥。按访客进行速率限制(超限时返回 429 和 Retry-After)。
界面
基本原则:所有内容都提供 TUI、CLI、MCP 和 API。
| Web + API | bun src/server.ts(PORT、HOST;新闻简报和报价请求需要 RESEND_API_KEY;网络环镜像需要 RSSAMPLIFIER_API_KEY(以及可选的 RSSAMPLIFIER_URL、RSSAMPLIFIER_RING);搜索提供商密钥 SERPER_API_KEY、DATAFORSEO_LOGIN + DATAFORSEO_PASSWORD(Bing)、LINKUP_API_KEY、EXA_API_KEY、PERPLEXITY_API_KEY) |
| CLI | pit search、pit resolve、pit network、pit open、pit listing、pit claim、pit verify、pit edit DOMAIN --key … --operator … --category …、pit pros [WORDS] --category … --near …、pit categories、pit quote DOMAIN --name … --email … --message …、pit ring |
| TUI | pit |
| MCP | pit mcp:工具 search、moshpit_resolve、moshpit_network、listing、pros、ring、edit_listing。在官方 MCP Registry 中注册为 world.pit/pit(server.json) |
| PWA | 可从任何浏览器安装(/manifest.webmanifest,可通过分享目标跳转至 /search);public/sw.js 中的 worker 会缓存静态外壳和离线页面,但不会缓存搜索结果 |
CLI、TUI 和 MCP 会连接到 https://pit.world(或 PIT_URL),因此无需密钥。
自行运行
git clone https://github.com/moshcoder/pit.world && cd pit.world
bun install
SERPER_API_KEY=… bun src/server.ts # http://127.0.0.1:8787
生产环境通过裸机运行 bin/install.sh(OpenInstall):nginx + Let's Encrypt + 运行 bun 的 systemd 单元。
Moshpit 网络
Moshpit 是 ICANN 之外的一个命名空间。任何人都可以认领一个后缀(.hacker、.eggs、.pit),在其下创建名称并将其指向任何位置;注册表开放且只追加,并会签署证书,因此网络上的任何人都能访问这些名称对应的真实 HTTPS 网站。可通过 moshcode(运行 curl -fsSL https://moshcoding.com/install.sh | sh,然后运行 moshcode dns enable)接入,也可将浏览器的安全 DNS 设置为 https://dns.moshcode.sh/dns-query。所有接入方式(moshcode、TronBrowser、浏览器 DoH、Apple 配置描述文件、Windows、Android)以及如何信任 Moshpit Root CA,均见 pit.world/connect;pit.world 在 /moshpit-root-ca.crt 提供根证书,在 /moshpit.mobileconfig 提供 Apple 配置描述文件。在 pit.moshcode.sh 认领后缀。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。