关于 Dribba
Dribba 提供访问其公开服务、案例、预算估算和页面内容的 API、SDK、CLI 与 MCP 服务,面向开发者和 Agent 使用。无需 API 密钥或账户,并提供 stdio 桥接以连接仅支持 stdio 的 MCP 客户端。
主要功能
- 01查询服务与案例
- 02估算项目预算
- 03自然语言提问
- 04获取页面 Markdown 与批量导出
- 05JavaScript、TypeScript 和 Python SDK
- 06提供沙盒数据与 CLI
适用场景
- 01比较移动应用服务与案例
- 02估算 iOS 和 Android 项目预算
- 03通过命令行检索网站信息
- 04从仅支持 stdio 的客户端连接 MCP
MCP 相关
Dribba 提供无需认证的远程 MCP 服务,分别用于产品操作和文档。此包还包含 stdio 桥接,将请求转发到远程服务并暴露其工具与资源。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://dribba.com/mcpclaude mcp add --transport http com-dribba-dribba https://dribba.com/mcp{"mcpServers":{"com-dribba-dribba":{"type":"http","url":"https://dribba.com/mcp"}}}在 Cursor 中打开{"servers":{"com-dribba-dribba":{"type":"http","url":"https://dribba.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-dribba-dribba":{"type":"http","url":"https://dribba.com/mcp"}}}{"mcpServers":{"com-dribba-dribba":{"serverUrl":"https://dribba.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
5| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 要返回的服务的最大数量。省略时返回全部服务。 |
详细介绍
dribba
适用于 Dribba 公共 API 的官方 SDK 和 CLI。
无需 API 密钥、OAuth 或账户。 所有读取端点均公开。如果你在找凭据页面,那并不存在——请参阅 dribba.com/auth.md。
- 参考文档:https://dribba.com/docs
- 契约:https://dribba.com/openapi.json(OpenAPI 3.1)
- 开发者门户:https://dribba.com/developers
CLI
无需安装:
npx dribba services --table
npx dribba cases --limit 3 | jq -r '.items[].slug'
npx dribba estimate --platforms ios,android --complexity complex
npx dribba ask "flutter migration"
npx dribba markdown /servicios
npx dribba --help
添加 --sandbox,即可访问冻结的测试数据,而不是生产环境。
MCP 服务(stdio 桥接)
Dribba 的 MCP 服务是远程服务——通过 https://dribba.com/mcp 提供 Streamable HTTP。如果
你的客户端只支持 stdio,此软件包提供了桥接程序:
{
"mcpServers": {
"dribba": { "command": "npx", "args": ["-y", "dribba-mcp"] }
}
}
npx dribba-mcp # product surface: 5 tools + llms.txt resources
npx dribba-mcp --docs # documentation surface: 4 tools
它只转发 JSON-RPC,不做其他处理,因此工具、资源和协议版本都以服务声明为准——不会有第二套实现 逐渐偏离。如果你的客户端支持 Streamable HTTP,请跳过桥接程序,直接连接该 URL。
已通过官方 @modelcontextprotocol/sdk 在 stdio 上验证:connect、
tools/list、tools/call、resources/list、resources/read。
SDK
npm i dribba # JavaScript / TypeScript
pip install dribba # Python 3.9+, same methods, also dependency-free
Python 客户端位于 python/,并以
dribba 的名称发布到 PyPI。
import { Dribba } from "dribba";
const dribba = new Dribba();
const { items, total, next_cursor } = await dribba.services({ limit: 5 });
const study = await dribba.case("cityxerpa");
const budget = await dribba.estimate({ platforms: ["ios", "android"] });
// Whole collections, following the cursor for you
for await (const job of dribba.paginate("/api/v1/jobs")) {
console.log(job.title);
}
错误
每个 4xx/5xx 响应都会抛出 DribbaError。请根据 code 分支处理——它是稳定的。title
和 detail 是文本描述,措辞可能会调整。
import { DribbaError } from "dribba";
try {
await dribba.service("nope");
} catch (error) {
if (error instanceof DribbaError && error.code === "resource_not_found") {
console.log(error.resolution); // what to do next, from the server
}
}
速率限制
每个 IP 每 60 秒最多 120 个请求。每次调用后,dribba.rateLimit 都会保存上一响应公布的限制信息,
因此你可以自行限速,而不必触发 429:
await dribba.company();
console.log(dribba.rateLimit); // { limit: 120, remaining: 118, reset: 47 }
沙盒
使用与生产环境相同数据结构的冻结测试数据。它很有用,因为断言“有 9 个服务”的测试会在我们发布第十个服务时失效——而使用沙盒则不会。
const sandbox = new Dribba({ sandbox: true });
const services = await sandbox.services(); // services.sandbox === true
幂等性
任何 POST 请求都可使用 Idempotency-Key。相同的键和相同的请求正文会重放已存储的响应;相同的键搭配不同的正文则会返回 400。
await dribba.estimate(input, { idempotencyKey: crypto.randomUUID() });
Markdown 和异步导出
获取任意页面的 Markdown,或通过一次请求导出多个页面:
const page = await dribba.markdown("/servicios");
const job = await dribba.startExport(["/", "/precios", "/servicios"]);
await dribba.waitForExport(job.id);
const everything = await dribba.exportResult(job.id);
导出任务存储在单个服务实例的内存中,并会在 15 分钟后过期;轮询时收到 404,意味着请求到达了另一个实例,而不是任务丢失。
REST API 之外
- MCP——两个通过 Streamable HTTP 提供的远程服务,无需身份验证:
https://dribba.com/mcp(操作)和https://dribba.com/docs/mcp(文档)。 请参阅 https://dribba.com/developers/mcp。 - 任意页面的 Markdown——使用
Accept: text/markdown,或在 URL 后追加.md。 - 整个网站,以 OKF 包的形式提供。
/ask——NLWeb:用自然语言提问,并返回原文段落。
技能和 Agent 插件清单
此代码仓库也可作为可移植的 Agent Plugin:
plugin.json the manifest
mcp.json the two remote MCP servers
skills/ seven SKILL.md files describing what dribba.com exposes
将技能安装到你的 Agent 中:
npx skills add dribbaengineering/dribba
skills/ 是根据网站在 https://dribba.com/.well-known/agent-skills/ 提供的内容生成的。请编辑网站,而不是副本——副本会逐渐偏离。
要求
Node 20+。零依赖。
许可证
MIT。API 背后的数据采用 CC BY 4.0 许可——请注明“Dribba”并链接到来源 URL。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。