Dribba
Officialdribba
面向 Dribba 公共 API 的官方 SDK 与 CLI。
无需 API 密钥、无需 OAuth、无需账户。 每个只读端点都是公开的。如果你在找凭据页面,那并不存在——参见 dribba.com/auth.md。
契约:https://dribba.com/openapi.json(OpenAPI 3.1)
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 可访问冻结的测试数据,而非生产环境。
Related MCP server: local-skills-mcp
MCP 服务器(stdio 桥接)
Dribba 的 MCP 服务器是远程的——通过 Streamable HTTP 位于 https://dribba.com/mcp。如果你的客户端只支持 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-freePython 客户端位于 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,或追加.md。整个站点 作为 OKF 捆绑包。
/ask— NLWeb:自然语言提问,返回逐字摘录。
Skills 与 Agent Plugins 清单
本仓库同时作为可移植的 Agent Plugin:
plugin.json the manifest
mcp.json the two remote MCP servers
skills/ seven SKILL.md files describing what dribba.com exposes将 skills 安装到你的 agent 中:
npx skills add dribbaengineering/dribbaskills/ 是生成的,来源于站点在 https://dribba.com/.well-known/agent-skills/ 提供的内容。请编辑站点,而不是副本——副本才是会漂移的东西。
要求
Node 20+。零依赖。
许可证
MIT。API 背后的数据采用 CC BY 4.0——请注明"Dribba"并链接来源 URL。
This server cannot be deployed
Maintenance
Related MCP Connectors
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
A registry of AI agent tools — MCP servers, APIs, CLIs, SDKs — kept current by automated ingestion.
Official MCP server for subfeed.app — the cloud for agents. 15+ tools for AI agents to register, build, and deploy other agents. Zero human required. Start here: subfeed.app/skill.md
Nifra docs, runnable examples, and API types as an MCP server for any AI assistant.
Related MCP Servers
FlicenseCqualityDmaintenanceAn open-source agent toolkit that auto-syncs SDK versions, docs, and examples—built for seamless integration with LLMs, and AI agents ( MCP compatible).448-- AlicenseAqualityAmaintenanceA universal MCP server that enables any LLM or AI agent to access expert skills from your local filesystem.3112 npm40MIT
- AlicenseNot gradedqualityDmaintenanceA powerful MCP server that brings the skills.sh ecosystem directly to your AI agents, enabling effortless discovery, installation, and management of skills.1MIT
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server that gives an LLM agent standalone-equivalent control over a Mineflayer Minecraft bot — movement, mining, crafting, inventory, combat, containers, chat, and much more — exposed as 110 strongly-typed tools across 23 groups, with full bot lifecycle management and dual (poll + push) event streaming.97 npm4MIT