mcpField
D
Dribba

Dribba

远程服务
dribba.com商业与营销010 周前更新

关于 Dribba

Dribba 提供访问其公开服务、案例、预算估算和页面内容的 API、SDK、CLI 与 MCP 服务,面向开发者和 Agent 使用。无需 API 密钥或账户,并提供 stdio 桥接以连接仅支持 stdio 的 MCP 客户端。

主要功能

  1. 01查询服务与案例
  2. 02估算项目预算
  3. 03自然语言提问
  4. 04获取页面 Markdown 与批量导出
  5. 05JavaScript、TypeScript 和 Python SDK
  6. 06提供沙盒数据与 CLI

适用场景

  1. 01比较移动应用服务与案例
  2. 02估算 iOS 和 Android 项目预算
  3. 03通过命令行检索网站信息
  4. 04从仅支持 stdio 的客户端连接 MCP

MCP 相关

Dribba 提供无需认证的远程 MCP 服务,分别用于产品操作和文档。此包还包含 stdio 桥接,将请求转发到远程服务并暴露其工具与资源。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://dribba.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmdribba1.1.0

工具

5
参数类型必填说明
limitinteger否要返回的服务的最大数量。省略时返回全部服务。

详细介绍

dribba

适用于 Dribba 公共 API 的官方 SDK 和 CLI。

无需 API 密钥、OAuth 或账户。 所有读取端点均公开。如果你在找凭据页面,那并不存在——请参阅 dribba.com/auth.md。

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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。