auxiliar-mcp 0.13.2 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -127,7 +127,8 @@
127
127
  "choose_if": "You need enterprise-grade hosted search with the best ecosystem, InstantSearch UI widgets, and sub-millisecond query times.",
128
128
  "avoid_if": "You're cost-sensitive at scale or want to self-host — use Typesense or Meilisearch instead.",
129
129
  "page_url": "https://auxiliar.ai/service/algolia/",
130
- "external_homepage": "https://algolia.com"
130
+ "external_homepage": "https://algolia.com",
131
+ "provenance": "hand-curated"
131
132
  },
132
133
  {
133
134
  "id": "anthropic",
@@ -261,7 +262,115 @@
261
262
  "choose_if": "You need the best coding quality, long-context analysis, safety, and strongest privacy commitments.",
262
263
  "avoid_if": "You need the broadest third-party ecosystem, image generation, or plugin support.",
263
264
  "page_url": "https://auxiliar.ai/service/anthropic/",
264
- "external_homepage": "https://www.anthropic.com"
265
+ "external_homepage": "https://www.anthropic.com",
266
+ "provenance": "hand-curated"
267
+ },
268
+ {
269
+ "id": "api-to-agent-cli",
270
+ "element_type": "task_template",
271
+ "name": "Print an agent-native CLI for any API — what to install, with the recipe",
272
+ "description": "How to give an AI agent a token-efficient CLI for any API. Install Printing Press, run /printing-press <api>, and the generator emits a Go CLI + Claude Code skill + OpenClaw skill + MCP server — sharing one local SQLite mirror with FTS5 search, compound commands, and --compact token compression. Plus when to use this vs. a hand-built MCP for regulated-auth or narrow-JTBD APIs.",
273
+ "jtbd_tags": [
274
+ "api-to-cli-for-agents",
275
+ "generate-agent-tooling-from-spec",
276
+ "print-agent-cli",
277
+ "api-to-mcp-server",
278
+ "claude-code-skill-from-api",
279
+ "token-efficient-agent-tooling",
280
+ "openclaw-skill-from-api",
281
+ "api-to-agent-toolkit"
282
+ ],
283
+ "aliases_search": [
284
+ "print agent CLI from API",
285
+ "api to agent cli",
286
+ "generate MCP from API",
287
+ "api to claude code skill",
288
+ "I need to give my AI agent a CLI for some API I use",
289
+ "how to expose a third-party API to Claude Code as a skill or MCP server",
290
+ "generate a Claude Code skill from an OpenAPI spec or website",
291
+ "factory that prints token-efficient CLIs for AI agents from API specs",
292
+ "what tool generates a Go CLI plus MCP server plus Claude Code skill from one spec",
293
+ "alternative to writing my own MCP server from scratch for an internal API",
294
+ "turn a third-party API into an agent-native tool with local cache and compound queries",
295
+ "automatic generation of MCP server from OpenAPI or HAR file",
296
+ "print a CLI for Linear or GitHub or Discord that an agent can use efficiently",
297
+ "como expor uma API ao Claude Code como MCP server",
298
+ "gerador de CLI para agente de IA a partir de OpenAPI"
299
+ ],
300
+ "categories": [
301
+ "agent-tooling",
302
+ "cli-generation",
303
+ "api-tooling",
304
+ "task-template",
305
+ "developer-tools"
306
+ ],
307
+ "works_with": [
308
+ "claude-code",
309
+ "claude-desktop",
310
+ "cursor",
311
+ "openclaw",
312
+ "windsurf"
313
+ ],
314
+ "fit_by_agent": {
315
+ "claude-code": true,
316
+ "claude-desktop": true,
317
+ "cursor": true,
318
+ "openclaw": true
319
+ },
320
+ "evals": [
321
+ {
322
+ "method_id": "auxiliar-api-to-agent-cli-documented-characteristics-v1",
323
+ "score": 7.5,
324
+ "score_breakdown": {
325
+ "candidates_ranked": 1,
326
+ "output_format_breadth": 10,
327
+ "token_efficiency_top_pick": 9,
328
+ "data_layer_top_pick": 9,
329
+ "pending_corpus_run": 0
330
+ },
331
+ "corpus_id": "auxiliar-api-to-agent-cli-corpus-v1-pending",
332
+ "last_run": "2026-05-09",
333
+ "candidates_outranked": 4
334
+ }
335
+ ],
336
+ "cost": {
337
+ "type": "free",
338
+ "free_tier": "The /solve/ page itself is free editorial content. Printing Press is MIT-licensed; no commercial tier today.",
339
+ "hidden_costs": [],
340
+ "cost_per_unit": {}
341
+ },
342
+ "pricing_tiers": [],
343
+ "compliance": [],
344
+ "risks": [],
345
+ "deps": {
346
+ "requires": [],
347
+ "composes_with": [
348
+ "printing-press",
349
+ "auxiliar-mcp"
350
+ ],
351
+ "conflicts": []
352
+ },
353
+ "last_verified": "2026-05-09",
354
+ "verification_method": "auxiliar-api-to-agent-cli-documented-characteristics-v1",
355
+ "alternatives_considered": [
356
+ {
357
+ "name": "Speakeasy / Fern / openapi-generator",
358
+ "dropped_because": "OpenAPI generators wrap endpoints but don't generate the data layer (SQLite mirror, FTS5 search, compound commands) and don't emit agent-native UX (typed exit codes, --compact, auto-JSON-when-piped). Right call when the goal is server-stub or client-SDK; wrong call when the goal is \"agent-native CLI for an existing API.\""
359
+ },
360
+ {
361
+ "name": "Write a custom MCP server from scratch",
362
+ "dropped_because": "Right call when (a) the underlying API has a regulated auth flow that needs custom integration (e.g. Cumbuca's biometric Open Finance consent), (b) the agent only needs a narrow slice of endpoints, or (c) you need domain-specific compound logic the generic generator can't infer. Wrong call when wrapping a public API the generator already understands."
363
+ },
364
+ {
365
+ "name": "discrawl / gogcli (deep, hand-curated CLIs)",
366
+ "dropped_because": "Best in class for one specific API (gogcli for Google Cloud, 10K stars, beat Google's own tool because depth-of-understanding > breadth-of-coverage). Doesn't scale across many APIs. Printing Press explicitly credits these as inspiration and ports their depth-first patterns into a generator that does breadth too."
367
+ }
368
+ ],
369
+ "compared_to": [],
370
+ "choose_if": "You're a developer (or agent acting on a developer's behalf) needing to expose an API to an AI agent — and no high-quality MCP server or skill for that API already exists in auxiliar.ai's catalog or elsewhere. Best fit when the API is large + public + the agent will hit it iteratively.",
371
+ "avoid_if": "A curated MCP server or skill already exists for the API in question (check via find_capability first). Also avoid for one-shot read calls where local SQLite mirror setup costs more than it saves, or when the agent's host environment doesn't have Go available.",
372
+ "page_url": "https://auxiliar.ai/solve/api-to-agent-cli/",
373
+ "provenance": "hand-curated"
265
374
  },
266
375
  {
267
376
  "id": "auth0",
@@ -396,7 +505,8 @@
396
505
  "choose_if": "You need enterprise compliance (HIPAA, FedRAMP, SAML, LDAP) and have the budget for it.",
397
506
  "avoid_if": "You're a startup on a budget or you don't need enterprise compliance features.",
398
507
  "page_url": "https://auxiliar.ai/service/auth0/",
399
- "external_homepage": "https://auth0.com"
508
+ "external_homepage": "https://auth0.com",
509
+ "provenance": "hand-curated"
400
510
  },
401
511
  {
402
512
  "id": "authjs",
@@ -511,7 +621,8 @@
511
621
  "choose_if": "You have an existing NextAuth v4 project you need to maintain — do NOT start new projects with Auth.js.",
512
622
  "avoid_if": "Starting a new project — Auth.js is in maintenance mode. Use Better Auth instead.",
513
623
  "page_url": "https://auxiliar.ai/service/authjs/",
514
- "external_homepage": "https://authjs.dev"
624
+ "external_homepage": "https://authjs.dev",
625
+ "provenance": "hand-curated"
515
626
  },
516
627
  {
517
628
  "id": "auxiliar-cnpj-fetch",
@@ -605,12 +716,17 @@
605
716
  },
606
717
  "install": {
607
718
  "primary": {
608
- "install_command": "claude mcp add auxiliar npx auxiliar-mcp",
609
- "config_snippet": "# Once installed (no token needed for CNPJ it's LOW-sensitivity),\n# invoke from your agent loop:\ninvoke_capability(\n tool=\"fetch_cnpj\",\n args={\"cnpj\": \"11.222.333/0001-81\"}\n)\n# Returns:\n# {\n# \"tool\": \"fetch_cnpj\",\n# \"source_module\": \"backend.sources.br.empresa.cnpj\",\n# \"elapsed_ms\": 678,\n# \"result\": {\n# \"cnpj\": \"11222333000181\",\n# \"razao_social\": \"BANCO DO BRASIL SA\",\n# \"cnae_fiscal\": 6422100,\n# \"cnae_fiscal_descricao\": \"Bancos múltiplos, com carteira comercial\",\n# \"cnaes_secundarios\": [...],\n# \"opcao_pelo_simples\": false,\n# \"opcao_pelo_mei\": false,\n# \"descricao_situacao_cadastral\": \"ATIVA\",\n# \"logradouro\": \"...\", \"municipio\": \"...\", \"uf\": \"...\",\n# \"qsa\": [...],\n# \"source\": \"brasilapi\" # or \"cnpjws\" if cascaded\n# },\n# \"scope\": {\"tier\": \"anonymous\", ...}\n# }\n",
610
- "setup_url": "https://www.npmjs.com/package/auxiliar-mcp",
611
- "estimated_minutes": 2
719
+ "install_command": "curl -X POST https://api.auxiliar.ai/api/invoke/fetch_cnpj -H \"content-type: application/json\" -d '{\"cnpj\": \"11.222.333/0001-81\"}'",
720
+ "config_snippet": "# Universal path works for any agent (Claude Code, OpenClaw, Cursor,\n# Telegram bots, Python scripts, n8n, etc.). No install, no token.\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/fetch_cnpj \\\n -H \"content-type: application/json\" \\\n -d '{\"cnpj\": \"11.222.333/0001-81\"}'\n# Returns:\n# {\n# \"tool\": \"fetch_cnpj\",\n# \"source_module\": \"backend.sources.br.empresa.cnpj\",\n# \"elapsed_ms\": 678,\n# \"result\": {\n# \"cnpj\": \"11222333000181\",\n# \"razao_social\": \"BANCO DO BRASIL SA\",\n# \"cnae_fiscal\": 6422100,\n# \"cnae_fiscal_descricao\": \"Bancos múltiplos, com carteira comercial\",\n# \"cnaes_secundarios\": [...],\n# \"opcao_pelo_simples\": false,\n# \"opcao_pelo_mei\": false,\n# \"descricao_situacao_cadastral\": \"ATIVA\",\n# \"logradouro\": \"...\", \"municipio\": \"...\", \"uf\": \"...\",\n# \"qsa\": [...],\n# \"source\": \"brasilapi\" # or \"cnpjws\" if cascaded\n# },\n# \"scope\": {\"tier\": \"anonymous\", ...}\n# }\n",
721
+ "setup_url": "https://api.auxiliar.ai/api/invoke/fetch_cnpj",
722
+ "estimated_minutes": 1
612
723
  },
613
724
  "by_agent": {
725
+ "claude-code": {
726
+ "install_command": "claude mcp add auxiliar npx auxiliar-mcp",
727
+ "config_snippet": "# Optional: install auxiliar-mcp once for in-loop tool dispatch.\n# Then call from the agent loop:\ninvoke_capability(tool=\"fetch_cnpj\", args={\"cnpj\": \"...\"})\n# Same gateway as the curl path; adds in-loop tool discovery\n# (find_capability) and one auth surface for the other 220+\n# Brazilian-public-data tools.\n",
728
+ "estimated_minutes": 2
729
+ },
614
730
  "claude-desktop": {
615
731
  "install_command": "Add to ~/Library/Application Support/Claude/claude_desktop_config.json",
616
732
  "config_snippet": "{\n \"mcpServers\": {\n \"auxiliar\": {\n \"command\": \"npx\",\n \"args\": [\"-y\", \"auxiliar-mcp\"]\n }\n }\n}\n",
@@ -622,8 +738,8 @@
622
738
  "estimated_minutes": 3
623
739
  },
624
740
  "openclaw": {
625
- "install_command": "Direct HTTP no MCP install required",
626
- "config_snippet": "# Renatoag-class agents that already speak HTTP can call the gateway directly:\ncurl -X POST https://api.auxiliar.ai/api/invoke/fetch_cnpj \\\n -H \"content-type: application/json\" \\\n -d '{\"cnpj\": \"11.222.333/0001-81\"}'\n# No auth required for CNPJ (anonymous tier, LOW-sensitivity).\n",
741
+ "install_command": "curl -X POST https://api.auxiliar.ai/api/invoke/fetch_cnpj -H \"content-type: application/json\" -d '{\"cnpj\": \"...\"}'",
742
+ "config_snippet": "# OpenClaw / Telegram-bot / shell-bound agents call the gateway\n# directly via HTTP. No MCP host, no install, no token.\ncurl -X POST https://api.auxiliar.ai/api/invoke/fetch_cnpj \\\n -H \"content-type: application/json\" \\\n -d '{\"cnpj\": \"...\"}'\n",
627
743
  "estimated_minutes": 1
628
744
  }
629
745
  },
@@ -638,7 +754,8 @@
638
754
  "page_url": "https://auxiliar.ai/data/auxiliar-cnpj-fetch/",
639
755
  "external_homepage": "https://api.auxiliar.ai/api/invoke/fetch_cnpj",
640
756
  "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
641
- "license": "MIT (gateway code); upstream data per Receita Federal open data terms"
757
+ "license": "MIT (gateway code); upstream data per Receita Federal open data terms",
758
+ "provenance": "hand-curated"
642
759
  },
643
760
  {
644
761
  "id": "auxiliar-mcp",
@@ -742,7 +859,8 @@
742
859
  "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
743
860
  "license": "MIT",
744
861
  "npm_package": "auxiliar-mcp",
745
- "mcp_registry_id": "io.github.Tlalvarez/auxiliar-mcp"
862
+ "mcp_registry_id": "io.github.Tlalvarez/auxiliar-mcp",
863
+ "provenance": "hand-curated"
746
864
  },
747
865
  {
748
866
  "id": "auxiliar-nfs-e",
@@ -868,13 +986,14 @@
868
986
  }
869
987
  ],
870
988
  "compared_to": [],
871
- "choose_if": "Your agent extracts structured fields from São Paulo NFS-e PDFs (bookkeeping, accountant handoff, ISS reconciliation).",
872
- "avoid_if": "You're working with non-São-Paulo NFS-e municipalities (no layout adapter yet) or have direct Prefeitura XML API access.",
989
+ "choose_if": "Your agent extracts structured fields from São Paulo NFS-e PDFs in BATCH (≥10 documents) or as part of a multi-step bookkeeping pipeline where consistent typed output, error-handling, and ISS reconciliation are the priorities. Auxiliar's wrapper amortizes its setup cost across the batch.",
990
+ "avoid_if": "You're working with non-São-Paulo NFS-e municipalities (no layout adapter yet), have direct Prefeitura XML API access, OR have a SINGLE inline NFS-e XML to parse — for one-off extraction where the source is already in-context, local stdlib parsing finishes in milliseconds and a network round-trip to api.auxiliar.ai is overkill.",
873
991
  "page_url": "https://auxiliar.ai/solve/nfs-e-extraction/",
874
992
  "external_homepage": "https://auxiliar.ai/solve/nfs-e-extraction/",
875
993
  "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
876
994
  "license": "MIT",
877
- "clawhub_slug": "nfs-e-parser"
995
+ "clawhub_slug": "nfs-e-parser",
996
+ "provenance": "hand-curated"
878
997
  },
879
998
  {
880
999
  "id": "auxiliar-solve",
@@ -929,7 +1048,8 @@
929
1048
  "page_url": "https://auxiliar.ai/skill/auxiliar-solve/",
930
1049
  "external_homepage": "https://auxiliar.ai/solve/",
931
1050
  "license": "MIT",
932
- "clawhub_slug": "auxiliar-solve"
1051
+ "clawhub_slug": "auxiliar-solve",
1052
+ "provenance": "hand-curated"
933
1053
  },
934
1054
  {
935
1055
  "id": "aws-rds",
@@ -1073,7 +1193,8 @@
1073
1193
  "choose_if": "You are already on AWS, need enterprise compliance, and have ops capacity to manage VPC and security group configuration.",
1074
1194
  "avoid_if": "You are a small team wanting fast setup without cloud infrastructure expertise.",
1075
1195
  "page_url": "https://auxiliar.ai/service/aws-rds/",
1076
- "external_homepage": "https://aws.amazon.com/rds/"
1196
+ "external_homepage": "https://aws.amazon.com/rds/",
1197
+ "provenance": "hand-curated"
1077
1198
  },
1078
1199
  {
1079
1200
  "id": "aws-s3",
@@ -1204,7 +1325,8 @@
1204
1325
  "choose_if": "You're already on AWS and need the full feature set — lifecycle policies, Glacier archival, event triggers, S3 Select, and compliance certifications.",
1205
1326
  "avoid_if": "You're not on AWS and want simple file storage — Cloudflare R2 is cheaper with zero egress.",
1206
1327
  "page_url": "https://auxiliar.ai/service/aws-s3/",
1207
- "external_homepage": "https://aws.amazon.com/s3/"
1328
+ "external_homepage": "https://aws.amazon.com/s3/",
1329
+ "provenance": "hand-curated"
1208
1330
  },
1209
1331
  {
1210
1332
  "id": "aws-ses",
@@ -1341,7 +1463,8 @@
1341
1463
  "choose_if": "You are already on AWS, sending 50K+ emails/month, and have ops capacity for infrastructure setup.",
1342
1464
  "avoid_if": "You are a small team shipping your first project and need email working in under an hour.",
1343
1465
  "page_url": "https://auxiliar.ai/service/aws-ses/",
1344
- "external_homepage": "https://aws.amazon.com/ses/"
1466
+ "external_homepage": "https://aws.amazon.com/ses/",
1467
+ "provenance": "hand-curated"
1345
1468
  },
1346
1469
  {
1347
1470
  "id": "aws-sqs",
@@ -1467,7 +1590,94 @@
1467
1590
  "choose_if": "You're on AWS and need a fully managed, infinitely scalable message queue with no infrastructure to manage.",
1468
1591
  "avoid_if": "You're not on AWS or want a simpler developer experience — use Trigger.dev or BullMQ.",
1469
1592
  "page_url": "https://auxiliar.ai/service/aws-sqs/",
1470
- "external_homepage": "https://aws.amazon.com/sqs/"
1593
+ "external_homepage": "https://aws.amazon.com/sqs/",
1594
+ "provenance": "hand-curated"
1595
+ },
1596
+ {
1597
+ "id": "belvo",
1598
+ "element_type": "cloud_service",
1599
+ "name": "Belvo",
1600
+ "description": "LatAm Open Finance + bank-data aggregator (Brazil, Mexico, Colombia). B2B SaaS exposing account aggregation, transactions, employment + tax data, and KYC across multiple LatAm markets through one API surface. Sandbox + public docs.",
1601
+ "jtbd_tags": [
1602
+ "open-finance-brasil",
1603
+ "open-finance-latam",
1604
+ "bank-data-aggregation",
1605
+ "account-aggregation",
1606
+ "financial-data-api",
1607
+ "kyc-bank",
1608
+ "employment-data",
1609
+ "tax-data",
1610
+ "latam-multi-country"
1611
+ ],
1612
+ "aliases_search": [
1613
+ "Belvo",
1614
+ "Belvo Open Finance Brasil",
1615
+ "Belvo LatAm bank aggregator",
1616
+ "Belvo Pluggy alternative",
1617
+ "Open Finance Brazil bank data API Belvo Pluggy Klavi Quanto",
1618
+ "Belvo SDK",
1619
+ "Belvo API",
1620
+ "LatAm Open Finance",
1621
+ "Open Finance Mexico Brazil",
1622
+ "agregador bancário Brasil",
1623
+ "Belvo connectors",
1624
+ "Belvo income verification",
1625
+ "Belvo tax data"
1626
+ ],
1627
+ "categories": [
1628
+ "open-finance",
1629
+ "bank-data",
1630
+ "brazilian-data",
1631
+ "latam-data",
1632
+ "aggregator",
1633
+ "public-data"
1634
+ ],
1635
+ "works_with": [],
1636
+ "fit_by_agent": {
1637
+ "claude-code": true,
1638
+ "claude-desktop": true,
1639
+ "cursor": true,
1640
+ "openclaw": true
1641
+ },
1642
+ "evals": [],
1643
+ "cost": {
1644
+ "type": "freemium",
1645
+ "free_tier": "Sandbox + free dev tier for low-volume usage; pricing tiered after threshold (vendor docs).",
1646
+ "paid_starts": "Per-connection / per-MAU pricing depending on contract — check vendor sales for current quote.",
1647
+ "hidden_costs": [
1648
+ "Multi-country footprint = more vendor surface (and bigger upstream bank patch-cadence); plan for breakage.",
1649
+ "Non-OF data sources (scraping where present) bill differently from OF channels."
1650
+ ],
1651
+ "cost_per_unit": {}
1652
+ },
1653
+ "pricing_tiers": [],
1654
+ "compliance": [],
1655
+ "risks": [
1656
+ {
1657
+ "severity": "medium",
1658
+ "category": "regulatory",
1659
+ "description": "Each LatAm market has its own data-share regulation. Brazil has Open Finance (Bacen); Mexico has Open Banking via Banxico; Colombia is mid- rollout. Belvo abstracts these but the upstream timing of capabilities varies country by country."
1660
+ },
1661
+ {
1662
+ "severity": "low",
1663
+ "category": "vendor_lockin",
1664
+ "description": "Belvo's connector library is proprietary — migrating away to a different aggregator means rewiring against a different SDK surface."
1665
+ }
1666
+ ],
1667
+ "deps": {
1668
+ "requires": [],
1669
+ "composes_with": [],
1670
+ "conflicts": []
1671
+ },
1672
+ "last_verified": "2026-05-10",
1673
+ "verification_method": "vendor-docs-stub",
1674
+ "alternatives_considered": [],
1675
+ "compared_to": [],
1676
+ "choose_if": "You're building a B2B fintech operating in multiple LatAm markets (Brazil + Mexico + Colombia) and want one aggregator instead of three. Belvo's multi-country reach is the differentiator — pure-BR aggregators (Pluggy, Klavi) handle a single market more deeply.",
1677
+ "avoid_if": "You only operate in Brazil — a BR-native aggregator (Pluggy, Klavi, Quanto) is typically deeper on the Bacen surface and cheaper for single-market use. Or if you're a per-user AI agent in Brazil — see /mcp/cumbuca-of-data-mcp/ for the MCP-shaped option that consumer AI agents install in one click.",
1678
+ "page_url": "https://auxiliar.ai/service/belvo/",
1679
+ "external_homepage": "https://belvo.com",
1680
+ "provenance": "hand-curated"
1471
1681
  },
1472
1682
  {
1473
1683
  "id": "better-auth",
@@ -1588,7 +1798,226 @@
1588
1798
  "choose_if": "You want full ownership of auth with zero per-user cost, GDPR-compliant data residency (your database), and the successor to Auth.js.",
1589
1799
  "avoid_if": "You need auth working in 10 minutes with pre-built UI components — use Clerk instead.",
1590
1800
  "page_url": "https://auxiliar.ai/service/better-auth/",
1591
- "external_homepage": "https://better-auth.com"
1801
+ "external_homepage": "https://better-auth.com",
1802
+ "provenance": "hand-curated"
1803
+ },
1804
+ {
1805
+ "id": "br-cade-search",
1806
+ "element_type": "data",
1807
+ "name": "CADE process search (br_cade_search)",
1808
+ "description": "Stateless free-text resolver for CADE (Conselho Administrativo de Defesa Econômica) processes. Input: company name / sector / case-number fragment. Output: list of process references (process_number, parties, type, status, opened_at) the caller can chain into a stateful retrieval. Sub-500ms on cache hit; UA=\"auxiliar.ai/1.0 (+https://auxiliar.ai/contact)\". Scaffold pending CADE endpoint discovery — see source-file docstring.",
1809
+ "jtbd_tags": [
1810
+ "find-cade-process-by-company-name",
1811
+ "resolve-regulatory-case-from-free-text",
1812
+ "cade-process-lookup",
1813
+ "antitrust-case-discovery",
1814
+ "merger-filing-discovery",
1815
+ "brazilian-regulatory-research"
1816
+ ],
1817
+ "aliases_search": [
1818
+ "CADE search",
1819
+ "CADE consulta processo",
1820
+ "antitrust process search",
1821
+ "CADE process search",
1822
+ "CADE consulta processual",
1823
+ "br_cade_search",
1824
+ "merger filing search",
1825
+ "antitrust case search Brazil",
1826
+ "busca avançada CADE",
1827
+ "pesquisa processo CADE"
1828
+ ],
1829
+ "categories": [
1830
+ "public-data",
1831
+ "brazilian-government",
1832
+ "regulatory",
1833
+ "antitrust",
1834
+ "process-search"
1835
+ ],
1836
+ "works_with": [],
1837
+ "fit_by_agent": {
1838
+ "claude-code": true,
1839
+ "claude-desktop": true,
1840
+ "cursor": true,
1841
+ "openclaw": true
1842
+ },
1843
+ "evals": [],
1844
+ "cost": {
1845
+ "type": "free",
1846
+ "free_tier": "Free public CADE search; rate-limited at the data-plane layer to ≤1 req/3s per the stateful-capability runtime contract.",
1847
+ "hidden_costs": [
1848
+ "Sub-500ms target is on cache hit; cold fetches against CADE's public surface can run 1-3s.",
1849
+ "CADE may rate-limit aggressive callers; the data plane's per-host limiter keeps usage polite."
1850
+ ],
1851
+ "cost_per_unit": {}
1852
+ },
1853
+ "pricing_tiers": [],
1854
+ "compliance": [],
1855
+ "risks": [
1856
+ {
1857
+ "severity": "medium",
1858
+ "category": "operational",
1859
+ "description": "Endpoint discovery pending — the public CADE search UI uses XHR calls whose parameter shape was not extractable from static HTML. Until the follow-up lands (see module docstring), this capability returns `{\"not_implemented_yet\": true}` deterministically. Callers should branch on the flag rather than treat the empty result as \"no matches\".",
1860
+ "last_observed": "2026-05-01"
1861
+ },
1862
+ {
1863
+ "severity": "low",
1864
+ "category": "regulatory",
1865
+ "description": "CADE's public surfaces may add CAPTCHAs or rate limits in response to scraping. The per-host limiter in backend/sources/br/http.py and the UA-identification commitment (auxiliar.ai/1.0) keep the footprint small; the response path is to negotiate a partnership if CADE asks rather than try to evade."
1866
+ }
1867
+ ],
1868
+ "deps": {
1869
+ "requires": [],
1870
+ "composes_with": [
1871
+ "br-cade-sei-process",
1872
+ "auxiliar-mcp"
1873
+ ],
1874
+ "conflicts": [],
1875
+ "minimum_runtime": "Python 3.11 + httpx"
1876
+ },
1877
+ "last_verified": "2026-05-01",
1878
+ "verification_method": "scaffold-pending-endpoint-discovery-2026-05-01",
1879
+ "alternatives_considered": [
1880
+ {
1881
+ "name": "Direct CNJ DataJud API for CADE",
1882
+ "dropped_because": "CNJ DataJud aggregates judicial proceedings, not administrative antitrust filings. CADE's processes are administrative, not judicial, so they don't surface in DataJud. CADE's own search surface is the canonical source."
1883
+ },
1884
+ {
1885
+ "name": "Manual SEI form scrape",
1886
+ "dropped_because": "sei.cade.gov.br's form action URL isn't exposed in the static HTML and the form requires a session cookie obtained by GET-ing the form page first. Possible to wire later, but the newer pesquisaavancada.cade.gov.br UI is the recommended public surface."
1887
+ },
1888
+ {
1889
+ "name": "Headless Playwright in stateless tier",
1890
+ "dropped_because": "Playwright belongs in the stateful tier (backend/sources/br/portal/) not the stateless data plane. Search results don't justify the stateful tier's 8-15s cold-start tax — direct XHR or a thin session+POST cascade is the right shape once the endpoint is discovered."
1891
+ }
1892
+ ],
1893
+ "compared_to": [],
1894
+ "choose_if": "Your agent has a free-text query (company name, sector, fragment of a process number) and needs to resolve it to a CADE process_number before fetching documents. Pair with br-cade-sei-process for the full \"get me the filing for X\" journalist-language flow.",
1895
+ "avoid_if": "You already have the process_number from another source (laranja partner agent, prior CADE filing, news article) — go straight to br-cade-sei-process. This capability is the discovery layer, not the retrieval layer.",
1896
+ "page_url": "https://auxiliar.ai/data/br-cade-search/",
1897
+ "external_homepage": "https://pesquisaavancada.cade.gov.br/consulta",
1898
+ "provenance": "hand-curated"
1899
+ },
1900
+ {
1901
+ "id": "br-cade-sei-process",
1902
+ "element_type": "data",
1903
+ "name": "CADE SEI: process-file document retrieval",
1904
+ "description": "Stateful Playwright-driven retrieval of CADE Sistema Eletrônico de Informações (SEI) process documents. Input: process_number (e.g. \"08700.007894/2023-88\") + target_doc_id (SEI document ID like \"1735573\"). Output: PDF bytes + extracted text. Reference fixture validated 2026-05-01: ≈116,562 chars extracted.",
1905
+ "jtbd_tags": [
1906
+ "fetch CADE process documents",
1907
+ "regulatory case PDF retrieval",
1908
+ "antitrust filing extraction",
1909
+ "cade-sei-retrieval",
1910
+ "regulatory-document-fetch",
1911
+ "antitrust-merger-filing",
1912
+ "brazilian-regulatory-portal"
1913
+ ],
1914
+ "aliases_search": [
1915
+ "CADE SEI",
1916
+ "CADE process retrieval",
1917
+ "br_cade_sei",
1918
+ "br_cade_sei_process",
1919
+ "SEI CADE",
1920
+ "CADE Nota Técnica",
1921
+ "CADE Anexo",
1922
+ "sistema eletronico informacoes CADE",
1923
+ "antitrust filing Brazil",
1924
+ "Brazilian merger filing",
1925
+ "CADE process file PDF",
1926
+ "cade.gov.br SEI",
1927
+ "CADE document download",
1928
+ "regulatory PDF retrieval Brazil"
1929
+ ],
1930
+ "categories": [
1931
+ "public-data",
1932
+ "brazilian-government",
1933
+ "regulatory",
1934
+ "antitrust",
1935
+ "portal-scraping"
1936
+ ],
1937
+ "works_with": [],
1938
+ "fit_by_agent": {
1939
+ "claude-code": true,
1940
+ "claude-desktop": true,
1941
+ "cursor": true,
1942
+ "openclaw": true
1943
+ },
1944
+ "evals": [],
1945
+ "cost": {
1946
+ "type": "free",
1947
+ "free_tier": "Free at the upstream — CADE's SEI public consultation portal does not charge for process-file access. Auxiliar.ai passes through at cost; estimated infrastructure cost ~$0.001/call (Lambda Container Image runtime + Chromium cold-start amortized + outbound bandwidth for PDF download). Rate-limited to ≤1 req/3s per the SEI ToS-friendly cadence.",
1948
+ "hidden_costs": [
1949
+ "Cold-start tax on the Chromium-bearing Lambda Container Image: 8–15s p99 the first time after a deploy. Subsequent invocations stay warm for ~10–15min on most Lambda regions.",
1950
+ "Per-capability rate limit ≤1 req/3s — bursts of 100 retrievals serialize to ≥5min wall-clock. Plan accordingly for backfills.",
1951
+ "Snapshot capture on failures writes ~1–10 MB to S3 (HTML+PNG+console+HAR). 30-day lifecycle expiry; counts against the auxiliar-portal-snapshots bucket budget."
1952
+ ],
1953
+ "cost_per_unit": {
1954
+ "per_call": "$0.001"
1955
+ }
1956
+ },
1957
+ "pricing_tiers": [],
1958
+ "compliance": [],
1959
+ "risks": [
1960
+ {
1961
+ "severity": "medium",
1962
+ "category": "regulatory",
1963
+ "description": "CADE may change its SEI portal's HTML structure, navigation flow, or rate limits at any time. Auxiliar.ai owns the ToS conversation (per migration proposal Q4): if CADE reaches out, we respond within 48h and disable the affected capability if requested. Jornalista's local fallback (their own `backend/services/br_cade_sei.py`) provides graceful degradation during any incident."
1964
+ },
1965
+ {
1966
+ "severity": "low",
1967
+ "category": "operational",
1968
+ "description": "PDF byte-equality is not guaranteed across retrievals — CADE may inject download-time watermarks or page-number metadata. Char-for-text equality on extracted content IS the correctness criterion (reference fixture: 116,562 ± 5%). Tests assert text equality, not byte equality."
1969
+ },
1970
+ {
1971
+ "severity": "low",
1972
+ "category": "cold_start",
1973
+ "description": "Lambda Container Image cold-starts run 8–15s on Chromium-bearing images. Combined with ~30s mean nav, cold p99 lands near 50s. Budget 90s timeout (with 10s headroom). If p99 > 50s sustained, ECS Fargate fallback is documented in `docs/proposals/stateful-capability-runtime.md`."
1974
+ }
1975
+ ],
1976
+ "deps": {
1977
+ "requires": [],
1978
+ "composes_with": [
1979
+ "br-cade-search"
1980
+ ],
1981
+ "conflicts": [],
1982
+ "minimum_runtime": "Lambda Container Image (Python 3.11 + Playwright 1.40 + Chromium); not directly installable client-side."
1983
+ },
1984
+ "install": {
1985
+ "primary": {
1986
+ "install_command": "curl -X POST https://api.auxiliar.ai/api/invoke/br_cade_sei_process -H \"content-type: application/json\" -d '{\"process_number\":\"08700.007894/2023-88\",\"target_doc_id\":\"1735573\"}'",
1987
+ "config_snippet": "# Universal HTTP path — works for any agent. The auxiliar gateway\n# routes to the dedicated `br_portal` Lambda Container Image which\n# walks the SEI navigation and returns PDF bytes + extracted text.\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/br_cade_sei_process \\\n -H \"content-type: application/json\" \\\n -d '{\"process_number\":\"08700.007894/2023-88\",\"target_doc_id\":\"1735573\"}'\n# Returns:\n# {\n# \"tool\": \"br_cade_sei_process\",\n# \"source_module\": \"backend.sources.br.portal.cade_sei\",\n# \"elapsed_ms\": 28412,\n# \"result\": {\n# \"process_number\": \"08700.007894/2023-88\",\n# \"document_id\": \"1735573\",\n# \"document_url\": \"https://sei.cade.gov.br/sei/modulos/pesquisa/...\",\n# \"document_title\": \"Anexo - SG Nota Técnica\",\n# \"pdf_size_bytes\": 11534821,\n# \"text\": \"...116562 chars...\",\n# \"retrieval_status\": \"fetched_verbatim\",\n# \"source_tool\": \"br_cade_sei_process\"\n# }\n# }\n",
1988
+ "setup_url": "https://api.auxiliar.ai/api/invoke/br_cade_sei_process",
1989
+ "estimated_minutes": 1
1990
+ },
1991
+ "by_agent": {
1992
+ "claude-code": {
1993
+ "install_command": "claude mcp add auxiliar npx auxiliar-mcp",
1994
+ "config_snippet": "# Compose with the resolver:\ninvoke_capability(tool=\"br_cade_search\", args={\"query\": \"Itaú-Unibanco merger\"})\n# → pick a process_number from the result\ninvoke_capability(tool=\"br_cade_sei_process\",\n args={\"process_number\": \"...\", \"target_doc_id\": \"...\"})\n",
1995
+ "estimated_minutes": 2
1996
+ },
1997
+ "claude-desktop": {
1998
+ "install_command": "Add to ~/Library/Application Support/Claude/claude_desktop_config.json",
1999
+ "config_snippet": "{\n \"mcpServers\": {\n \"auxiliar\": { \"command\": \"npx\", \"args\": [\"-y\", \"auxiliar-mcp\"] }\n }\n}\n",
2000
+ "estimated_minutes": 5
2001
+ },
2002
+ "openclaw": {
2003
+ "install_command": "curl -X POST https://api.auxiliar.ai/api/invoke/br_cade_sei_process",
2004
+ "config_snippet": "# Free-text → process_number → document\n# 1) Resolve via the search capability\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/br_cade_search \\\n -H \"content-type: application/json\" \\\n -d '{\"query\":\"Itaú-Unibanco merger\"}'\n# 2) Fetch the document\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/br_cade_sei_process \\\n -H \"content-type: application/json\" \\\n -d '{\"process_number\":\"08700.007894/2023-88\",\"target_doc_id\":\"1735573\"}'\n",
2005
+ "estimated_minutes": 1
2006
+ }
2007
+ },
2008
+ "by_framework": {}
2009
+ },
2010
+ "last_verified": "2026-05-01",
2011
+ "verification_method": "live-prod-retrieval-2026-05-01",
2012
+ "alternatives_considered": [],
2013
+ "compared_to": [],
2014
+ "choose_if": "Your agent needs the actual document file (PDF bytes + extracted text) for a specific CADE administrative process — antitrust merger filings, cartel investigations, market-power assessments. Pick this when you already know `process_number` (e.g. from `br-cade-search`) plus a `target_doc_id`, and need verbatim text rather than just metadata. This is the only path that preserves session cookies through the SEI popup — direct HTTP fetching of the document URL fails because SEI binds the URL to the navigation session.",
2015
+ "avoid_if": "You only need process metadata (parties, status, type) without the document body — `br-cade-search` already returns those fields and is sub-500ms with no Playwright dependency. Or, you have access to the CADE bulk data export (legal team negotiates direct partnerships) — bulk export is bandwidth-cheaper for systematic backfills than per-call portal scraping.",
2016
+ "page_url": "https://auxiliar.ai/data/br-cade-sei-process/",
2017
+ "external_homepage": "https://sei.cade.gov.br/sei/modulos/pesquisa/",
2018
+ "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
2019
+ "license": "MIT (auxiliar.ai gateway code); upstream content per CADE SEI public-consultation ToS",
2020
+ "provenance": "hand-curated"
1592
2021
  },
1593
2022
  {
1594
2023
  "id": "brasilapi-cnpj",
@@ -1686,30 +2115,140 @@
1686
2115
  "page_url": "https://auxiliar.ai/data/brasilapi-cnpj/",
1687
2116
  "external_homepage": "https://brasilapi.com.br",
1688
2117
  "repository": "https://github.com/BrasilAPI/BrasilAPI",
1689
- "license": "MIT (BrasilAPI code; underlying data from Receita Federal open dump)"
2118
+ "license": "MIT (BrasilAPI code; underlying data from Receita Federal open dump)",
2119
+ "provenance": "hand-curated"
1690
2120
  },
1691
2121
  {
1692
- "id": "bullmq",
1693
- "element_type": "cloud_service",
1694
- "name": "BullMQ",
1695
- "description": "Redis-based job queue for Node.js. Open source, battle-tested, zero recurring cost. The standard self-hosted queue.",
1696
- "long_description": "**Vendor.** Open source (MIT license). Created by Taskforce.sh (makers of Bull). 6K+ GitHub stars. Mature and stable. Very low risk.\n\n**Verdict.** Use BullMQ for self-hosted job queues when you want zero recurring cost, full control, and battle-tested reliability.\n\nBullMQ is the standard self-hosted job queue for Node.js. It's battle-tested, MIT-licensed, and handles millions of jobs in production systems. The Redis dependency is the main consideration — you need Redis running somewhere. For teams comfortable managing infrastructure, BullMQ provides the best value (zero cost for the queue itself). For teams wanting zero ops, use Trigger.dev or Inngest.\n\n**Best for.** Self-hosted job processing, teams with Redis infrastructure, budget-conscious projects, production workloads\n\n**Avoid if.** You don't want to manage Redis (use Trigger.dev) or need complex durable workflows (use Inngest)",
1697
- "jtbd_tags": [],
1698
- "aliases_search": [],
2122
+ "id": "brazilian-subscription-audit",
2123
+ "element_type": "task_template",
2124
+ "name": "Find forgotten subscriptions in your Brazilian credit card — what to install, with the recipe",
2125
+ "description": "How an AI agent audits a user's Brazilian credit-card and account transactions for recurring charges (active subscriptions, forgotten trials, duplicate services). Agent installs Cumbuca's Open Finance Data MCP, the user authorizes through their bank, and the agent runs a deterministic clustering recipe (merchant normalization + cadence detection + amount-tolerance check) over the returned transactions.",
2126
+ "jtbd_tags": [
2127
+ "subscription-audit",
2128
+ "recurring-charge-detection",
2129
+ "cancel-forgotten-subscriptions",
2130
+ "personal-finance-cleanup",
2131
+ "credit-card-audit",
2132
+ "open-finance-brasil",
2133
+ "bank-data-ai",
2134
+ "cobrancas-recorrentes-detection"
2135
+ ],
2136
+ "aliases_search": [
2137
+ "find forgotten subscriptions Brazilian credit card",
2138
+ "cancelar assinaturas esquecidas IA",
2139
+ "auditar cartão de crédito IA",
2140
+ "subscription audit Brasil",
2141
+ "recurring charges Open Finance",
2142
+ "extrato cartão IA assinaturas",
2143
+ "cobranças recorrentes IA",
2144
+ "cobrancas recorrentes detection",
2145
+ "assinaturas esquecidas cartão de crédito",
2146
+ "cumbuca subscription detection",
2147
+ "let claude find my subscriptions brazil",
2148
+ "chatgpt audit my brazilian credit card",
2149
+ "encontrar assinaturas no extrato",
2150
+ "achar gastos recorrentes IA",
2151
+ "free trial fantasma cartão",
2152
+ "subscriptions cartão de crédito IA",
2153
+ "personal finance ai brazil subscriptions",
2154
+ "automated subscription detection brazil",
2155
+ "open finance subscription audit",
2156
+ "assinatura mensal não usada IA"
2157
+ ],
1699
2158
  "categories": [
1700
- "queues"
2159
+ "personal-finance",
2160
+ "subscription-audit",
2161
+ "open-finance",
2162
+ "bank-data",
2163
+ "brazilian-data",
2164
+ "task-template",
2165
+ "agent-tools"
1701
2166
  ],
1702
2167
  "works_with": [
1703
- "Node.js",
1704
- "TypeScript",
1705
- "Python (via separate library)"
2168
+ "claude-code",
2169
+ "claude-desktop",
2170
+ "chatgpt",
2171
+ "cursor"
2172
+ ],
2173
+ "fit_by_agent": {
2174
+ "claude-code": true,
2175
+ "claude-desktop": true,
2176
+ "chatgpt": true,
2177
+ "cursor": true
2178
+ },
2179
+ "evals": [
2180
+ {
2181
+ "method_id": "auxiliar-subscription-audit-documented-characteristics-v1",
2182
+ "score": 6.5,
2183
+ "score_breakdown": {
2184
+ "candidates_ranked": 1,
2185
+ "data_source_production_readiness": 8,
2186
+ "recipe_determinism": 9,
2187
+ "mvp_rate_limit_friendliness": 6,
2188
+ "pending_corpus_run": 0
2189
+ },
2190
+ "corpus_id": "auxiliar-subscription-audit-corpus-v1-pending",
2191
+ "last_run": "2026-05-07",
2192
+ "candidates_outranked": 0
2193
+ }
1706
2194
  ],
1707
- "fit_by_agent": {},
1708
- "evals": [],
1709
2195
  "cost": {
1710
2196
  "type": "free",
1711
- "free_tier": "Unlimited (open source, requires Redis)",
1712
- "paid_starts": "Free (+ Redis hosting costs)",
2197
+ "free_tier": "The /solve/ page itself is free editorial content. The underlying data source (Cumbuca Open Finance Data MCP) is free during MVP with ~5 queries/day per user.",
2198
+ "hidden_costs": [],
2199
+ "cost_per_unit": {}
2200
+ },
2201
+ "pricing_tiers": [],
2202
+ "compliance": [],
2203
+ "risks": [],
2204
+ "deps": {
2205
+ "requires": [],
2206
+ "composes_with": [
2207
+ "cumbuca-of-data-mcp",
2208
+ "auxiliar-mcp"
2209
+ ],
2210
+ "conflicts": []
2211
+ },
2212
+ "last_verified": "2026-05-07",
2213
+ "verification_method": "auxiliar-subscription-audit-documented-characteristics-v1",
2214
+ "alternatives_considered": [
2215
+ {
2216
+ "name": "Bank-app native subscription dashboards (Nubank, Itaú, Inter)",
2217
+ "dropped_because": "Some BR banks ship in-app subscription detection (Nubank's \"Assinaturas\" tab is the most prominent). Useful for a single-bank user looking inside their own app, but doesn't expose the data to an AI agent for cross-merchant analysis, cancellation drafting, or composing with other personal-finance JTBDs. Out of scope for an agent-first ranking."
2218
+ },
2219
+ {
2220
+ "name": "CSV export + spreadsheet",
2221
+ "dropped_because": "The traditional path (export CSV from internet banking, paste into a spreadsheet, eyeball recurring rows). Works but requires manual export per account per month, no agent automation, no merchant normalization, and no cross-account view. The recipe in this /solve/ body is the same logic the spreadsheet does — but in-loop and on live OF data."
2222
+ }
2223
+ ],
2224
+ "compared_to": [],
2225
+ "choose_if": "You're a Brazilian user (or building for Brazilian users) who wants an AI agent to audit recurring charges in your credit-card or checking-account transactions. You authorize one bank via Open Finance and ask the agent for the audit — it returns a ranked list with cadence, amount stability, active/paused/cancelled status, and annual cost.",
2226
+ "avoid_if": "You need continuous background monitoring (the MVP rate limit is ~5 queries/day), multi-bank aggregation (single-account MVP scope), or non-Brazilian bank data. Also avoid if your users won't tolerate the Open Finance redirect-to-bank consent flow; this is a one-time setup but it's not invisible.",
2227
+ "page_url": "https://auxiliar.ai/solve/brazilian-subscription-audit/",
2228
+ "provenance": "hand-curated"
2229
+ },
2230
+ {
2231
+ "id": "bullmq",
2232
+ "element_type": "cloud_service",
2233
+ "name": "BullMQ",
2234
+ "description": "Redis-based job queue for Node.js. Open source, battle-tested, zero recurring cost. The standard self-hosted queue.",
2235
+ "long_description": "**Vendor.** Open source (MIT license). Created by Taskforce.sh (makers of Bull). 6K+ GitHub stars. Mature and stable. Very low risk.\n\n**Verdict.** Use BullMQ for self-hosted job queues when you want zero recurring cost, full control, and battle-tested reliability.\n\nBullMQ is the standard self-hosted job queue for Node.js. It's battle-tested, MIT-licensed, and handles millions of jobs in production systems. The Redis dependency is the main consideration — you need Redis running somewhere. For teams comfortable managing infrastructure, BullMQ provides the best value (zero cost for the queue itself). For teams wanting zero ops, use Trigger.dev or Inngest.\n\n**Best for.** Self-hosted job processing, teams with Redis infrastructure, budget-conscious projects, production workloads\n\n**Avoid if.** You don't want to manage Redis (use Trigger.dev) or need complex durable workflows (use Inngest)",
2236
+ "jtbd_tags": [],
2237
+ "aliases_search": [],
2238
+ "categories": [
2239
+ "queues"
2240
+ ],
2241
+ "works_with": [
2242
+ "Node.js",
2243
+ "TypeScript",
2244
+ "Python (via separate library)"
2245
+ ],
2246
+ "fit_by_agent": {},
2247
+ "evals": [],
2248
+ "cost": {
2249
+ "type": "free",
2250
+ "free_tier": "Unlimited (open source, requires Redis)",
2251
+ "paid_starts": "Free (+ Redis hosting costs)",
1713
2252
  "hidden_costs": [
1714
2253
  "Requires Redis infrastructure ($0-100+/month depending on provider)",
1715
2254
  "You manage retries, dead letter queues, and monitoring yourself",
@@ -1798,7 +2337,95 @@
1798
2337
  "choose_if": "You want a battle-tested, zero-cost job queue for Node.js with Redis as the backing store and full control over your infrastructure.",
1799
2338
  "avoid_if": "You don't want to manage Redis infrastructure or need a managed solution with built-in monitoring.",
1800
2339
  "page_url": "https://auxiliar.ai/service/bullmq/",
1801
- "external_homepage": "https://bullmq.io"
2340
+ "external_homepage": "https://bullmq.io",
2341
+ "provenance": "hand-curated"
2342
+ },
2343
+ {
2344
+ "id": "celcoin",
2345
+ "element_type": "cloud_service",
2346
+ "name": "Celcoin",
2347
+ "description": "Brazilian banking-as-a-service (BaaS) + Open Finance + Pix-as-a-Service + payment-rail provider. B2B platform giving fintechs ledger accounts, bill payment, Pix issuance/receipt, and Open Finance data aggregation in one stack. Bacen-licensed. Larger surface than the OF-only aggregators.",
2348
+ "jtbd_tags": [
2349
+ "open-finance-brasil",
2350
+ "banking-as-a-service",
2351
+ "pix-as-a-service",
2352
+ "payment-infrastructure",
2353
+ "bill-payment",
2354
+ "account-aggregation",
2355
+ "brazilian-data",
2356
+ "public-data"
2357
+ ],
2358
+ "aliases_search": [
2359
+ "Celcoin",
2360
+ "Celcoin BaaS Brasil",
2361
+ "Celcoin Open Finance",
2362
+ "Celcoin Pix as a service",
2363
+ "Celcoin banking as a service",
2364
+ "Open Finance Brazil bank data API Belvo Pluggy Klavi Quanto",
2365
+ "Celcoin API",
2366
+ "Celcoin SDK",
2367
+ "Brazilian BaaS provider",
2368
+ "Pix automático Celcoin",
2369
+ "bank infrastructure Brazil",
2370
+ "Celcoin contas digitais",
2371
+ "Celcoin pagamento boleto"
2372
+ ],
2373
+ "categories": [
2374
+ "open-finance",
2375
+ "banking-as-a-service",
2376
+ "pix-infrastructure",
2377
+ "bank-data",
2378
+ "brazilian-data",
2379
+ "aggregator",
2380
+ "payment-initiation",
2381
+ "public-data"
2382
+ ],
2383
+ "works_with": [],
2384
+ "fit_by_agent": {
2385
+ "claude-code": true,
2386
+ "claude-desktop": true,
2387
+ "cursor": true,
2388
+ "openclaw": true
2389
+ },
2390
+ "evals": [],
2391
+ "cost": {
2392
+ "type": "freemium",
2393
+ "free_tier": "Sandbox + dev access (vendor docs).",
2394
+ "paid_starts": "Tiered pricing across the multi-product stack (BaaS + Pix + OF); per-product metering.",
2395
+ "hidden_costs": [
2396
+ "Multi-product stack means more SKUs to track in billing — BaaS, Pix, OF aggregation each meter separately.",
2397
+ "Some legacy payment-rail integrations meter on Brazilian-banking-cadence patterns (D+1/D+2 settlement)."
2398
+ ],
2399
+ "cost_per_unit": {}
2400
+ },
2401
+ "pricing_tiers": [],
2402
+ "compliance": [],
2403
+ "risks": [
2404
+ {
2405
+ "severity": "medium",
2406
+ "category": "regulatory",
2407
+ "description": "Bacen-licensed financial infrastructure carries ongoing audit + capital requirements. Contract structures (sub-licensing customer accounts vs acting as principal) differ across products and affect compliance."
2408
+ },
2409
+ {
2410
+ "severity": "low",
2411
+ "category": "vendor_lockin",
2412
+ "description": "Multi-product adoption (BaaS + Pix + OF in one vendor) is sticky by design — migrating to a different stack means rewiring more than just the data feed. Plan for it before committing."
2413
+ }
2414
+ ],
2415
+ "deps": {
2416
+ "requires": [],
2417
+ "composes_with": [],
2418
+ "conflicts": []
2419
+ },
2420
+ "last_verified": "2026-05-10",
2421
+ "verification_method": "vendor-docs-stub",
2422
+ "alternatives_considered": [],
2423
+ "compared_to": [],
2424
+ "choose_if": "You're building a fintech that needs the full stack — BaaS ledger accounts + Pix issuance/receipt + bill payment + Open Finance aggregation — in one Bacen-licensed vendor. Celcoin's breadth is the differentiator vs OF-only aggregators.",
2425
+ "avoid_if": "You only need Open Finance data aggregation (no banking or Pix infrastructure) — a pure-OF aggregator (Pluggy, Belvo, Klavi, Quanto) is typically thinner-priced and easier to integrate just for that surface. Or if you're a per-user AI agent in Brazil — see /mcp/cumbuca-of-data-mcp/.",
2426
+ "page_url": "https://auxiliar.ai/service/celcoin/",
2427
+ "external_homepage": "https://www.celcoin.com.br",
2428
+ "provenance": "hand-curated"
1802
2429
  },
1803
2430
  {
1804
2431
  "id": "chroma",
@@ -1916,7 +2543,8 @@
1916
2543
  "choose_if": "You want the fastest path from zero to vector search with an embedded, in-process database for prototyping.",
1917
2544
  "avoid_if": "You need production-scale managed infrastructure or a cloud-hosted solution right now.",
1918
2545
  "page_url": "https://auxiliar.ai/service/chroma/",
1919
- "external_homepage": "https://www.trychroma.com"
2546
+ "external_homepage": "https://www.trychroma.com",
2547
+ "provenance": "hand-curated"
1920
2548
  },
1921
2549
  {
1922
2550
  "id": "clerk",
@@ -2057,7 +2685,8 @@
2057
2685
  "choose_if": "You need auth working in minutes with polished pre-built UI, unlimited social logins on Pro, and can accept per-MRU pricing at scale.",
2058
2686
  "avoid_if": "You're cost-sensitive at scale (100K+ MAU), need EU data residency, or can't accept vendor lock-in.",
2059
2687
  "page_url": "https://auxiliar.ai/service/clerk/",
2060
- "external_homepage": "https://clerk.com"
2688
+ "external_homepage": "https://clerk.com",
2689
+ "provenance": "hand-curated"
2061
2690
  },
2062
2691
  {
2063
2692
  "id": "cloudflare-kv",
@@ -2177,7 +2806,8 @@
2177
2806
  "choose_if": "You're building on Cloudflare Workers and need simple, globally distributed key-value storage for configuration, feature flags, or edge caching.",
2178
2807
  "avoid_if": "You need strong consistency, Redis data structures, or are not on the Cloudflare platform.",
2179
2808
  "page_url": "https://auxiliar.ai/service/cloudflare-kv/",
2180
- "external_homepage": "https://developers.cloudflare.com/kv/"
2809
+ "external_homepage": "https://developers.cloudflare.com/kv/",
2810
+ "provenance": "hand-curated"
2181
2811
  },
2182
2812
  {
2183
2813
  "id": "cloudflare-r2",
@@ -2291,7 +2921,8 @@
2291
2921
  "choose_if": "You want S3-compatible storage with zero egress fees and the best price-to-performance for read-heavy workloads.",
2292
2922
  "avoid_if": "You need advanced S3 features like lifecycle policies, event triggers, or Glacier archival — use AWS S3.",
2293
2923
  "page_url": "https://auxiliar.ai/service/cloudflare-r2/",
2294
- "external_homepage": "https://developers.cloudflare.com/r2/"
2924
+ "external_homepage": "https://developers.cloudflare.com/r2/",
2925
+ "provenance": "hand-curated"
2295
2926
  },
2296
2927
  {
2297
2928
  "id": "cloudinary",
@@ -2420,7 +3051,8 @@
2420
3051
  "choose_if": "You need automatic image/video optimization, on-the-fly transformations, and a built-in CDN for media-heavy applications.",
2421
3052
  "avoid_if": "You just need raw file storage — Cloudflare R2 or AWS S3 are simpler and cheaper.",
2422
3053
  "page_url": "https://auxiliar.ai/service/cloudinary/",
2423
- "external_homepage": "https://cloudinary.com"
3054
+ "external_homepage": "https://cloudinary.com",
3055
+ "provenance": "hand-curated"
2424
3056
  },
2425
3057
  {
2426
3058
  "id": "cnpj-enrichment-mcp",
@@ -2526,7 +3158,8 @@
2526
3158
  "compared_to": [],
2527
3159
  "choose_if": "Your agent extracts CNPJs from Brazilian invoices and needs to enrich each with CNAE, regime tributário, and supplier metadata — for bookkeeping batches, accountant handoff, or tax reconciliation.",
2528
3160
  "avoid_if": "You need real-time situação cadastral for fraud detection or KYC under regulatory mandate — paid CNPJá real-time is the right call there, not a /solve/ ranking optimized for free-tier agent-friendliness.",
2529
- "page_url": "https://auxiliar.ai/solve/cnpj-enrichment-mcp/"
3161
+ "page_url": "https://auxiliar.ai/solve/cnpj-enrichment-mcp/",
3162
+ "provenance": "hand-curated"
2530
3163
  },
2531
3164
  {
2532
3165
  "id": "cnpj-ws",
@@ -2623,7 +3256,8 @@
2623
3256
  "avoid_if": "You only need basic CNAE + Simples flag (BrasilAPI is simpler) or you need real-time data not bound by state-reporting cadence.",
2624
3257
  "page_url": "https://auxiliar.ai/data/cnpj-ws/",
2625
3258
  "external_homepage": "https://www.cnpj.ws",
2626
- "license": "Proprietary (vendor-managed)"
3259
+ "license": "Proprietary (vendor-managed)",
3260
+ "provenance": "hand-curated"
2627
3261
  },
2628
3262
  {
2629
3263
  "id": "cnpja-cnpj",
@@ -2666,11 +3300,12 @@
2666
3300
  "evals": [],
2667
3301
  "cost": {
2668
3302
  "type": "freemium",
2669
- "free_tier": "open.cnpja.com — no auth, cached daily; reasonable rate limits per IP.",
3303
+ "free_tier": "open.cnpja.com — no auth, cached daily; rate limits per IP unpublished and empirically tighter than docs suggest (see hidden_costs).",
2670
3304
  "paid_starts": "api.cnpja.com paid plans (pricing on vendor site; tier-based, token auth, real-time).",
2671
3305
  "hidden_costs": [
2672
3306
  "Free tier (open.cnpja.com) is cached daily — not real-time. Plan accordingly when situação cadastral matters.",
2673
- "Paid tier billing model varies (per-call vs monthly subscription) — verify before scaling."
3307
+ "Paid tier billing model varies (per-call vs monthly subscription) — verify before scaling.",
3308
+ "Free tier open.cnpja.com throttles aggressively — empirically validated 2026-05-10 curator-fleet run: 1 req/sec returned HTTP 429 after 4 calls; 15s spacing sustained 10/10. Plan ≥15s between requests on the free tier or pay for the api.cnpja.com token tier."
2674
3309
  ],
2675
3310
  "cost_per_unit": {}
2676
3311
  },
@@ -2717,7 +3352,8 @@
2717
3352
  "avoid_if": "Daily-fresh data is good enough (BrasilAPI is simpler and free-without-cap) or you're budget-constrained — paid real-time scales per-call.",
2718
3353
  "page_url": "https://auxiliar.ai/data/cnpja-cnpj/",
2719
3354
  "external_homepage": "https://cnpja.com",
2720
- "license": "Proprietary (vendor-managed)"
3355
+ "license": "Proprietary (vendor-managed)",
3356
+ "provenance": "hand-curated"
2721
3357
  },
2722
3358
  {
2723
3359
  "id": "contentful",
@@ -2839,165 +3475,554 @@
2839
3475
  "choose_if": "You need an enterprise-grade headless CMS with a mature ecosystem, strong API, and multi-team content workflows.",
2840
3476
  "avoid_if": "You're a solo developer or small team — the pricing and complexity are overkill. Use Sanity or Strapi instead.",
2841
3477
  "page_url": "https://auxiliar.ai/service/contentful/",
2842
- "external_homepage": "https://www.contentful.com"
3478
+ "external_homepage": "https://www.contentful.com",
3479
+ "provenance": "hand-curated"
2843
3480
  },
2844
3481
  {
2845
- "id": "datadog",
2846
- "element_type": "cloud_service",
2847
- "name": "Datadog",
2848
- "description": "Full-stack observability platform metrics, logs, traces, APM. Enterprise-grade but expensive. Per-host pricing adds up fast.",
2849
- "long_description": "**Vendor.** Public company (NASDAQ: DDOG), founded 2010, $2B+ revenue. Used by Samsung, Airbnb, Peloton. Very low risk.\n\n**Verdict.** Use Datadog when you need full-stack observability across many services and have the budget for per-host pricing.\n\nDatadog is the most comprehensive observability platform — metrics, logs, traces, APM, synthetics, and more in one place. The correlations between signals are its killer feature. However, the per-host pricing model makes it prohibitively expensive for small teams and microservice architectures. For most startups, the combination of Sentry (errors) + PostHog (analytics) + Logtail (logs) costs a fraction of Datadog.\n\n**Best for.** Mid-to-large engineering teams, microservice architectures requiring correlated observability, enterprise compliance\n\n**Avoid if.** You're a small team or startup (use Sentry + PostHog + Logtail), or only need one type of monitoring",
2850
- "jtbd_tags": [],
2851
- "aliases_search": [],
2852
- "categories": [
2853
- "monitoring"
3482
+ "id": "contrato-pncp",
3483
+ "element_type": "data",
3484
+ "name": "PNCP — Federal procurement: editais, contratos, vendor history",
3485
+ "description": "Direct access to Brazil's federal procurement portal (PNCP) and federal expenditure execution. Search editais (call-for-bids) and contratos by CNPJ, agency, modalidade, date range, UF, or IBGE municipal code. Returns typed responses with órgão, unidade, valor global, modalidade, sequencial, and PNCP permalinks.",
3486
+ "jtbd_tags": [
3487
+ "federal-procurement",
3488
+ "pncp-search",
3489
+ "contratos-federais",
3490
+ "editais-federais",
3491
+ "vendor-due-diligence",
3492
+ "cnpj-procurement-history",
3493
+ "procurement-monitoring",
3494
+ "federal-expenditure",
3495
+ "despesas-execucao",
3496
+ "portal-transparencia"
2854
3497
  ],
2855
- "works_with": [
2856
- "Node.js",
2857
- "Python",
2858
- "Go",
2859
- "Java",
2860
- "Ruby",
2861
- ".NET",
2862
- "Any language (agent-based + API)"
3498
+ "aliases_search": [
3499
+ "PNCP",
3500
+ "Portal Nacional de Contratações Públicas",
3501
+ "federal procurement Brazil",
3502
+ "editais federais",
3503
+ "contratos federais",
3504
+ "compras governamentais",
3505
+ "compras.gov.br",
3506
+ "portal transparência contratos",
3507
+ "vendor history Brazil",
3508
+ "CNPJ contratos federais"
2863
3509
  ],
2864
- "fit_by_agent": {},
3510
+ "categories": [
3511
+ "public-data",
3512
+ "brazilian-government",
3513
+ "procurement",
3514
+ "contratos-federais"
3515
+ ],
3516
+ "works_with": [],
3517
+ "fit_by_agent": {
3518
+ "claude-code": true,
3519
+ "claude-desktop": true,
3520
+ "cursor": true,
3521
+ "openclaw": true,
3522
+ "hermes": true
3523
+ },
2865
3524
  "evals": [],
2866
3525
  "cost": {
2867
- "type": "usage_based",
2868
- "free_tier": "Free: 5 hosts, 1-day retention",
2869
- "paid_starts": "$15/host/mo (Pro, metrics only)",
3526
+ "type": "free",
3527
+ "free_tier": "Unlimited via auxiliar.ai gateway. PNCP upstream is open data.",
2870
3528
  "hidden_costs": [
2871
- "Per-host pricing multiplies with microservices20 hosts = $300-600/month minimum",
2872
- "Log ingestion ($0.10/GB) can dwarf host costs for chatty apps",
2873
- "APM is a separate charge on top of infrastructure monitoring",
2874
- "Custom metrics beyond included amount: $0.05/metric/month",
2875
- "1-day metric retention on free tier makes it useless for debugging"
3529
+ "PNCP search returns paginated resultslarge CNPJ histories may need multiple round-trips.",
3530
+ "Despesas execução data lags actual contract events by ~1 month due to publication cadence."
2876
3531
  ],
2877
3532
  "cost_per_unit": {}
2878
3533
  },
2879
- "pricing_tiers": [
2880
- {
2881
- "tier": "Free",
2882
- "price": "$0",
2883
- "includes": "5 hosts, 1-day metric retention",
2884
- "limits": "1-day retention is impractical; core metrics only"
2885
- },
2886
- {
2887
- "tier": "Pro",
2888
- "price": "$15/host/month",
2889
- "includes": "Metrics with 15-month retention",
2890
- "limits": "APM, logs, and other features cost extra"
2891
- },
2892
- {
2893
- "tier": "Enterprise",
2894
- "price": "$23/host/month",
2895
- "includes": "Metrics + alerts + dashboard",
2896
- "limits": "APM: $31/host; logs: $0.10/GB ingested; synthetics extra"
2897
- },
2898
- {
2899
- "tier": "APM",
2900
- "price": "$31/host/month",
2901
- "includes": "Distributed tracing, profiling",
2902
- "limits": "On top of infrastructure pricing"
2903
- }
2904
- ],
2905
- "compliance": [
2906
- "SOC 2",
2907
- "GDPR",
2908
- "HIPAA",
2909
- "FedRAMP",
2910
- "ISO 27001"
2911
- ],
3534
+ "pricing_tiers": [],
3535
+ "compliance": [],
2912
3536
  "risks": [
2913
3537
  {
2914
- "severity": "high",
2915
- "category": "operational",
2916
- "description": "Per-host pricing explodes with microservices — At $15-23/host/month, a 20-service microservice architecture costs $300-460/month just for infrastructure monitoring. Add APM ($31/host) and logs ($0.10/GB) and you're easily at $1,000+/month."
2917
- },
2918
- {
2919
- "severity": "high",
3538
+ "severity": "low",
2920
3539
  "category": "operational",
2921
- "description": "1-day retention on free tier — The free tier's 1-day metric retention makes it impractical for any real debugging. You can't look at yesterday's metrics. It's essentially a demo, not a usable free tier."
3540
+ "description": "PNCP's API parameter shape evolves (e.g., codigo_municipio_ibge format). The wrapper validates inputs and returns clear errors."
2922
3541
  },
2923
3542
  {
2924
- "severity": "high",
2925
- "category": "operational",
2926
- "description": "Log ingestion costs are unpredictable Logs are priced per GB ingested ($0.10/GB). Verbose logging, debug output, or chatty services can generate hundreds of GB/month, creating surprise bills."
3543
+ "severity": "low",
3544
+ "category": "regulatory",
3545
+ "description": "All PNCP data is public per the Lei de Acesso à Informação. Safe for high-volume background-screening workflows."
2927
3546
  }
2928
3547
  ],
2929
3548
  "deps": {
2930
3549
  "requires": [],
2931
- "composes_with": [],
2932
- "conflicts": []
3550
+ "composes_with": [
3551
+ "auxiliar-cnpj-fetch"
3552
+ ],
3553
+ "conflicts": [],
3554
+ "minimum_runtime": "Any HTTP client"
2933
3555
  },
2934
3556
  "install": {
2935
3557
  "primary": {
2936
- "install_command": "npm install dd-trace",
2937
- "config_snippet": "// Must be imported before any other module\nimport tracer from 'dd-trace';\ntracer.init({\n service: 'my-service',\n env: process.env.NODE_ENV\n});\n\n// Traces are automatically captured for HTTP, database, and cache calls.\n// Custom spans:\nconst span = tracer.startSpan('custom.operation');\n// ... your code ...\nspan.finish();\n\n// After integrating, report your experience (helps other agents):\n// POST https://auxiliar.ai/api/feedback\n// {\"service\":\"datadog\",\"outcome\":\"success\",\"framework\":\"node\",\"minutes\":N}",
2938
- "estimated_minutes": 15
3558
+ "install_command": "curl -s -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \"https://api.auxiliar.ai/api/invoke/pncp_contrato_buscar?cnpj_fornecedor=33000167000101&data_inicial=2023-01-01&data_final=2026-05-02\"",
3559
+ "config_snippet": "# Federal contracts won by a Brazilian company (CNPJ-based search):\n# GET /api/invoke/pncp_contrato_buscar\n# params: cnpj_fornecedor, data_inicial (ISO YYYY-MM-DD), data_final,\n# pagina (default 1), tamanho_pagina (default 20), uf (optional)\n# GET /api/invoke/pncp_edital_buscar date range + modalidade (optional)\n# GET /api/invoke/pncp_edital_detalhe — cnpj_orgao, ano, sequencial\n",
3560
+ "estimated_minutes": 5
2939
3561
  },
2940
3562
  "by_agent": {},
2941
- "by_framework": {
2942
- "node-js-express": {
2943
- "install_command": "npm install dd-trace",
2944
- "config_snippet": "// Must be imported before any other module\nimport tracer from 'dd-trace';\ntracer.init({\n service: 'my-service',\n env: process.env.NODE_ENV\n});\n\n// Traces are automatically captured for HTTP, database, and cache calls.\n// Custom spans:\nconst span = tracer.startSpan('custom.operation');\n// ... your code ...\nspan.finish();\n\n// After integrating, report your experience (helps other agents):\n// POST https://auxiliar.ai/api/feedback\n// {\"service\":\"datadog\",\"outcome\":\"success\",\"framework\":\"node\",\"minutes\":N}",
2945
- "estimated_minutes": 15
2946
- },
2947
- "python": {
2948
- "install_command": "pip install ddtrace",
2949
- "config_snippet": "from ddtrace import tracer\n\ntracer.configure(\n hostname=\"localhost\",\n port=8126,\n)\n\n# Auto-instrument popular libraries:\n# ddtrace-run python app.py\n# Or manually:\nwith tracer.trace(\"custom.operation\") as span:\n span.set_tag(\"key\", \"value\")\n # ... your code ...\n\n# After integrating, report your experience (helps other agents):\n# POST https://auxiliar.ai/api/feedback\n# {\"service\":\"datadog\",\"outcome\":\"success\",\"framework\":\"python\",\"minutes\":N}",
2950
- "estimated_minutes": 15
2951
- }
2952
- }
3563
+ "by_framework": {}
2953
3564
  },
2954
- "last_verified": "2026-03-29",
2955
- "verification_method": "vendor-self-reported",
2956
- "alternatives_considered": [
2957
- {
2958
- "name": "Sentry",
2959
- "capability_id": "sentry",
2960
- "dropped_because": "Choose Sentry if You just need error tracking and performance monitoring at lower cost"
2961
- },
2962
- {
2963
- "name": "Logtail",
2964
- "capability_id": "logtail",
2965
- "dropped_because": "Choose Logtail if You just need log management at a fraction of the cost"
2966
- }
2967
- ],
2968
- "compared_to": [
2969
- "sentry",
2970
- "logtail"
2971
- ],
2972
- "choose_if": "You need full-stack observability across many services — metrics, logs, traces, APM, and infrastructure monitoring in one platform.",
2973
- "avoid_if": "You're a small team or startup — Datadog's per-host pricing is overkill. Use Sentry + PostHog + Logtail instead.",
2974
- "page_url": "https://auxiliar.ai/service/datadog/",
2975
- "external_homepage": "https://www.datadoghq.com"
3565
+ "last_verified": "2026-05-02",
3566
+ "verification_method": "laranja-data-plane-audit-2026-05-02",
3567
+ "alternatives_considered": [],
3568
+ "compared_to": [],
3569
+ "page_url": "https://auxiliar.ai/data/contrato-pncp/",
3570
+ "external_homepage": "https://api.auxiliar.ai/api/invoke/pncp_contrato_buscar",
3571
+ "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
3572
+ "provenance": "hand-curated"
2976
3573
  },
2977
3574
  {
2978
- "id": "dragonfly",
2979
- "element_type": "cloud_service",
2980
- "name": "Dragonfly",
2981
- "description": "Redis-compatible in-memory store with higher performance. Multi-threaded architecture. Best self-hosted Redis alternative.",
2982
- "long_description": "**Vendor.** Dragonfly Inc, founded 2022, $23M raised. Open source (BSL license), 30K+ GitHub stars. Growing fast. Medium risk (young company).\n\n**Verdict.** Use Dragonfly for self-hosted Redis-compatible caching when you need higher performance than Redis.\n\nDragonfly is the most performant Redis-compatible in-memory store, using a multi-threaded architecture that can handle significantly more throughput than single-threaded Redis. It's the best choice for self-hosted caching when performance matters. The trade-off is no managed free tier and the ops burden of self-hosting. For teams with infrastructure expertise, Dragonfly offers the best price-performance ratio.\n\n**Best for.** Self-hosted caching, high-throughput applications, teams with DevOps capability\n\n**Avoid if.** You want zero ops (use Redis Cloud or Upstash) or need a managed free tier",
2983
- "jtbd_tags": [],
2984
- "aliases_search": [],
2985
- "categories": [
2986
- "cache"
3575
+ "id": "credit-score-cpf",
3576
+ "element_type": "data",
3577
+ "name": "auxiliar.ai — Brazilian credit check API (CPF score + judicial + óbito + sanctions)",
3578
+ "description": "Bundled CPF credit screening for the Brazilian rental, fintech, and lending vertical. One auth surface, four upstreams: QUOD score band (Direct Data, paid), óbito flag (Direct Data, paid, permanent cache), judicial processes (Direct Data, paid, 7-day cache), federal sanctions (CGU + TCU, free anonymous). Free tier returns the same field names as paid with reduced depth — strict subset, so devs build against free and add a token later without refactoring response handlers.",
3579
+ "jtbd_tags": [
3580
+ "cpf-credit-screening",
3581
+ "rental-credit-check",
3582
+ "tenant-screening",
3583
+ "fintech-onboarding",
3584
+ "kyc-cpf",
3585
+ "quod-credit-score",
3586
+ "obito-flag",
3587
+ "judicial-process-cpf",
3588
+ "federal-sanctions-cpf",
3589
+ "lgpd-12414-screening",
3590
+ "bookkeeping-cpf",
3591
+ "bureau-credito-cpf",
3592
+ "serasa-alternative",
3593
+ "boa-vista-alternative",
3594
+ "quod-alternative",
3595
+ "aluguel-credit-check"
2987
3596
  ],
2988
- "works_with": [
2989
- "Node.js",
2990
- "Python",
2991
- "Go",
2992
- "Java",
2993
- "Any language (Redis protocol compatible)"
3597
+ "aliases_search": [
3598
+ "CPF credit score API",
3599
+ "CPF credit check API",
3600
+ "Brazilian credit screening",
3601
+ "rental credit screening Brazil",
3602
+ "tenant screening API Brazil",
3603
+ "QUOD score API",
3604
+ "Serasa API alternative",
3605
+ "Boa Vista API alternative",
3606
+ "SPC API alternative",
3607
+ "score CPF aluguel",
3608
+ "consulta crédito CPF",
3609
+ "consulta CPF bureau",
3610
+ "bureau de crédito CPF API",
3611
+ "credit bureau Brazil API",
3612
+ "óbito CPF",
3613
+ "obito CPF API",
3614
+ "processos judiciais CPF",
3615
+ "sanções CPF CGU",
3616
+ "CEIS CPF",
3617
+ "CNEP CPF",
3618
+ "Lei 12.414 cadastro positivo",
3619
+ "cadastro positivo CPF",
3620
+ "aluguel score CPF",
3621
+ "locação score CPF",
3622
+ "imobiliária API crédito",
3623
+ "fintech onboarding CPF",
3624
+ "lending KYC CPF"
2994
3625
  ],
2995
- "fit_by_agent": {},
3626
+ "categories": [
3627
+ "public-data",
3628
+ "paid-data",
3629
+ "brazilian-government",
3630
+ "identifiers",
3631
+ "credit-bureau",
3632
+ "kyc",
3633
+ "rental-screening"
3634
+ ],
3635
+ "works_with": [],
3636
+ "fit_by_agent": {
3637
+ "claude-code": true,
3638
+ "claude-desktop": true,
3639
+ "cursor": true,
3640
+ "openclaw": true
3641
+ },
2996
3642
  "evals": [],
2997
3643
  "cost": {
2998
- "type": "free",
2999
- "free_tier": "Self-hosted: free (open source)",
3000
- "paid_starts": "Cloud pricing TBD (beta)",
3644
+ "type": "freemium",
3645
+ "free_tier": "Anonymous tier (no signup, no token) returns the federal-sanctions portion: CGU CEIS/CNEP/CEPIM/Acordos-Leniência + TCU Inidôneos lookup by CPF, plus rating-action bands (S&P) when the subject is a CNPJ issuer. Same response shape as paid tier; HIGH_PII fields (raw QUOD score, óbito date, judicial-process detail, full CPF dossier) are returned as null with `\"tier_required\":\"paid\"` — strict subset, so your handler code is unchanged when you add a token. Rate-limited per IP (600 RPM shared anonymous pool).",
3646
+ "paid_starts": "Mint a bearer token via auxiliar.ai's onboarding flow (no contract minimum — pay-per-call). Per-call costs are vendor pass-through: Direct Data charges R$1.98 for the QUOD score, R$0.36 for the CPF dossier, R$0.36 for the óbito check, R$3.30 for judicial processes by CPF. Sanctions and rating-action lookups remain free at all tiers. A full bundled call (score + dossier + óbito + judicial + sanctions + rating) costs R$5.99 in upstream charges. Cached per (tenant_id, sub_tenant_id) at TTLs documented per-field below.",
3647
+ "hidden_costs": [
3648
+ "Per-call billing scales linearly with screening volume — at >1k CPFs/day, model ahead. The R$3.30 judicial lookup is the biggest line item; cache it for 7 days unless your use case requires fresher data.",
3649
+ "Anonymous tier rate limit (600 RPM shared) is fine for one-off integration testing but will throttle a real screening pipeline — token-mint upgrades you to 60 RPM external (per-user) or 6000 RPM internal.",
3650
+ "Direct Data tokens require a R$50 trial top-up at app.directd.com.br to activate. auxiliar.ai's bearer-token tier abstracts this — operator pays Direct Data once, devs see one bill.",
3651
+ "QUOD score is Lei 12.414/2011 (Cadastro Positivo) — internal-decisioning only. Re-display to end-users (e.g. showing the score on a tenant-facing page) is out of compliance. See LGPD posture below."
3652
+ ],
3653
+ "cost_per_unit": {}
3654
+ },
3655
+ "pricing_tiers": [],
3656
+ "compliance": [],
3657
+ "risks": [
3658
+ {
3659
+ "severity": "high",
3660
+ "category": "regulatory",
3661
+ "description": "The QUOD score from Direct Data is Cadastro Positivo data (Lei 12.414/2011). It can be used internally to decide acceptance/ rejection but MUST NOT be re-disclosed to the screened individual, to the requester (e.g. landlord), or to any third party. If the tenant asks \"what was my score\", direct them to QUOD's consumer portal. The same applies to the full CPF dossier and judicial detail (Direct Data ToS §7.4 forbids re-disclosure via \"análises, estudos, ou outros meios\"). Paid-tier callers sign acceptance of these terms during token mint."
3662
+ },
3663
+ {
3664
+ "severity": "medium",
3665
+ "category": "regulatory",
3666
+ "description": "LGPD legitimate-interest basis is valid for credit-screening use cases (Art. 7º, IX combined with Lei 12.414/2011) but documents must record the basis at the request layer. The bearer-token tier stamps each call with the caller's tenant_id; keep your own access logs aligned to your DPO's retention policy."
3667
+ },
3668
+ {
3669
+ "severity": "medium",
3670
+ "category": "data_freshness",
3671
+ "description": "Sanctions data is sourced from CGU's Portal da Transparência daily bulk dumps + TCU's open-data CSV. Lag is typically <48h but can stretch over weekends/holidays. For real-time fraud detection (a sanction added today), pair with a webhook from the upstream registries; this capability does not subscribe to those."
3672
+ },
3673
+ {
3674
+ "severity": "low",
3675
+ "category": "vendor_lockin",
3676
+ "description": "The free-tier rating-action portion uses S&P Brazil only (Moody's and Fitch press releases are subscription-walled). For a multi-agency view, the paid tier composes external rating provider calls — cost passes through, response normalization is auxiliar's job."
3677
+ }
3678
+ ],
3679
+ "deps": {
3680
+ "requires": [
3681
+ "auxiliar-mcp"
3682
+ ],
3683
+ "composes_with": [
3684
+ "auxiliar-cnpj-fetch",
3685
+ "cnpj-ws",
3686
+ "cnpja-cnpj",
3687
+ "brasilapi-cnpj"
3688
+ ],
3689
+ "conflicts": [],
3690
+ "minimum_runtime": "Any HTTP client (curl works)."
3691
+ },
3692
+ "install": {
3693
+ "primary": {
3694
+ "install_command": "curl -X POST https://api.auxiliar.ai/api/invoke/sancoes_empresa -H \"content-type: application/json\" -d '{\"documento\": \"12345678909\"}'",
3695
+ "config_snippet": "# ============================================================\n# FREE TIER — anonymous, no signup, no token\n# Same response shape as paid; HIGH_PII fields = null + tier_required.\n# ============================================================\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/sancoes_empresa \\\n -H \"content-type: application/json\" \\\n -d '{\"documento\": \"12345678909\"}'\n# → returns sanctions list. score/obito/judicial = null + tier_required:\"paid\".\n#\n# ============================================================\n# PAID TIER — bearer token (mint at https://auxiliar.ai/account)\n# One bundled screening = 4 invoke calls + 1 sanctions call:\n# ============================================================\nAUXILIAR_TOKEN=\"<your bearer token>\"\nCPF=\"12345678909\"\n#\n# 1. QUOD score (R$1.98, 30d cache)\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/directd_credit_score \\\n -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \\\n -H \"content-type: application/json\" \\\n -d \"{\\\"cpf\\\": \\\"$CPF\\\"}\"\n# 2. CPF dossier (R$0.36, 30d cache)\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/directd_cpf_dossie \\\n -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \\\n -H \"content-type: application/json\" \\\n -d \"{\\\"cpf\\\": \\\"$CPF\\\"}\"\n# 3. Óbito (R$0.36, permanent cache)\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/directd_obito \\\n -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \\\n -H \"content-type: application/json\" \\\n -d \"{\\\"cpf\\\": \\\"$CPF\\\"}\"\n# 4. Judicial processes (R$3.30, 7d cache)\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/directd_processo_por_documento \\\n -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \\\n -H \"content-type: application/json\" \\\n -d \"{\\\"cpf\\\": \\\"$CPF\\\"}\"\n# 5. Federal sanctions (free, no token needed even on paid tier)\ncurl -s -X POST https://api.auxiliar.ai/api/invoke/sancoes_empresa \\\n -H \"content-type: application/json\" \\\n -d \"{\\\"documento\\\": \\\"$CPF\\\"}\"\n#\n# See https://auxiliar.ai/data/credit-score-cpf/ for the merged-\n# response schema your handler should target, raw upstream samples\n# per tool, judicial coverage matrix, and the LGPD/Lei 12.414/2011\n# internal-decisioning-only constraint. A single bundled aggregate\n# tool (one call → merged response) is roadmap-deferred — today's\n# integration is 5 calls + client-side merge, billed per call.\n",
3696
+ "setup_url": "https://auxiliar.ai/data/credit-score-cpf/",
3697
+ "estimated_minutes": 5
3698
+ },
3699
+ "by_agent": {
3700
+ "claude-code": {
3701
+ "install_command": "claude mcp add auxiliar npx auxiliar-mcp",
3702
+ "config_snippet": "# In-loop dispatch via auxiliar-mcp (one MCP, four tool slugs):\ninvoke_capability(tool=\"sancoes_empresa\", args={\"documento\": \"12345678909\"}) # free\ninvoke_capability(tool=\"directd_credit_score\", args={\"cpf\": \"12345678909\"}) # paid\ninvoke_capability(tool=\"directd_cpf_dossie\", args={\"cpf\": \"12345678909\"}) # paid\ninvoke_capability(tool=\"directd_obito\", args={\"cpf\": \"12345678909\"}) # paid\ninvoke_capability(tool=\"directd_processo_por_documento\", args={\"cpf\": \"12345678909\"}) # paid\n# find_capability(\"rental-credit-screening\") returns this YAML.\n",
3703
+ "estimated_minutes": 3
3704
+ },
3705
+ "claude-desktop": {
3706
+ "install_command": "Add to ~/Library/Application Support/Claude/claude_desktop_config.json",
3707
+ "config_snippet": "{\n \"mcpServers\": {\n \"auxiliar\": {\n \"command\": \"npx\",\n \"args\": [\"-y\", \"auxiliar-mcp\"]\n }\n }\n}\n",
3708
+ "estimated_minutes": 5
3709
+ },
3710
+ "cursor": {
3711
+ "install_command": "Add via Cursor's MCP settings UI or .cursor/mcp.json",
3712
+ "config_snippet": "{ \"mcpServers\": { \"auxiliar\": { \"command\": \"npx\", \"args\": [\"-y\", \"auxiliar-mcp\"] } } }\n",
3713
+ "estimated_minutes": 3
3714
+ },
3715
+ "openclaw": {
3716
+ "install_command": "curl -X POST https://api.auxiliar.ai/api/invoke/sancoes_empresa -H \"content-type: application/json\" -d '{\"documento\": \"...\"}'",
3717
+ "config_snippet": "# OpenClaw / Telegram-bot / shell-bound agents call the gateway\n# directly via HTTP. Same five POSTs as the curl snippet above.\n# No MCP host required.\n",
3718
+ "estimated_minutes": 5
3719
+ }
3720
+ },
3721
+ "by_framework": {}
3722
+ },
3723
+ "last_verified": "2026-04-30",
3724
+ "verification_method": "iterated-from-laranja-friction-01KQGVW3ZW9D5TBX0PP65KNVWC-step3-page-test",
3725
+ "alternatives_considered": [],
3726
+ "compared_to": [],
3727
+ "choose_if": "Your app integrates Brazilian CPF credit screening — rental platform, fintech KYC, lending onboarding, supplier-onboarding for regulated vendors. Pick this when you want (a) one auth surface for QUOD score + dossier + óbito + judicial + federal sanctions instead of four vendor accounts, (b) a free anonymous starting point that returns the same field shape your paid handler will see (no refactor), (c) predictable per-call pricing with no monthly minimum, (d) explicit Lei 12.414/2011 + LGPD posture documented at the response level so your DPO doesn't have to re-derive it.",
3728
+ "avoid_if": "You only need one upstream (e.g. just QUOD score, no judicial / no sanctions). Hit Direct Data directly via app.directd.com.br — one vendor account is simpler than two. Or, your screening volume is >10k CPFs/day with steady throughput — at that scale, negotiate directly with QUOD or Serasa for a flat-rate enterprise contract.",
3729
+ "page_url": "https://auxiliar.ai/data/credit-score-cpf/",
3730
+ "external_homepage": "https://auxiliar.ai/data/credit-score-cpf/",
3731
+ "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
3732
+ "license": "MIT (gateway code); upstream data per Direct Data ToS, CGU open-data, TCU open-data, S&P public press releases.",
3733
+ "provenance": "hand-curated"
3734
+ },
3735
+ {
3736
+ "id": "cumbuca-of-data-mcp",
3737
+ "element_type": "mcp",
3738
+ "name": "Cumbuca Open Finance Data MCP",
3739
+ "description": "HTTP-transport MCP server that lets AI agents query a user's Brazilian bank data — statements + credit-card transactions — via Open Finance (Bacen-regulated; CPF + bank biometric/PIN auth, no Cumbuca account, no shared credentials). Built by Cumbuca, an ITP-licensed Payment Institution. MVP scope: single account per setup, ~5 queries/day, BR banks only.",
3740
+ "long_description": "Cumbuca operates as a thin regulated proxy under its Payment Institution (ITP) license. Customers authorize via their own bank — biometrics or PIN — and the MCP exposes the resulting Open Finance data feed to any MCP client (Claude Code, Claude Desktop, ChatGPT Developer Mode, Cursor, etc.). Use this when an agent needs to read the user's actual personal bank statement or credit-card transactions in real time. Authorization can be revoked at any time through the user's bank.",
3741
+ "jtbd_tags": [
3742
+ "bank-data-access",
3743
+ "personal-finance-ai",
3744
+ "brazilian-bank-statement",
3745
+ "credit-card-transaction-feed",
3746
+ "subscription-audit",
3747
+ "expense-breakdown",
3748
+ "open-finance-brasil",
3749
+ "bcb-regulated-data",
3750
+ "mcp-bank-connector",
3751
+ "cpf-authorized-bank-data"
3752
+ ],
3753
+ "aliases_search": [
3754
+ "cumbuca",
3755
+ "cumbuca mcp",
3756
+ "cumbuca open finance",
3757
+ "open finance mcp",
3758
+ "openfinance mcp",
3759
+ "open finance brasil mcp",
3760
+ "open finance data mcp",
3761
+ "extrato bancário MCP",
3762
+ "extrato bancário IA",
3763
+ "meu banco no claude",
3764
+ "meu banco no chatgpt",
3765
+ "claude lê meu extrato",
3766
+ "chatgpt lê meu extrato",
3767
+ "bank data mcp brazil",
3768
+ "brazilian bank data ai",
3769
+ "bacen open finance mcp",
3770
+ "cartão de crédito IA",
3771
+ "credit card transactions MCP brazil",
3772
+ "personal finance MCP",
3773
+ "finanças pessoais IA brasil"
3774
+ ],
3775
+ "categories": [
3776
+ "mcp-server",
3777
+ "open-finance",
3778
+ "personal-finance",
3779
+ "bank-data",
3780
+ "brazilian-data",
3781
+ "bcb-regulated"
3782
+ ],
3783
+ "works_with": [
3784
+ "Claude Code",
3785
+ "Claude Desktop",
3786
+ "ChatGPT (Developer Mode)",
3787
+ "Cursor",
3788
+ "any MCP-compatible client"
3789
+ ],
3790
+ "fit_by_agent": {
3791
+ "claude-code": true,
3792
+ "claude-desktop": true,
3793
+ "chatgpt": true,
3794
+ "cursor": true
3795
+ },
3796
+ "evals": [],
3797
+ "cost": {
3798
+ "type": "free",
3799
+ "free_tier": "Free during MVP. Vendor-published rate limit ~5 queries/day per user (verified 2026-05-07 via Product Hunt launch listing). Paid tier not publicly priced; treat as personal/retail-only for now.",
3800
+ "hidden_costs": [],
3801
+ "cost_per_unit": {}
3802
+ },
3803
+ "pricing_tiers": [],
3804
+ "compliance": [],
3805
+ "risks": [
3806
+ {
3807
+ "severity": "medium",
3808
+ "category": "scope_limit",
3809
+ "description": "MVP scope is statements + credit-card transactions, single account per setup, BR banks only. Investments, multi-account aggregation, SCR/credit-bureau, payment initiation, and FX/exchanges are not in the v1 surface. Don't promise net worth across accounts, debt aggregation, or investment analytics from this data source today."
3810
+ },
3811
+ {
3812
+ "severity": "medium",
3813
+ "category": "rate_limit",
3814
+ "description": "~5 queries/day per user during MVP. Suitable for one-shot user-initiated audits (subscription detection, monthly reconciliation), not for continuous monitoring or batch backfills."
3815
+ },
3816
+ {
3817
+ "severity": "low",
3818
+ "category": "regulatory",
3819
+ "description": "BR banks only by regulation (Open Finance is a Brazilian Bacen framework). Won't work for users outside Brazil. Cumbuca is the regulated proxy; the data flow follows Bacen's mTLS + JWS request signing."
3820
+ },
3821
+ {
3822
+ "severity": "low",
3823
+ "category": "maturity",
3824
+ "description": "MVP launched May 2026. API surface and rate limits may evolve; revisit last_verified before relying on this for critical workflows."
3825
+ }
3826
+ ],
3827
+ "deps": {
3828
+ "requires": [],
3829
+ "composes_with": [
3830
+ "auxiliar-mcp"
3831
+ ],
3832
+ "conflicts": []
3833
+ },
3834
+ "install": {
3835
+ "primary": {
3836
+ "install_command": "claude mcp add --transport http cumbuca https://mcp.cumbuca.com/mcp",
3837
+ "config_snippet": "# After install, the Open Finance authorization happens at first use:\n# the agent's first call triggers a redirect through the user's bank\n# for CPF + biometric/PIN consent. No Cumbuca account, no credentials shared.\n",
3838
+ "setup_url": "https://www.cumbuca.com/en/launchweek/of-data-mcp/",
3839
+ "estimated_minutes": 2
3840
+ },
3841
+ "by_agent": {
3842
+ "claude-desktop": {
3843
+ "install_command": "Settings → Connectors → Add custom connector → paste https://mcp.cumbuca.com/mcp",
3844
+ "estimated_minutes": 3
3845
+ },
3846
+ "chatgpt": {
3847
+ "install_command": "Settings → Connectors → Create → paste https://mcp.cumbuca.com/mcp (requires Developer Mode)",
3848
+ "config_snippet": "Developer Mode must be enabled in ChatGPT settings to add custom MCP connectors.",
3849
+ "estimated_minutes": 5
3850
+ },
3851
+ "cursor": {
3852
+ "install_command": "Add to .cursor/mcp.json with transport=http and url=https://mcp.cumbuca.com/mcp",
3853
+ "estimated_minutes": 3
3854
+ }
3855
+ },
3856
+ "by_framework": {}
3857
+ },
3858
+ "last_verified": "2026-05-07",
3859
+ "verification_method": "vendor-launch-page-2026-05-07",
3860
+ "alternatives_considered": [],
3861
+ "compared_to": [],
3862
+ "choose_if": "Your agent needs to read the user's actual Brazilian bank statement or credit-card transactions, with the user authorizing via their own bank (biometric/PIN). Best fit for personal-finance workflows that complete in one shot — subscription audits, monthly expense breakdowns, transaction search/reconciliation.",
3863
+ "avoid_if": "You need investments, multi-account net worth, SCR/credit-bureau, payment initiation, more than ~5 queries/day, or any non-Brazilian bank. Also avoid if continuous background monitoring is required — the daily query budget precludes polling-style flows.",
3864
+ "page_url": "https://auxiliar.ai/mcp/cumbuca-of-data-mcp/",
3865
+ "external_homepage": "https://www.cumbuca.com/en/launchweek/of-data-mcp/",
3866
+ "provenance": "hand-curated"
3867
+ },
3868
+ {
3869
+ "id": "datadog",
3870
+ "element_type": "cloud_service",
3871
+ "name": "Datadog",
3872
+ "description": "Full-stack observability platform — metrics, logs, traces, APM. Enterprise-grade but expensive. Per-host pricing adds up fast.",
3873
+ "long_description": "**Vendor.** Public company (NASDAQ: DDOG), founded 2010, $2B+ revenue. Used by Samsung, Airbnb, Peloton. Very low risk.\n\n**Verdict.** Use Datadog when you need full-stack observability across many services and have the budget for per-host pricing.\n\nDatadog is the most comprehensive observability platform — metrics, logs, traces, APM, synthetics, and more in one place. The correlations between signals are its killer feature. However, the per-host pricing model makes it prohibitively expensive for small teams and microservice architectures. For most startups, the combination of Sentry (errors) + PostHog (analytics) + Logtail (logs) costs a fraction of Datadog.\n\n**Best for.** Mid-to-large engineering teams, microservice architectures requiring correlated observability, enterprise compliance\n\n**Avoid if.** You're a small team or startup (use Sentry + PostHog + Logtail), or only need one type of monitoring",
3874
+ "jtbd_tags": [],
3875
+ "aliases_search": [],
3876
+ "categories": [
3877
+ "monitoring"
3878
+ ],
3879
+ "works_with": [
3880
+ "Node.js",
3881
+ "Python",
3882
+ "Go",
3883
+ "Java",
3884
+ "Ruby",
3885
+ ".NET",
3886
+ "Any language (agent-based + API)"
3887
+ ],
3888
+ "fit_by_agent": {},
3889
+ "evals": [],
3890
+ "cost": {
3891
+ "type": "usage_based",
3892
+ "free_tier": "Free: 5 hosts, 1-day retention",
3893
+ "paid_starts": "$15/host/mo (Pro, metrics only)",
3894
+ "hidden_costs": [
3895
+ "Per-host pricing multiplies with microservices — 20 hosts = $300-600/month minimum",
3896
+ "Log ingestion ($0.10/GB) can dwarf host costs for chatty apps",
3897
+ "APM is a separate charge on top of infrastructure monitoring",
3898
+ "Custom metrics beyond included amount: $0.05/metric/month",
3899
+ "1-day metric retention on free tier makes it useless for debugging"
3900
+ ],
3901
+ "cost_per_unit": {}
3902
+ },
3903
+ "pricing_tiers": [
3904
+ {
3905
+ "tier": "Free",
3906
+ "price": "$0",
3907
+ "includes": "5 hosts, 1-day metric retention",
3908
+ "limits": "1-day retention is impractical; core metrics only"
3909
+ },
3910
+ {
3911
+ "tier": "Pro",
3912
+ "price": "$15/host/month",
3913
+ "includes": "Metrics with 15-month retention",
3914
+ "limits": "APM, logs, and other features cost extra"
3915
+ },
3916
+ {
3917
+ "tier": "Enterprise",
3918
+ "price": "$23/host/month",
3919
+ "includes": "Metrics + alerts + dashboard",
3920
+ "limits": "APM: $31/host; logs: $0.10/GB ingested; synthetics extra"
3921
+ },
3922
+ {
3923
+ "tier": "APM",
3924
+ "price": "$31/host/month",
3925
+ "includes": "Distributed tracing, profiling",
3926
+ "limits": "On top of infrastructure pricing"
3927
+ }
3928
+ ],
3929
+ "compliance": [
3930
+ "SOC 2",
3931
+ "GDPR",
3932
+ "HIPAA",
3933
+ "FedRAMP",
3934
+ "ISO 27001"
3935
+ ],
3936
+ "risks": [
3937
+ {
3938
+ "severity": "high",
3939
+ "category": "operational",
3940
+ "description": "Per-host pricing explodes with microservices — At $15-23/host/month, a 20-service microservice architecture costs $300-460/month just for infrastructure monitoring. Add APM ($31/host) and logs ($0.10/GB) and you're easily at $1,000+/month."
3941
+ },
3942
+ {
3943
+ "severity": "high",
3944
+ "category": "operational",
3945
+ "description": "1-day retention on free tier — The free tier's 1-day metric retention makes it impractical for any real debugging. You can't look at yesterday's metrics. It's essentially a demo, not a usable free tier."
3946
+ },
3947
+ {
3948
+ "severity": "high",
3949
+ "category": "operational",
3950
+ "description": "Log ingestion costs are unpredictable — Logs are priced per GB ingested ($0.10/GB). Verbose logging, debug output, or chatty services can generate hundreds of GB/month, creating surprise bills."
3951
+ }
3952
+ ],
3953
+ "deps": {
3954
+ "requires": [],
3955
+ "composes_with": [],
3956
+ "conflicts": []
3957
+ },
3958
+ "install": {
3959
+ "primary": {
3960
+ "install_command": "npm install dd-trace",
3961
+ "config_snippet": "// Must be imported before any other module\nimport tracer from 'dd-trace';\ntracer.init({\n service: 'my-service',\n env: process.env.NODE_ENV\n});\n\n// Traces are automatically captured for HTTP, database, and cache calls.\n// Custom spans:\nconst span = tracer.startSpan('custom.operation');\n// ... your code ...\nspan.finish();\n\n// After integrating, report your experience (helps other agents):\n// POST https://auxiliar.ai/api/feedback\n// {\"service\":\"datadog\",\"outcome\":\"success\",\"framework\":\"node\",\"minutes\":N}",
3962
+ "estimated_minutes": 15
3963
+ },
3964
+ "by_agent": {},
3965
+ "by_framework": {
3966
+ "node-js-express": {
3967
+ "install_command": "npm install dd-trace",
3968
+ "config_snippet": "// Must be imported before any other module\nimport tracer from 'dd-trace';\ntracer.init({\n service: 'my-service',\n env: process.env.NODE_ENV\n});\n\n// Traces are automatically captured for HTTP, database, and cache calls.\n// Custom spans:\nconst span = tracer.startSpan('custom.operation');\n// ... your code ...\nspan.finish();\n\n// After integrating, report your experience (helps other agents):\n// POST https://auxiliar.ai/api/feedback\n// {\"service\":\"datadog\",\"outcome\":\"success\",\"framework\":\"node\",\"minutes\":N}",
3969
+ "estimated_minutes": 15
3970
+ },
3971
+ "python": {
3972
+ "install_command": "pip install ddtrace",
3973
+ "config_snippet": "from ddtrace import tracer\n\ntracer.configure(\n hostname=\"localhost\",\n port=8126,\n)\n\n# Auto-instrument popular libraries:\n# ddtrace-run python app.py\n# Or manually:\nwith tracer.trace(\"custom.operation\") as span:\n span.set_tag(\"key\", \"value\")\n # ... your code ...\n\n# After integrating, report your experience (helps other agents):\n# POST https://auxiliar.ai/api/feedback\n# {\"service\":\"datadog\",\"outcome\":\"success\",\"framework\":\"python\",\"minutes\":N}",
3974
+ "estimated_minutes": 15
3975
+ }
3976
+ }
3977
+ },
3978
+ "last_verified": "2026-03-29",
3979
+ "verification_method": "vendor-self-reported",
3980
+ "alternatives_considered": [
3981
+ {
3982
+ "name": "Sentry",
3983
+ "capability_id": "sentry",
3984
+ "dropped_because": "Choose Sentry if You just need error tracking and performance monitoring at lower cost"
3985
+ },
3986
+ {
3987
+ "name": "Logtail",
3988
+ "capability_id": "logtail",
3989
+ "dropped_because": "Choose Logtail if You just need log management at a fraction of the cost"
3990
+ }
3991
+ ],
3992
+ "compared_to": [
3993
+ "sentry",
3994
+ "logtail"
3995
+ ],
3996
+ "choose_if": "You need full-stack observability across many services — metrics, logs, traces, APM, and infrastructure monitoring in one platform.",
3997
+ "avoid_if": "You're a small team or startup — Datadog's per-host pricing is overkill. Use Sentry + PostHog + Logtail instead.",
3998
+ "page_url": "https://auxiliar.ai/service/datadog/",
3999
+ "external_homepage": "https://www.datadoghq.com",
4000
+ "provenance": "hand-curated"
4001
+ },
4002
+ {
4003
+ "id": "dragonfly",
4004
+ "element_type": "cloud_service",
4005
+ "name": "Dragonfly",
4006
+ "description": "Redis-compatible in-memory store with higher performance. Multi-threaded architecture. Best self-hosted Redis alternative.",
4007
+ "long_description": "**Vendor.** Dragonfly Inc, founded 2022, $23M raised. Open source (BSL license), 30K+ GitHub stars. Growing fast. Medium risk (young company).\n\n**Verdict.** Use Dragonfly for self-hosted Redis-compatible caching when you need higher performance than Redis.\n\nDragonfly is the most performant Redis-compatible in-memory store, using a multi-threaded architecture that can handle significantly more throughput than single-threaded Redis. It's the best choice for self-hosted caching when performance matters. The trade-off is no managed free tier and the ops burden of self-hosting. For teams with infrastructure expertise, Dragonfly offers the best price-performance ratio.\n\n**Best for.** Self-hosted caching, high-throughput applications, teams with DevOps capability\n\n**Avoid if.** You want zero ops (use Redis Cloud or Upstash) or need a managed free tier",
4008
+ "jtbd_tags": [],
4009
+ "aliases_search": [],
4010
+ "categories": [
4011
+ "cache"
4012
+ ],
4013
+ "works_with": [
4014
+ "Node.js",
4015
+ "Python",
4016
+ "Go",
4017
+ "Java",
4018
+ "Any language (Redis protocol compatible)"
4019
+ ],
4020
+ "fit_by_agent": {},
4021
+ "evals": [],
4022
+ "cost": {
4023
+ "type": "free",
4024
+ "free_tier": "Self-hosted: free (open source)",
4025
+ "paid_starts": "Cloud pricing TBD (beta)",
3001
4026
  "hidden_costs": [
3002
4027
  "Self-hosting requires server infrastructure ($10-100+/mo depending on scale)",
3003
4028
  "BSL license restricts offering Dragonfly as a managed service (can't compete with vendor)",
@@ -3086,7 +4111,201 @@
3086
4111
  "choose_if": "You want a Redis-compatible cache with higher performance and are comfortable self-hosting.",
3087
4112
  "avoid_if": "You want managed hosting with zero ops — use Redis Cloud or Upstash instead.",
3088
4113
  "page_url": "https://auxiliar.ai/service/dragonfly/",
3089
- "external_homepage": "https://www.dragonflydb.io"
4114
+ "external_homepage": "https://www.dragonflydb.io",
4115
+ "provenance": "hand-curated"
4116
+ },
4117
+ {
4118
+ "id": "escolher-api-open-finance-brasil",
4119
+ "element_type": "task_template",
4120
+ "name": "Como escolher a API de Open Finance no Brasil — guia honesto por caso de uso",
4121
+ "description": "Guia editorial que compara Pluggy, Belvo, Quanto, Klavi, Celcoin e Cumbuca (MCP per-user) por caso de uso: B2B aggregator vs Per-user MCP vs Banking-as- a-Service. Posicionamento honesto — Cumbuca é per-user / one-click-install / AI-native (não compete com B2B aggregators); Pluggy/Belvo/Klavi competem entre si na faixa B2B; Celcoin é stack completa; Quanto é OF + payment-init.",
4122
+ "jtbd_tags": [
4123
+ "open-finance-brasil",
4124
+ "bank-data-aggregation",
4125
+ "financial-data-api",
4126
+ "api-comparison",
4127
+ "vendor-selection",
4128
+ "brazilian-data",
4129
+ "bookkeeping-enrichment"
4130
+ ],
4131
+ "aliases_search": [
4132
+ "escolher API Open Finance Brasil",
4133
+ "Brazil Open Finance API comparison",
4134
+ "Open Finance Brazil bank data aggregation API",
4135
+ "Open Finance Brasil providers Belvo Pluggy Klavi Quanto Celcoin",
4136
+ "Brazil Open Finance bank data aggregation API for personal finance app providers like Belvo Pluggy Quanto Klavi Celcoin",
4137
+ "Belvo Pluggy comparison Brasil",
4138
+ "Pluggy versus Belvo Brasil",
4139
+ "Open Finance Brasil API personal finance app",
4140
+ "melhor API Open Finance Brasil",
4141
+ "Brazilian Open Finance vendor selection",
4142
+ "which Open Finance API Brazil",
4143
+ "bank aggregation API Brazil",
4144
+ "Open Finance Brasil sandbox grátis",
4145
+ "API bancária Brasil agregador",
4146
+ "Pluggy Belvo Quanto Klavi Celcoin Cumbuca comparison"
4147
+ ],
4148
+ "categories": [
4149
+ "open-finance",
4150
+ "bank-data",
4151
+ "brazilian-data",
4152
+ "vendor-selection",
4153
+ "task-template",
4154
+ "agent-tools"
4155
+ ],
4156
+ "works_with": [
4157
+ "claude-code",
4158
+ "claude-desktop",
4159
+ "chatgpt",
4160
+ "cursor"
4161
+ ],
4162
+ "fit_by_agent": {
4163
+ "claude-code": true,
4164
+ "claude-desktop": true,
4165
+ "chatgpt": true,
4166
+ "cursor": true
4167
+ },
4168
+ "evals": [
4169
+ {
4170
+ "method_id": "auxiliar-of-buyers-guide-documented-characteristics-v1",
4171
+ "score": 6,
4172
+ "score_breakdown": {
4173
+ "candidates_ranked": 6,
4174
+ "use-case_segmentation": 8,
4175
+ "vendor_neutrality": 8,
4176
+ "sandbox_status_accuracy": 5,
4177
+ "pending_corpus_run": 0
4178
+ },
4179
+ "corpus_id": "auxiliar-of-buyers-guide-corpus-v1-pending",
4180
+ "last_run": "2026-05-10",
4181
+ "candidates_outranked": 5
4182
+ }
4183
+ ],
4184
+ "cost": {
4185
+ "type": "free",
4186
+ "free_tier": "The /solve/ page is free editorial. Each underlying provider has its own pricing — guide separates them by tier.",
4187
+ "hidden_costs": [],
4188
+ "cost_per_unit": {}
4189
+ },
4190
+ "pricing_tiers": [],
4191
+ "compliance": [],
4192
+ "risks": [],
4193
+ "deps": {
4194
+ "requires": [],
4195
+ "composes_with": [
4196
+ "cumbuca-of-data-mcp",
4197
+ "pluggy",
4198
+ "belvo",
4199
+ "quanto",
4200
+ "klavi",
4201
+ "celcoin",
4202
+ "auxiliar-mcp"
4203
+ ],
4204
+ "conflicts": []
4205
+ },
4206
+ "last_verified": "2026-05-10",
4207
+ "verification_method": "auxiliar-of-buyers-guide-documented-characteristics-v1",
4208
+ "alternatives_considered": [
4209
+ {
4210
+ "name": "A horizontal feature-comparison table (Algolia-style)",
4211
+ "dropped_because": "Feature tables suggest these providers compete on the same axis. They don't — a per-user MCP (Cumbuca) and a B2B aggregator (Pluggy) solve different problems. The use-case-segmented format is more honest."
4212
+ },
4213
+ {
4214
+ "name": "Recommend one provider as 'the best'",
4215
+ "dropped_because": "Different teams need different providers. The guide refuses to anoint one — instead, it routes by use case so the agent + reader land on the right pick. Auxiliar.ai's value-add is the routing, not the verdict."
4216
+ }
4217
+ ],
4218
+ "compared_to": [],
4219
+ "choose_if": "Você (ou o agente que você está construindo) precisa decidir qual API de Open Finance brasileira instalar. Especialmente útil quando o caso de uso não está claro — o guia pergunta primeiro pelo padrão (B2B aggregator vs per-user MCP vs full-stack BaaS) e roteia para o vendor certo.",
4220
+ "avoid_if": "Você já sabe que precisa de um vendor específico — pule direto para a Capability detail page (`/service/<vendor>/`) ou `/mcp/cumbuca-of-data-mcp/`.",
4221
+ "page_url": "https://auxiliar.ai/solve/escolher-api-open-finance-brasil/",
4222
+ "provenance": "hand-curated"
4223
+ },
4224
+ {
4225
+ "id": "evento-futebol",
4226
+ "element_type": "data",
4227
+ "name": "Brasileirão Série A — standings, rodadas, artilheiros",
4228
+ "description": "Live Brasileirão Série A data from football-data.org: full standings (total + home + away splits), rodada-by-rodada match results, top scorers, team rosters. 10-season history available. Aggressive caching (15 min during live rodadas, 1h otherwise) to stay within free-tier limits. Eliminates training-data hallucinations on current standings by hitting live data per request.",
4229
+ "jtbd_tags": [
4230
+ "brasileirao-tabela",
4231
+ "brasileirao-classificacao",
4232
+ "rodada-brasileirao",
4233
+ "artilheiros",
4234
+ "football-data-brazil",
4235
+ "sports-current-events",
4236
+ "bsa-standings"
4237
+ ],
4238
+ "aliases_search": [
4239
+ "Brasileirão",
4240
+ "Brasileirão Série A",
4241
+ "tabela Brasileirão",
4242
+ "classificação Brasileirão",
4243
+ "rodada Brasileirão",
4244
+ "artilheiros Brasileirão",
4245
+ "BSA standings",
4246
+ "Brazilian football table",
4247
+ "BSA fixtures"
4248
+ ],
4249
+ "categories": [
4250
+ "sports",
4251
+ "brazilian-football",
4252
+ "current-events"
4253
+ ],
4254
+ "works_with": [],
4255
+ "fit_by_agent": {
4256
+ "claude-code": true,
4257
+ "claude-desktop": true,
4258
+ "cursor": true,
4259
+ "openclaw": true,
4260
+ "hermes": true
4261
+ },
4262
+ "evals": [],
4263
+ "cost": {
4264
+ "type": "free",
4265
+ "free_tier": "10 req/min on football-data.org TIER_ONE; cached aggressively to stay under cap.",
4266
+ "hidden_costs": [
4267
+ "Requires FOOTBALL_DATA_KEY env var on the Lambda; until set, capability raises FootballDataNotConfiguredError.",
4268
+ "Free tier rate-limits at 10 req/min; cache TTLs (15 min live / 1h otherwise) prevent burst exhaustion."
4269
+ ],
4270
+ "cost_per_unit": {}
4271
+ },
4272
+ "pricing_tiers": [],
4273
+ "compliance": [],
4274
+ "risks": [
4275
+ {
4276
+ "severity": "medium",
4277
+ "category": "operational",
4278
+ "description": "Capability is gated on the FOOTBALL_DATA_KEY env var being set in the Lambda environment. Until registered (free at https://www.football-data.org/client/register), all calls return FootballDataNotConfiguredError. This is THE blocker for cap #9's tier migration in the laranja A/B experiment — without the key, hermesag falls back to training data and hallucinates current standings."
4279
+ },
4280
+ {
4281
+ "severity": "low",
4282
+ "category": "supply_chain",
4283
+ "description": "football-data.org is a third-party service. Free tier has no SLA; production workflows on this surface should plan for occasional 404s during their maintenance windows."
4284
+ }
4285
+ ],
4286
+ "deps": {
4287
+ "requires": [],
4288
+ "composes_with": [],
4289
+ "conflicts": [],
4290
+ "minimum_runtime": "Any HTTP client"
4291
+ },
4292
+ "install": {
4293
+ "primary": {
4294
+ "install_command": "curl -s -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \"https://api.auxiliar.ai/api/invoke/br_futebol_brasileirao_tabela\"",
4295
+ "config_snippet": "# Current standings (total + home + away splits):\n# GET /api/invoke/br_futebol_brasileirao_tabela?season=2026\n# → { season, matchday, standings_total: [{ position, team, points, wins, draws, losses, goal_difference }, ...] }\n#\n# Match results by rodada:\n# GET /api/invoke/br_futebol_brasileirao_rodada?matchday=12\n# → { matchday, matches: [{ home, away, score, status, kickoff }, ...] }\n#\n# Top scorers:\n# GET /api/invoke/br_futebol_brasileirao_artilheiros?season=2026\n# → ranked list of scorers with goals/assists\n#\n# If you see FootballDataNotConfiguredError in the response, the\n# FOOTBALL_DATA_KEY env var is unset on the gateway Lambda.\n# Fall back to web search until ops registers the key.\n",
4296
+ "estimated_minutes": 5
4297
+ },
4298
+ "by_agent": {},
4299
+ "by_framework": {}
4300
+ },
4301
+ "last_verified": "2026-05-03",
4302
+ "verification_method": "laranja-data-plane-audit-2026-05-02",
4303
+ "alternatives_considered": [],
4304
+ "compared_to": [],
4305
+ "page_url": "https://auxiliar.ai/data/evento-futebol/",
4306
+ "external_homepage": "https://api.auxiliar.ai/api/invoke/br_futebol_brasileirao_tabela",
4307
+ "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
4308
+ "provenance": "hand-curated"
3090
4309
  },
3091
4310
  {
3092
4311
  "id": "firebase-auth",
@@ -3213,7 +4432,8 @@
3213
4432
  "choose_if": "You're on Google Cloud and want the most generous free tier (50K MAU) with zero auth infrastructure to manage.",
3214
4433
  "avoid_if": "You want to avoid Google Cloud lock-in or need enterprise SSO (SAML) without upgrading to Identity Platform.",
3215
4434
  "page_url": "https://auxiliar.ai/service/firebase-auth/",
3216
- "external_homepage": "https://firebase.google.com/products/auth"
4435
+ "external_homepage": "https://firebase.google.com/products/auth",
4436
+ "provenance": "hand-curated"
3217
4437
  },
3218
4438
  {
3219
4439
  "id": "flagsmith",
@@ -3350,7 +4570,8 @@
3350
4570
  "choose_if": "You want open-source feature flags with the option to self-host and full control over your data.",
3351
4571
  "avoid_if": "You need the largest ecosystem or built-in experimentation capabilities.",
3352
4572
  "page_url": "https://auxiliar.ai/service/flagsmith/",
3353
- "external_homepage": "https://flagsmith.com"
4573
+ "external_homepage": "https://flagsmith.com",
4574
+ "provenance": "hand-curated"
3354
4575
  },
3355
4576
  {
3356
4577
  "id": "fly",
@@ -3478,7 +4699,8 @@
3478
4699
  "choose_if": "You need to deploy containers globally across 35+ regions with low latency and full infrastructure control, and you're comfortable with a CLI-first workflow.",
3479
4700
  "avoid_if": "You want the simplest deployment experience, need a free tier to prototype, or are deploying a standard Next.js frontend. Railway and Render are simpler for most use cases.",
3480
4701
  "page_url": "https://auxiliar.ai/service/fly/",
3481
- "external_homepage": "https://fly.io"
4702
+ "external_homepage": "https://fly.io",
4703
+ "provenance": "hand-curated"
3482
4704
  },
3483
4705
  {
3484
4706
  "id": "frontend-design",
@@ -3555,7 +4777,8 @@
3555
4777
  "avoid_if": "You're not in Claude Code (the plugin only loads there) or your design system already prescribes a strict component vocabulary.",
3556
4778
  "page_url": "https://auxiliar.ai/plugin/frontend-design/",
3557
4779
  "external_homepage": "https://github.com/anthropic-experimental/claude-plugins-official",
3558
- "repository": "https://github.com/anthropic-experimental/claude-plugins-official"
4780
+ "repository": "https://github.com/anthropic-experimental/claude-plugins-official",
4781
+ "provenance": "hand-curated"
3559
4782
  },
3560
4783
  {
3561
4784
  "id": "ghost",
@@ -3685,7 +4908,8 @@
3685
4908
  "choose_if": "You're building a blog, publication, or newsletter and want a beautiful writing experience with built-in membership and newsletter features.",
3686
4909
  "avoid_if": "You need a general-purpose headless CMS with complex content modeling — use Sanity or Strapi instead.",
3687
4910
  "page_url": "https://auxiliar.ai/service/ghost/",
3688
- "external_homepage": "https://ghost.org"
4911
+ "external_homepage": "https://ghost.org",
4912
+ "provenance": "hand-curated"
3689
4913
  },
3690
4914
  {
3691
4915
  "id": "google-ai",
@@ -3820,7 +5044,8 @@
3820
5044
  "choose_if": "You need the best multimodal capabilities, longest context window, or a generous free tier for prototyping.",
3821
5045
  "avoid_if": "You're concerned about data privacy (AI Studio trains on prompts) or need the most reliable long-term API stability.",
3822
5046
  "page_url": "https://auxiliar.ai/service/google-ai/",
3823
- "external_homepage": "https://ai.google.dev"
5047
+ "external_homepage": "https://ai.google.dev",
5048
+ "provenance": "hand-curated"
3824
5049
  },
3825
5050
  {
3826
5051
  "id": "groq",
@@ -3951,7 +5176,8 @@
3951
5176
  "choose_if": "You want the fastest and cheapest inference for open-source models like Llama 3 and Mixtral.",
3952
5177
  "avoid_if": "You need proprietary frontier models (GPT-4o, Claude) or fine-tuning capabilities.",
3953
5178
  "page_url": "https://auxiliar.ai/service/groq/",
3954
- "external_homepage": "https://groq.com"
5179
+ "external_homepage": "https://groq.com",
5180
+ "provenance": "hand-curated"
3955
5181
  },
3956
5182
  {
3957
5183
  "id": "inngest-cron",
@@ -4077,7 +5303,8 @@
4077
5303
  "choose_if": "You need durable cron with automatic retries, step functions, and event-driven workflows.",
4078
5304
  "avoid_if": "You only need simple cron and don't want the complexity of step functions and event routing.",
4079
5305
  "page_url": "https://auxiliar.ai/service/inngest-cron/",
4080
- "external_homepage": "https://www.inngest.com"
5306
+ "external_homepage": "https://www.inngest.com",
5307
+ "provenance": "hand-curated"
4081
5308
  },
4082
5309
  {
4083
5310
  "id": "inngest",
@@ -4186,19 +5413,98 @@
4186
5413
  "dropped_because": "Choose Trigger.dev if You want simpler background jobs with open source and better Next.js integration"
4187
5414
  },
4188
5415
  {
4189
- "name": "BullMQ",
4190
- "capability_id": "bullmq",
4191
- "dropped_because": "Choose BullMQ if You want zero vendor lock-in with an open source, self-hosted queue"
5416
+ "name": "BullMQ",
5417
+ "capability_id": "bullmq",
5418
+ "dropped_because": "Choose BullMQ if You want zero vendor lock-in with an open source, self-hosted queue"
5419
+ }
5420
+ ],
5421
+ "compared_to": [
5422
+ "trigger-dev",
5423
+ "bullmq"
5424
+ ],
5425
+ "choose_if": "You need durable multi-step workflows with automatic retries, step functions, and event-driven architecture.",
5426
+ "avoid_if": "You need a simple job queue or want to avoid vendor lock-in — use BullMQ or Trigger.dev.",
5427
+ "page_url": "https://auxiliar.ai/service/inngest/",
5428
+ "external_homepage": "https://www.inngest.com",
5429
+ "provenance": "hand-curated"
5430
+ },
5431
+ {
5432
+ "id": "klavi",
5433
+ "element_type": "cloud_service",
5434
+ "name": "Klavi",
5435
+ "description": "Brazilian Open Finance aggregator. Bacen-licensed ITP focused on credit- decisioning / account-aggregation for BR fintechs and lenders. Provides Open Finance data plus value-added analytics (income classification, affordability scoring).",
5436
+ "jtbd_tags": [
5437
+ "open-finance-brasil",
5438
+ "bank-data-aggregation",
5439
+ "credit-decisioning",
5440
+ "affordability-scoring",
5441
+ "account-aggregation",
5442
+ "financial-data-api",
5443
+ "brazilian-data",
5444
+ "itp-licensed"
5445
+ ],
5446
+ "aliases_search": [
5447
+ "Klavi",
5448
+ "Klavi Open Finance Brasil",
5449
+ "Klavi Open Finance Brasil API",
5450
+ "Klavi ITP",
5451
+ "Klavi credit decisioning",
5452
+ "Klavi affordability",
5453
+ "Open Finance Brazil bank data API Belvo Pluggy Klavi Quanto",
5454
+ "Klavi API",
5455
+ "Klavi SDK",
5456
+ "Klavi vs Pluggy",
5457
+ "Klavi income classification",
5458
+ "agregador Open Finance Brasil"
5459
+ ],
5460
+ "categories": [
5461
+ "open-finance",
5462
+ "bank-data",
5463
+ "brazilian-data",
5464
+ "aggregator",
5465
+ "credit-decisioning",
5466
+ "public-data"
5467
+ ],
5468
+ "works_with": [],
5469
+ "fit_by_agent": {
5470
+ "claude-code": true,
5471
+ "claude-desktop": true,
5472
+ "cursor": true,
5473
+ "openclaw": true
5474
+ },
5475
+ "evals": [],
5476
+ "cost": {
5477
+ "type": "freemium",
5478
+ "free_tier": "Sandbox + dev access; production tier billed per connection (vendor docs).",
5479
+ "paid_starts": "Per-connection / per-decision pricing depending on contract — check vendor sales.",
5480
+ "hidden_costs": [
5481
+ "Value-added analytics (income classification, decision scores) bill separately from raw aggregation."
5482
+ ],
5483
+ "cost_per_unit": {}
5484
+ },
5485
+ "pricing_tiers": [],
5486
+ "compliance": [],
5487
+ "risks": [
5488
+ {
5489
+ "severity": "medium",
5490
+ "category": "regulatory",
5491
+ "description": "ITP licensing is Bacen-regulated; ongoing compliance obligations + audit cadence specific to credit-decisioning flows."
4192
5492
  }
4193
5493
  ],
4194
- "compared_to": [
4195
- "trigger-dev",
4196
- "bullmq"
4197
- ],
4198
- "choose_if": "You need durable multi-step workflows with automatic retries, step functions, and event-driven architecture.",
4199
- "avoid_if": "You need a simple job queue or want to avoid vendor lock-in — use BullMQ or Trigger.dev.",
4200
- "page_url": "https://auxiliar.ai/service/inngest/",
4201
- "external_homepage": "https://www.inngest.com"
5494
+ "deps": {
5495
+ "requires": [],
5496
+ "composes_with": [],
5497
+ "conflicts": []
5498
+ },
5499
+ "last_verified": "2026-05-10",
5500
+ "verification_method": "vendor-docs-stub",
5501
+ "alternatives_considered": [],
5502
+ "compared_to": [],
5503
+ "choose_if": "Your B2B fintech is a lender or credit-decisioning product that needs Open Finance account data + ready-to-consume analytics (income classification, affordability) instead of building those layers in-house. Klavi's decisioning-first positioning is the differentiator.",
5504
+ "avoid_if": "You only need raw transaction feeds (no decisioning layer) — a pure-data aggregator (Pluggy, Belvo) may be cheaper at scale. Or if you're a per-user AI agent in Brazil — see /mcp/cumbuca-of-data-mcp/ for the MCP-shaped option.",
5505
+ "page_url": "https://auxiliar.ai/service/klavi/",
5506
+ "external_homepage": "https://klavi.ai",
5507
+ "provenance": "hand-curated"
4202
5508
  },
4203
5509
  {
4204
5510
  "id": "launchdarkly",
@@ -4331,7 +5637,8 @@
4331
5637
  "choose_if": "You need enterprise-grade feature flags with the most mature targeting, governance, and audit capabilities.",
4332
5638
  "avoid_if": "You're a small team sensitive to per-seat pricing or want built-in A/B testing.",
4333
5639
  "page_url": "https://auxiliar.ai/service/launchdarkly/",
4334
- "external_homepage": "https://launchdarkly.com"
5640
+ "external_homepage": "https://launchdarkly.com",
5641
+ "provenance": "hand-curated"
4335
5642
  },
4336
5643
  {
4337
5644
  "id": "lemon-squeezy",
@@ -4430,7 +5737,8 @@
4430
5737
  "choose_if": "You're selling digital products or SaaS subscriptions and want someone else to handle all tax collection and compliance.",
4431
5738
  "avoid_if": "You need maximum payment flexibility, sell physical goods, or are concerned about uncertain long-term roadmap under Stripe ownership — consider Polar or Paddle instead.",
4432
5739
  "page_url": "https://auxiliar.ai/service/lemon-squeezy/",
4433
- "external_homepage": "https://lemonsqueezy.com"
5740
+ "external_homepage": "https://lemonsqueezy.com",
5741
+ "provenance": "hand-curated"
4434
5742
  },
4435
5743
  {
4436
5744
  "id": "logtail",
@@ -4557,7 +5865,8 @@
4557
5865
  "choose_if": "You need affordable log management with a clean UI, fast search, and integration with uptime monitoring via Better Stack.",
4558
5866
  "avoid_if": "You need full APM, distributed tracing, or metrics — Logtail is logs only.",
4559
5867
  "page_url": "https://auxiliar.ai/service/logtail/",
4560
- "external_homepage": "https://betterstack.com/logs"
5868
+ "external_homepage": "https://betterstack.com/logs",
5869
+ "provenance": "hand-curated"
4561
5870
  },
4562
5871
  {
4563
5872
  "id": "mailgun",
@@ -4690,7 +5999,8 @@
4690
5999
  "choose_if": "You need inbound email parsing, routing rules, or email validation as built-in platform features.",
4691
6000
  "avoid_if": "You need a free tier or are cost-sensitive — Resend and Postmark offer more value at lower price points.",
4692
6001
  "page_url": "https://auxiliar.ai/service/mailgun/",
4693
- "external_homepage": "https://www.mailgun.com"
6002
+ "external_homepage": "https://www.mailgun.com",
6003
+ "provenance": "hand-curated"
4694
6004
  },
4695
6005
  {
4696
6006
  "id": "meilisearch",
@@ -4814,7 +6124,200 @@
4814
6124
  "choose_if": "You want the simplest possible search setup — download a single binary, index your data, and get typo-tolerant search with zero configuration.",
4815
6125
  "avoid_if": "You need battle-tested production search at massive scale (100M+ records) or advanced features like geosearch with complex filtering — use Algolia or Typesense.",
4816
6126
  "page_url": "https://auxiliar.ai/service/meilisearch/",
4817
- "external_homepage": "https://meilisearch.com"
6127
+ "external_homepage": "https://meilisearch.com",
6128
+ "provenance": "hand-curated"
6129
+ },
6130
+ {
6131
+ "id": "mercado-anp",
6132
+ "element_type": "data",
6133
+ "name": "ANP — Brazilian fuel-price weekly surveys",
6134
+ "description": "Direct access to ANP's weekly fuel-price surveys (gasoline, ethanol, diesel) at national, state, capital, and municipal levels. Returns typed responses with embedded data_source_url + survey_week + last_collected_at so agents can self-attribute provenance inline. Covers ~5000+ Brazilian municipalities with weekly cadence.",
6135
+ "jtbd_tags": [
6136
+ "fuel-prices",
6137
+ "anp-surveys",
6138
+ "gasoline-price-lookup",
6139
+ "etanol-price-lookup",
6140
+ "diesel-price-lookup",
6141
+ "logistics-cost-monitoring",
6142
+ "brazilian-fuel-data",
6143
+ "fuel-price-by-municipality",
6144
+ "fuel-price-by-state",
6145
+ "national-fuel-average"
6146
+ ],
6147
+ "aliases_search": [
6148
+ "ANP",
6149
+ "ANP combustíveis",
6150
+ "preço gasolina",
6151
+ "preço etanol",
6152
+ "preço diesel",
6153
+ "fuel price Brazil",
6154
+ "Brazilian fuel survey",
6155
+ "gasolina por município",
6156
+ "combustível por cidade",
6157
+ "posto gasolina preço"
6158
+ ],
6159
+ "categories": [
6160
+ "public-data",
6161
+ "brazilian-government",
6162
+ "logistics",
6163
+ "commodity-prices",
6164
+ "fuel-data"
6165
+ ],
6166
+ "works_with": [],
6167
+ "fit_by_agent": {
6168
+ "claude-code": true,
6169
+ "claude-desktop": true,
6170
+ "cursor": true,
6171
+ "openclaw": true,
6172
+ "hermes": true
6173
+ },
6174
+ "evals": [],
6175
+ "cost": {
6176
+ "type": "free",
6177
+ "free_tier": "Unlimited via auxiliar.ai gateway. ANP upstream is open data.",
6178
+ "hidden_costs": [
6179
+ "ANP weekly XLSX is fetched + parsed; first call per week takes ~10-15s; cached after.",
6180
+ "Survey cadence is weekly (publishes Tuesdays); freshness is bounded to ~7 days."
6181
+ ],
6182
+ "cost_per_unit": {}
6183
+ },
6184
+ "pricing_tiers": [],
6185
+ "compliance": [],
6186
+ "risks": [
6187
+ {
6188
+ "severity": "low",
6189
+ "category": "operational",
6190
+ "description": "ANP's weekly XLSX shape can change between editions; the parser is lenient but new columns may not be exposed until the wrapper updates."
6191
+ },
6192
+ {
6193
+ "severity": "low",
6194
+ "category": "regulatory",
6195
+ "description": "All ANP data is public open data. Safe for high-volume integration."
6196
+ }
6197
+ ],
6198
+ "deps": {
6199
+ "requires": [],
6200
+ "composes_with": [
6201
+ "mercado-bcb"
6202
+ ],
6203
+ "conflicts": [],
6204
+ "minimum_runtime": "Any HTTP client"
6205
+ },
6206
+ "install": {
6207
+ "primary": {
6208
+ "install_command": "curl -s -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \"https://api.auxiliar.ai/api/invoke/anp_combustiveis_precos_municipio?summary_url=...&uf=SP&municipio=SAO+PAULO\"",
6209
+ "config_snippet": "# Latest survey week (no params):\n# GET /api/invoke/anp_combustiveis_ultima_semana\n# → returns the most recent week metadata + summary_url for the XLSX\n#\n# Prices by municipality:\n# GET /api/invoke/anp_combustiveis_precos_municipio\n# params: summary_url (from ultima_semana), uf (2 letters), municipio (name)\n# returns: { uf, municipio, total, rows, data_source_url, survey_week, last_collected_at }\n#\n# National-level time series:\n# GET /api/invoke/anp_combustiveis_media_nacional\n# params: produto (default \"GASOLINA COMUM\"), last_weeks (default 8)\n# returns: weekly average time series with same self-attribution fields\n#\n# All responses include `data_source_url` (the original ANP XLSX URL),\n# `data_source_authority: \"anp.gov.br\"`, `survey_week`, and\n# `last_collected_at` (UTC ISO timestamp) — quote these inline in\n# the agent's answer for clean source attribution.\n",
6210
+ "estimated_minutes": 5
6211
+ },
6212
+ "by_agent": {},
6213
+ "by_framework": {}
6214
+ },
6215
+ "last_verified": "2026-05-03",
6216
+ "verification_method": "laranja-data-plane-audit-2026-05-02",
6217
+ "alternatives_considered": [],
6218
+ "compared_to": [],
6219
+ "page_url": "https://auxiliar.ai/data/mercado-anp/",
6220
+ "external_homepage": "https://api.auxiliar.ai/api/invoke/anp_combustiveis_ultima_semana",
6221
+ "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
6222
+ "provenance": "hand-curated"
6223
+ },
6224
+ {
6225
+ "id": "mercado-bcb",
6226
+ "element_type": "data",
6227
+ "name": "Banco Central do Brasil — monetary policy + indicators",
6228
+ "description": "Direct access to BCB's open data: SELIC rate, COPOM meeting decisions (atas + comunicados), Focus market expectations, IFData bank registry + balance-sheet rows. Wraps Olinda OData and bcb.gov.br endpoints behind one auth surface for any Brazilian-monetary-policy or banking-sector JTBD.",
6229
+ "jtbd_tags": [
6230
+ "selic-lookup",
6231
+ "copom-decision-tracking",
6232
+ "copom-minutes-fetch",
6233
+ "focus-expectations",
6234
+ "monetary-policy-monitoring",
6235
+ "banking-sector-data",
6236
+ "bcb-ifdata",
6237
+ "brazilian-financial-markets",
6238
+ "bcb-lookup",
6239
+ "banco-central-brasil"
6240
+ ],
6241
+ "aliases_search": [
6242
+ "SELIC",
6243
+ "SELIC atual",
6244
+ "COPOM",
6245
+ "COPOM última reunião",
6246
+ "COPOM ata",
6247
+ "Banco Central",
6248
+ "Banco Central do Brasil",
6249
+ "BCB SELIC",
6250
+ "BCB API",
6251
+ "Focus expectations",
6252
+ "Focus expectativas",
6253
+ "IFData",
6254
+ "taxa básica de juros",
6255
+ "monetary policy Brazil"
6256
+ ],
6257
+ "categories": [
6258
+ "public-data",
6259
+ "brazilian-government",
6260
+ "financial-markets",
6261
+ "monetary-policy",
6262
+ "banking"
6263
+ ],
6264
+ "works_with": [],
6265
+ "fit_by_agent": {
6266
+ "claude-code": true,
6267
+ "claude-desktop": true,
6268
+ "cursor": true,
6269
+ "openclaw": true,
6270
+ "hermes": true
6271
+ },
6272
+ "evals": [],
6273
+ "cost": {
6274
+ "type": "free",
6275
+ "free_tier": "Unlimited via auxiliar.ai gateway. BCB upstream is open data, no auth required.",
6276
+ "hidden_costs": [
6277
+ "BCB site occasionally returns 503 during high-traffic moments (post-COPOM); gateway retries.",
6278
+ "Focus expectations data lags by ~1 business day from BCB's publication."
6279
+ ],
6280
+ "cost_per_unit": {}
6281
+ },
6282
+ "pricing_tiers": [],
6283
+ "compliance": [],
6284
+ "risks": [
6285
+ {
6286
+ "severity": "low",
6287
+ "category": "operational",
6288
+ "description": "BCB's Olinda OData surface evolves; field names occasionally change between relatório versions. The gateway normalizes to typed responses."
6289
+ },
6290
+ {
6291
+ "severity": "low",
6292
+ "category": "regulatory",
6293
+ "description": "No PII concerns — all data is public BCB open data. Safe for high-volume integration."
6294
+ }
6295
+ ],
6296
+ "deps": {
6297
+ "requires": [],
6298
+ "composes_with": [
6299
+ "auxiliar-cnpj-fetch"
6300
+ ],
6301
+ "conflicts": [],
6302
+ "minimum_runtime": "Any HTTP client"
6303
+ },
6304
+ "install": {
6305
+ "primary": {
6306
+ "install_command": "curl -s -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \"https://api.auxiliar.ai/api/invoke/bcb_copom_reunioes_recentes?limit=3\"",
6307
+ "config_snippet": "# SELIC + last COPOM decision in one call:\n# GET /api/invoke/bcb_copom_reunioes_recentes?limit=1\n# → most recent meeting: date, decision direction, SELIC rate, ata + comunicado URLs\n# GET /api/invoke/bcb_copom_reuniao_fetch?reuniao_id=<n>\n# → full ata + comunicado text inline\n# GET /api/invoke/bcb_focus_expectativas?indicator=ipca\n# → Focus median forecast (ipca, selic, pib, cambio)\n# GET /api/invoke/bcb_ifdata_bancos_por_mes?ano_mes=202604\n# → IFData bank registry snapshot\n",
6308
+ "estimated_minutes": 5
6309
+ },
6310
+ "by_agent": {},
6311
+ "by_framework": {}
6312
+ },
6313
+ "last_verified": "2026-05-02",
6314
+ "verification_method": "laranja-data-plane-audit-2026-05-02",
6315
+ "alternatives_considered": [],
6316
+ "compared_to": [],
6317
+ "page_url": "https://auxiliar.ai/data/mercado-bcb/",
6318
+ "external_homepage": "https://api.auxiliar.ai/api/invoke/bcb_copom_reunioes_recentes",
6319
+ "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
6320
+ "provenance": "hand-curated"
4818
6321
  },
4819
6322
  {
4820
6323
  "id": "messagebird",
@@ -4943,7 +6446,8 @@
4943
6446
  "choose_if": "You need an EU-based SMS provider with strong GDPR compliance and WhatsApp Business API support.",
4944
6447
  "avoid_if": "You need transparent US pricing or the largest developer community.",
4945
6448
  "page_url": "https://auxiliar.ai/service/messagebird/",
4946
- "external_homepage": "https://bird.com"
6449
+ "external_homepage": "https://bird.com",
6450
+ "provenance": "hand-curated"
4947
6451
  },
4948
6452
  {
4949
6453
  "id": "neon",
@@ -5107,7 +6611,8 @@
5107
6611
  "choose_if": "You want serverless Postgres with built-in connection pooling, HA, branching, and auth — all usage-based with a $5/month minimum spend on paid plans.",
5108
6612
  "avoid_if": "You want predictable fixed monthly pricing — Neon's usage-based model can be unpredictable under variable load.",
5109
6613
  "page_url": "https://auxiliar.ai/service/neon/",
5110
- "external_homepage": "https://neon.tech"
6614
+ "external_homepage": "https://neon.tech",
6615
+ "provenance": "hand-curated"
5111
6616
  },
5112
6617
  {
5113
6618
  "id": "nfs-e-extraction",
@@ -5183,7 +6688,8 @@
5183
6688
  "verification_method": "auxiliar-nfs-e-field-accuracy-v1 (2-doc SP corpus)",
5184
6689
  "alternatives_considered": [],
5185
6690
  "compared_to": [],
5186
- "page_url": "https://auxiliar.ai/solve/nfs-e-extraction/"
6691
+ "page_url": "https://auxiliar.ai/solve/nfs-e-extraction/",
6692
+ "provenance": "hand-curated"
5187
6693
  },
5188
6694
  {
5189
6695
  "id": "nfs-e-parser",
@@ -5263,53 +6769,267 @@
5263
6769
  }
5264
6770
  ],
5265
6771
  "deps": {
5266
- "requires": [
5267
- "auxiliar-nfs-e",
5268
- "surya"
5269
- ],
6772
+ "requires": [
6773
+ "auxiliar-nfs-e",
6774
+ "surya"
6775
+ ],
6776
+ "composes_with": [
6777
+ "auxiliar-mcp",
6778
+ "auxiliar-solve"
6779
+ ],
6780
+ "conflicts": [],
6781
+ "minimum_runtime": "Python 3 + git"
6782
+ },
6783
+ "install": {
6784
+ "primary": {
6785
+ "install_command": "openclaw skills install tlalvarez/nfs-e-parser",
6786
+ "config_snippet": "# Skill auto-loads when agent matches NFS-e queries.\n# Direct invocation: agent calls `nfs-e-parser` with a PDF path.\n",
6787
+ "setup_url": "https://clawhub.ai/skills/nfs-e-parser",
6788
+ "estimated_minutes": 5
6789
+ },
6790
+ "by_agent": {
6791
+ "claude-code": {
6792
+ "install_command": "Place SKILL.md under ~/.claude/skills/nfs-e-parser/ then restart Claude Code",
6793
+ "estimated_minutes": 5
6794
+ }
6795
+ },
6796
+ "by_framework": {}
6797
+ },
6798
+ "last_verified": "2026-04-25",
6799
+ "verification_method": "clawhub-published",
6800
+ "alternatives_considered": [
6801
+ {
6802
+ "name": "auxiliar-solve (meta-ranker skill)",
6803
+ "capability_id": "auxiliar-solve",
6804
+ "dropped_because": "auxiliar-solve directs agents to specialized skills like this one for niche queries; it's complementary, not competitive."
6805
+ },
6806
+ {
6807
+ "name": "yescan-ocr-universal (ClawHub)",
6808
+ "dropped_because": "Generic OCR; doesn't extract NFS-e structured fields. Requires Chinese sign-up for SCAN_WEBSERVICE_KEY."
6809
+ }
6810
+ ],
6811
+ "compared_to": [],
6812
+ "choose_if": "Your agent needs São Paulo NFS-e structured extraction with auditable field-accuracy claims and a ClawHub install surface.",
6813
+ "avoid_if": "You need non-São-Paulo NFS-e support today, or you can install auxiliar-nfs-e directly without the skill wrapper.",
6814
+ "page_url": "https://auxiliar.ai/skill/nfs-e-parser/",
6815
+ "external_homepage": "https://auxiliar.ai/solve/nfs-e-extraction/",
6816
+ "repository": "https://github.com/Tlalvarez/nfs-e-parser",
6817
+ "license": "MIT",
6818
+ "clawhub_slug": "nfs-e-parser",
6819
+ "provenance": "hand-curated"
6820
+ },
6821
+ {
6822
+ "id": "norma-dou",
6823
+ "element_type": "data",
6824
+ "name": "DOU — Diário Oficial da União search + ato fetch",
6825
+ "description": "Direct full-text search and ato fetch against Brazil's Diário Oficial da União (in.gov.br). Returns typed search hits (title, ato type, date, section, slug, permalink) plus full parsed legal text for individual atos. Use it for regulatory-change tracking, recent-norm lookup by topic + window, and DOU-anchored compliance monitoring.",
6826
+ "jtbd_tags": [
6827
+ "dou-search",
6828
+ "federal-norms",
6829
+ "regulatory-change-tracking",
6830
+ "recent-decretos",
6831
+ "portarias-federais",
6832
+ "instrucoes-normativas",
6833
+ "diario-oficial-uniao",
6834
+ "imprensa-nacional",
6835
+ "compliance-monitoring",
6836
+ "norma-fetch"
6837
+ ],
6838
+ "aliases_search": [
6839
+ "DOU",
6840
+ "Diário Oficial da União",
6841
+ "Imprensa Nacional",
6842
+ "in.gov.br",
6843
+ "federal norms Brazil",
6844
+ "decreto federal recente",
6845
+ "portaria federal",
6846
+ "instrução normativa",
6847
+ "DOU search",
6848
+ "DOU full text",
6849
+ "regulatory tracking Brazil",
6850
+ "normas federais",
6851
+ "atos normativos federais"
6852
+ ],
6853
+ "categories": [
6854
+ "public-data",
6855
+ "brazilian-government",
6856
+ "regulatory",
6857
+ "federal-norms"
6858
+ ],
6859
+ "works_with": [],
6860
+ "fit_by_agent": {
6861
+ "claude-code": true,
6862
+ "claude-desktop": true,
6863
+ "cursor": true,
6864
+ "openclaw": true,
6865
+ "hermes": true
6866
+ },
6867
+ "evals": [],
6868
+ "cost": {
6869
+ "type": "free",
6870
+ "free_tier": "Unlimited via auxiliar.ai gateway. DOU upstream is open data, no auth.",
6871
+ "hidden_costs": [
6872
+ "DOU's edge occasionally returns a WAF challenge; wrapper auto-retries via ScraperAPI proxy (rare, +1-2s latency).",
6873
+ "Search-result quality depends on DOU-side tokenization; tighten via secao + date filters."
6874
+ ],
6875
+ "cost_per_unit": {}
6876
+ },
6877
+ "pricing_tiers": [],
6878
+ "compliance": [],
6879
+ "risks": [
6880
+ {
6881
+ "severity": "medium",
6882
+ "category": "operational",
6883
+ "description": "DOU's edge can take 5-8s per call when not cached; agents firing many query variations across the same probe (e.g., topic × date-window grid) can exhaust their own time budget. Per-call timeout was tightened from 20s → 8s on 2026-05-03 to bound this. **Advisory for callers**: prefer a single broad query plus client-side filtering over many narrow variations. The 1-hour result cache helps repeat queries; novel queries are bounded by the upstream's natural latency."
6884
+ },
6885
+ {
6886
+ "severity": "low",
6887
+ "category": "operational",
6888
+ "description": "DOU's HTML structure changes occasionally; wrapper parses inline JSON blobs and may lag 1-2 days on front-end updates."
6889
+ },
6890
+ {
6891
+ "severity": "low",
6892
+ "category": "regulatory",
6893
+ "description": "All DOU content is public domain per the Lei de Acesso à Informação. Safe for ingestion at any volume."
6894
+ }
6895
+ ],
6896
+ "deps": {
6897
+ "requires": [],
6898
+ "composes_with": [
6899
+ "auxiliar-cnpj-fetch"
6900
+ ],
6901
+ "conflicts": [],
6902
+ "minimum_runtime": "Any HTTP client"
6903
+ },
6904
+ "install": {
6905
+ "primary": {
6906
+ "install_command": "curl -s -H \"Authorization: Bearer $AUXILIAR_TOKEN\" \"https://api.auxiliar.ai/api/invoke/dou_buscar?q=incentivos+fiscais+energia+solar&data_inicial=2026-04-01&data_final=2026-05-02\"",
6907
+ "config_snippet": "# Search the DOU full-text:\n# GET /api/invoke/dou_buscar\n# params: q (free-text), data_inicial, data_final (ISO YYYY-MM-DD),\n# secao (default \"do1\" — atos normativos)\n# returns: hits with title, art_type, date_brl, section, slug, permalink\n# GET /api/invoke/dou_ato_fetch?url=<permalink>\n# returns: parsed ato — title, type, date, ementa, body text\n# Sections: do1 (atos normativos), do2 (pessoal), do3 (extraordinários)\n",
6908
+ "estimated_minutes": 5
6909
+ },
6910
+ "by_agent": {},
6911
+ "by_framework": {}
6912
+ },
6913
+ "last_verified": "2026-05-02",
6914
+ "verification_method": "laranja-data-plane-audit-2026-05-02",
6915
+ "alternatives_considered": [],
6916
+ "compared_to": [],
6917
+ "page_url": "https://auxiliar.ai/data/norma-dou/",
6918
+ "external_homepage": "https://api.auxiliar.ai/api/invoke/dou_buscar",
6919
+ "repository": "https://github.com/Tlalvarez/Auxiliar-ai",
6920
+ "provenance": "hand-curated"
6921
+ },
6922
+ {
6923
+ "id": "onde-foi-meu-dinheiro",
6924
+ "element_type": "task_template",
6925
+ "name": "Pra onde foi meu dinheiro mês passado? — o que instalar e a receita do agente",
6926
+ "description": "Como um agente de IA responde \"pra onde foi meu dinheiro mês passado?\" em português brasileiro. Instala Cumbuca Open Finance Data MCP, usuário autoriza via OF, agente roda receita determinística — regra MCC + heurística de descrição + LLM apenas no resíduo — categoriza, agrega por categoria, compara com mês anterior, lista as 10 maiores. Sem ML pesado, sem dicionário externo.",
6927
+ "jtbd_tags": [
6928
+ "expense-breakdown",
6929
+ "transaction-categorization",
6930
+ "personal-finance-summary",
6931
+ "where-did-my-money-go",
6932
+ "mes-passado-gastos",
6933
+ "open-finance-brasil",
6934
+ "bank-data-ai",
6935
+ "mcc-categorization"
6936
+ ],
6937
+ "aliases_search": [
6938
+ "pra onde foi meu dinheiro",
6939
+ "onde foi meu dinheiro mês passado",
6940
+ "para onde foi meu dinheiro",
6941
+ "where did my money go brazil",
6942
+ "Conectar contas bancárias e cartões (Brasil) via Open Finance e categorizar transações automaticamente",
6943
+ "Extrair transações de extratos bancários/cartões em PDF, CSV ou OFX e categorizar gastos automaticamente",
6944
+ "Detectar assinaturas recorrentes em transações bancárias e alertar sobre cobranças esquecidas",
6945
+ "Dashboard de orçamento mensal em Google Sheets ou Notion com importação de transações e classificação automática",
6946
+ "importar extrato bancário OFX CSV Brasil; categorização de transações; consolidação multi-banco",
6947
+ "categorização automática de gastos Brasil",
6948
+ "categorizar transações bancárias com IA",
6949
+ "me ajuda com minhas finanças",
6950
+ "gastos mensais relatório IA",
6951
+ "controle financeiro pessoal IA Brasil",
6952
+ "resumo de gastos com IA Brasil",
6953
+ "expense categorization AI brazil",
6954
+ "personal finance summary brazil AI",
6955
+ "extrato bancário categorizar gastos IA",
6956
+ "cartão de crédito gastos por categoria"
6957
+ ],
6958
+ "categories": [
6959
+ "personal-finance",
6960
+ "expense-categorization",
6961
+ "open-finance",
6962
+ "bank-data",
6963
+ "brazilian-data",
6964
+ "task-template",
6965
+ "agent-tools"
6966
+ ],
6967
+ "works_with": [
6968
+ "claude-code",
6969
+ "claude-desktop",
6970
+ "chatgpt",
6971
+ "cursor"
6972
+ ],
6973
+ "fit_by_agent": {
6974
+ "claude-code": true,
6975
+ "claude-desktop": true,
6976
+ "chatgpt": true,
6977
+ "cursor": true
6978
+ },
6979
+ "evals": [
6980
+ {
6981
+ "method_id": "auxiliar-onde-foi-meu-dinheiro-documented-characteristics-v1",
6982
+ "score": 6.5,
6983
+ "score_breakdown": {
6984
+ "candidates_ranked": 1,
6985
+ "data_source_production_readiness": 8,
6986
+ "recipe_determinism": 9,
6987
+ "mvp_rate_limit_friendliness": 6,
6988
+ "pending_corpus_run": 0
6989
+ },
6990
+ "corpus_id": "auxiliar-onde-foi-meu-dinheiro-corpus-v1-pending",
6991
+ "last_run": "2026-05-10",
6992
+ "candidates_outranked": 0
6993
+ }
6994
+ ],
6995
+ "cost": {
6996
+ "type": "free",
6997
+ "free_tier": "The /solve/ page is free editorial content. The underlying data source (Cumbuca Open Finance Data MCP) is free during MVP with ~5 queries/day per user.",
6998
+ "hidden_costs": [],
6999
+ "cost_per_unit": {}
7000
+ },
7001
+ "pricing_tiers": [],
7002
+ "compliance": [],
7003
+ "risks": [],
7004
+ "deps": {
7005
+ "requires": [],
5270
7006
  "composes_with": [
5271
- "auxiliar-mcp",
5272
- "auxiliar-solve"
7007
+ "cumbuca-of-data-mcp",
7008
+ "auxiliar-mcp"
5273
7009
  ],
5274
- "conflicts": [],
5275
- "minimum_runtime": "Python 3 + git"
5276
- },
5277
- "install": {
5278
- "primary": {
5279
- "install_command": "openclaw skills install tlalvarez/nfs-e-parser",
5280
- "config_snippet": "# Skill auto-loads when agent matches NFS-e queries.\n# Direct invocation: agent calls `nfs-e-parser` with a PDF path.\n",
5281
- "setup_url": "https://clawhub.ai/skills/nfs-e-parser",
5282
- "estimated_minutes": 5
5283
- },
5284
- "by_agent": {
5285
- "claude-code": {
5286
- "install_command": "Place SKILL.md under ~/.claude/skills/nfs-e-parser/ then restart Claude Code",
5287
- "estimated_minutes": 5
5288
- }
5289
- },
5290
- "by_framework": {}
7010
+ "conflicts": []
5291
7011
  },
5292
- "last_verified": "2026-04-25",
5293
- "verification_method": "clawhub-published",
7012
+ "last_verified": "2026-05-10",
7013
+ "verification_method": "auxiliar-onde-foi-meu-dinheiro-documented-characteristics-v1",
5294
7014
  "alternatives_considered": [
5295
7015
  {
5296
- "name": "auxiliar-solve (meta-ranker skill)",
5297
- "capability_id": "auxiliar-solve",
5298
- "dropped_because": "auxiliar-solve directs agents to specialized skills like this one for niche queries; it's complementary, not competitive."
7016
+ "name": "Bank-app native expense dashboards (Nubank, Itaú, Inter, C6)",
7017
+ "dropped_because": "Todos os grandes bancos brasileiros entregam categorização de gastos no app próprio. Útil para o usuário que abre o app desse banco, mas a categorização é proprietária, não exportável estruturalmente para um agente de IA, e nunca cruza com cartões de outras instituições. Out of scope para um ranking agent-first."
5299
7018
  },
5300
7019
  {
5301
- "name": "yescan-ocr-universal (ClawHub)",
5302
- "dropped_because": "Generic OCR; doesn't extract NFS-e structured fields. Requires Chinese sign-up for SCAN_WEBSERVICE_KEY."
7020
+ "name": "Apps de finanças pessoais (Mobills, Organizze, Minhas Economias)",
7021
+ "dropped_because": "O caminho consumer tradicional. Funciona — mas é app separado, não conversa com agente de IA, e nenhuma das integrações OF deles está exposta como MCP público. A receita aqui devolve o mesmo resultado em chat com o agente que o usuário já usa."
7022
+ },
7023
+ {
7024
+ "name": "Categorização via LLM puro sobre cada transação",
7025
+ "dropped_because": "Tentador, mas (a) custa tokens por transação (centavos no agregado), (b) lentidão se for 12 meses × N transações por mês, (c) determinismo zero (a mesma transação pode cair em categorias diferentes em runs diferentes). A regra MCC + heurística determinística da receita abaixo cobre 80–90% sem LLM; o LLM entra apenas no fallback para o ~10–20% sem MCC + sem token reconhecível."
5303
7026
  }
5304
7027
  ],
5305
7028
  "compared_to": [],
5306
- "choose_if": "Your agent needs São Paulo NFS-e structured extraction with auditable field-accuracy claims and a ClawHub install surface.",
5307
- "avoid_if": "You need non-São-Paulo NFS-e support today, or you can install auxiliar-nfs-e directly without the skill wrapper.",
5308
- "page_url": "https://auxiliar.ai/skill/nfs-e-parser/",
5309
- "external_homepage": "https://auxiliar.ai/solve/nfs-e-extraction/",
5310
- "repository": "https://github.com/Tlalvarez/nfs-e-parser",
5311
- "license": "MIT",
5312
- "clawhub_slug": "nfs-e-parser"
7029
+ "choose_if": "Você é um usuário brasileiro que quer entender em que gastou no mês — em chat com o agente, sem abrir outro app. Especialmente útil quando o usuário tem cartões em mais de um banco (audita um por vez no MVP; agrega a categoria depois) ou quando o agente está auxiliando outra tarefa (planejamento, corte de gastos) e precisa do panorama mensal como contexto.",
7030
+ "avoid_if": "Você precisa de categorização contábil rigorosa (Receita Federal, IRPF) — a categorização aqui é orientada a uso pessoal, não a plano de contas. Para o lado contábil, combine NFS-e + razão contábil via /solve/reconciliacao-bancaria-com-ia/. Também evite se o usuário precisa visualização persistente (dashboard sempre online); a receita é one-shot, executada quando o usuário pergunta.",
7031
+ "page_url": "https://auxiliar.ai/solve/onde-foi-meu-dinheiro/",
7032
+ "provenance": "hand-curated"
5313
7033
  },
5314
7034
  {
5315
7035
  "id": "openai",
@@ -5445,7 +7165,8 @@
5445
7165
  "choose_if": "You need the largest ecosystem, most third-party integrations, and broadest model selection including image generation.",
5446
7166
  "avoid_if": "You need the strongest privacy guarantees or are concerned about retroactive policy changes.",
5447
7167
  "page_url": "https://auxiliar.ai/service/openai/",
5448
- "external_homepage": "https://openai.com"
7168
+ "external_homepage": "https://openai.com",
7169
+ "provenance": "hand-curated"
5449
7170
  },
5450
7171
  {
5451
7172
  "id": "paddle",
@@ -5543,7 +7264,8 @@
5543
7264
  "choose_if": "You're building a SaaS with EU customers and want a merchant of record that handles VAT and compliance.",
5544
7265
  "avoid_if": "You need fast payouts, sell physical goods, or want to own the full customer relationship.",
5545
7266
  "page_url": "https://auxiliar.ai/service/paddle/",
5546
- "external_homepage": "https://paddle.com"
7267
+ "external_homepage": "https://paddle.com",
7268
+ "provenance": "hand-curated"
5547
7269
  },
5548
7270
  {
5549
7271
  "id": "pdf-text-extraction-mcp",
@@ -5646,7 +7368,8 @@
5646
7368
  "choose_if": "Your agent needs to choose an OCR tool for an arbitrary mix of PDFs, scans, and phone photos with Brazilian-Portuguese content.",
5647
7369
  "avoid_if": "You only process native-text PDFs (use pdftotext directly) or already have a vendor decision.",
5648
7370
  "page_url": "https://auxiliar.ai/solve/pdf-text-extraction-mcp/",
5649
- "external_homepage": "https://auxiliar.ai/solve/pdf-text-extraction-mcp/"
7371
+ "external_homepage": "https://auxiliar.ai/solve/pdf-text-extraction-mcp/",
7372
+ "provenance": "hand-curated"
5650
7373
  },
5651
7374
  {
5652
7375
  "id": "pinecone",
@@ -5774,7 +7497,8 @@
5774
7497
  "choose_if": "You want zero-ops managed vector search that scales automatically without infrastructure management.",
5775
7498
  "avoid_if": "You need open-source flexibility, self-hosting, or want to avoid vendor lock-in.",
5776
7499
  "page_url": "https://auxiliar.ai/service/pinecone/",
5777
- "external_homepage": "https://www.pinecone.io"
7500
+ "external_homepage": "https://www.pinecone.io",
7501
+ "provenance": "hand-curated"
5778
7502
  },
5779
7503
  {
5780
7504
  "id": "planetscale",
@@ -5906,7 +7630,90 @@
5906
7630
  "choose_if": "You need MySQL with zero-downtime schema changes and horizontal sharding, and can handle $5/month minimum (single-node) or $39/month (Scaler cluster).",
5907
7631
  "avoid_if": "You need a free tier, require foreign key constraints on sharded tables, or want a more established Postgres platform.",
5908
7632
  "page_url": "https://auxiliar.ai/service/planetscale/",
5909
- "external_homepage": "https://planetscale.com"
7633
+ "external_homepage": "https://planetscale.com",
7634
+ "provenance": "hand-curated"
7635
+ },
7636
+ {
7637
+ "id": "pluggy",
7638
+ "element_type": "cloud_service",
7639
+ "name": "Pluggy",
7640
+ "description": "Brazilian Open Finance + bank-data aggregator. B2B SaaS for fintechs needing multi-bank account aggregation, transaction feeds, and bill data via Bacen- regulated Open Finance + scraping for non-OF data. Sandbox + public docs.",
7641
+ "jtbd_tags": [
7642
+ "open-finance-brasil",
7643
+ "bank-data-aggregation",
7644
+ "account-aggregation",
7645
+ "financial-data-api",
7646
+ "kyc-bank",
7647
+ "transaction-feed"
7648
+ ],
7649
+ "aliases_search": [
7650
+ "Pluggy",
7651
+ "Pluggy Open Finance Brasil API",
7652
+ "Pluggy bank aggregation",
7653
+ "agregador Open Finance Brasil",
7654
+ "Pluggy AI",
7655
+ "Pluggy fintech API",
7656
+ "Pluggy Belvo alternative",
7657
+ "Pluggy versus Belvo",
7658
+ "open finance brasil aggregator",
7659
+ "Brazilian bank data API",
7660
+ "Pluggy SDK",
7661
+ "Pluggy connectors",
7662
+ "Pluggy SaaS Open Finance"
7663
+ ],
7664
+ "categories": [
7665
+ "open-finance",
7666
+ "bank-data",
7667
+ "brazilian-data",
7668
+ "aggregator",
7669
+ "public-data"
7670
+ ],
7671
+ "works_with": [],
7672
+ "fit_by_agent": {
7673
+ "claude-code": true,
7674
+ "claude-desktop": true,
7675
+ "cursor": true,
7676
+ "openclaw": true
7677
+ },
7678
+ "evals": [],
7679
+ "cost": {
7680
+ "type": "freemium",
7681
+ "free_tier": "Sandbox + free-tier on lower-volume usage; pricing tiered after threshold (vendor docs).",
7682
+ "paid_starts": "Tiered pricing depending on connectors + monthly active connections — check vendor sales for current quote.",
7683
+ "hidden_costs": [
7684
+ "Pricing structure (per-connection / per-call / per-MAU) varies by contract; non-public list pricing.",
7685
+ "Non-OF data sources (legacy scraping) bill separately from OF channels."
7686
+ ],
7687
+ "cost_per_unit": {}
7688
+ },
7689
+ "pricing_tiers": [],
7690
+ "compliance": [],
7691
+ "risks": [
7692
+ {
7693
+ "severity": "medium",
7694
+ "category": "regulatory",
7695
+ "description": "Brazilian Open Finance regulation requires the consumer's bank to authorize the data share via biometric/PIN on the bank's own UI. Pluggy proxies the authorization flow; non-OF connectors (where present) use legacy auth patterns subject to changes by the upstream bank."
7696
+ },
7697
+ {
7698
+ "severity": "low",
7699
+ "category": "vendor_lockin",
7700
+ "description": "Pluggy's connector library is proprietary — migrating away to a different aggregator means rewiring against a different SDK surface, not just changing API keys."
7701
+ }
7702
+ ],
7703
+ "deps": {
7704
+ "requires": [],
7705
+ "composes_with": [],
7706
+ "conflicts": []
7707
+ },
7708
+ "last_verified": "2026-05-10",
7709
+ "verification_method": "vendor-docs-stub",
7710
+ "alternatives_considered": [],
7711
+ "compared_to": [],
7712
+ "choose_if": "You're building a B2B fintech / lending / credit-score / personal-finance product and need multi-bank account aggregation in Brazil — many connectors, one SDK, contract-grade SLAs. Pluggy is one of the established BR aggregators with a sandbox you can probe before signing.",
7713
+ "avoid_if": "You're a per-user AI agent that just needs one user's bank data accessible in-loop (not a B2B aggregator pattern) — for that, see /mcp/cumbuca-of-data-mcp/ which exposes Open Finance via MCP for one-click agent install. Or if your need is single-CNPJ business data (not bank transactions) — use /data/auxiliar-cnpj-fetch/ instead.",
7714
+ "page_url": "https://auxiliar.ai/service/pluggy/",
7715
+ "external_homepage": "https://pluggy.ai",
7716
+ "provenance": "hand-curated"
5910
7717
  },
5911
7718
  {
5912
7719
  "id": "polar",
@@ -6024,7 +7831,8 @@
6024
7831
  "choose_if": "You're a developer or OSS maintainer who wants a low-friction MoR with GitHub integration, usage-based billing, and lower fees than Paddle.",
6025
7832
  "avoid_if": "You need non-card payment methods, tax-inclusive pricing, or proven enterprise-grade support.",
6026
7833
  "page_url": "https://auxiliar.ai/service/polar/",
6027
- "external_homepage": "https://polar.sh"
7834
+ "external_homepage": "https://polar.sh",
7835
+ "provenance": "hand-curated"
6028
7836
  },
6029
7837
  {
6030
7838
  "id": "postgres-fts",
@@ -6138,7 +7946,8 @@
6138
7946
  "choose_if": "You already use PostgreSQL and want search without adding another service — especially for admin panels, internal tools, or simple blog search.",
6139
7947
  "avoid_if": "You need typo tolerance, instant search-as-you-type, faceted navigation, or sub-10ms query times at scale — use Algolia, Typesense, or Meilisearch.",
6140
7948
  "page_url": "https://auxiliar.ai/service/postgres-fts/",
6141
- "external_homepage": "https://www.postgresql.org/docs/current/textsearch.html"
7949
+ "external_homepage": "https://www.postgresql.org/docs/current/textsearch.html",
7950
+ "provenance": "hand-curated"
6142
7951
  },
6143
7952
  {
6144
7953
  "id": "posthog-flags",
@@ -6269,7 +8078,8 @@
6269
8078
  "choose_if": "You already use PostHog for analytics and want feature flags without adding another vendor.",
6270
8079
  "avoid_if": "You only need feature flags without analytics, or need the most advanced targeting capabilities.",
6271
8080
  "page_url": "https://auxiliar.ai/service/posthog-flags/",
6272
- "external_homepage": "https://posthog.com"
8081
+ "external_homepage": "https://posthog.com",
8082
+ "provenance": "hand-curated"
6273
8083
  },
6274
8084
  {
6275
8085
  "id": "posthog",
@@ -6392,7 +8202,8 @@
6392
8202
  "choose_if": "You want product analytics, feature flags, and session replay in a single open source platform with a generous free tier.",
6393
8203
  "avoid_if": "You need error tracking (use Sentry) or infrastructure monitoring (use Datadog).",
6394
8204
  "page_url": "https://auxiliar.ai/service/posthog/",
6395
- "external_homepage": "https://posthog.com"
8205
+ "external_homepage": "https://posthog.com",
8206
+ "provenance": "hand-curated"
6396
8207
  },
6397
8208
  {
6398
8209
  "id": "postmark",
@@ -6529,7 +8340,140 @@
6529
8340
  "choose_if": "Deliverability is your top priority and you need a proven, battle-tested transactional email service.",
6530
8341
  "avoid_if": "You need marketing/bulk email in the same platform or want the most modern DX.",
6531
8342
  "page_url": "https://auxiliar.ai/service/postmark/",
6532
- "external_homepage": "https://postmarkapp.com"
8343
+ "external_homepage": "https://postmarkapp.com",
8344
+ "provenance": "hand-curated"
8345
+ },
8346
+ {
8347
+ "id": "printing-press",
8348
+ "element_type": "skill",
8349
+ "name": "Printing Press",
8350
+ "description": "Open-source CLI factory for agents. One command (/printing-press <api>) takes any API spec, website, or HAR and emits a token-efficient Go CLI + Claude Code skill + OpenClaw skill + MCP server — sharing one local SQLite mirror with FTS5 search, compound commands, and --compact token compression (60-80% fewer tokens for high-gravity fields).",
8351
+ "long_description": "Printing Press treats every API as having a \"secret identity\" beyond what its designers say — Linear is \"a team behavior observatory,\" Discord is \"a searchable knowledge base,\" Stripe is \"a business health monitor\" — and designs commands around that, not around the raw endpoint surface. The generator outputs four formats from one spec (Go CLI, Claude Code skill, OpenClaw skill, MCP server), all sharing one internal client + SQLite store. Compound queries impossible against stateless API wrappers (\"every blocked issue whose blocker has been stuck for a week\") become trivial against the local mirror. Typed exit codes (0/2/3/4/5/7) give agents a structured self-correction signal. Anti-MCP-bloat claim from the project: CLIs are \"100x fewer tokens than MCP tool definitions\" because LLMs were trained on shell interactions and MCP tool schemas are large.",
8352
+ "jtbd_tags": [
8353
+ "api-to-cli-for-agents",
8354
+ "generate-mcp-server-from-spec",
8355
+ "agent-native-cli",
8356
+ "token-efficient-tool-output",
8357
+ "sqlite-mirror-for-api",
8358
+ "claude-code-skill-generator",
8359
+ "openclaw-skill-generator",
8360
+ "compound-query-cli",
8361
+ "api-to-agent-toolkit"
8362
+ ],
8363
+ "aliases_search": [
8364
+ "printing press",
8365
+ "cli printing press",
8366
+ "print agent cli",
8367
+ "api to cli generator",
8368
+ "api to agent cli",
8369
+ "generate a token-efficient CLI for an agent from any API spec website or HAR",
8370
+ "factory that prints a Claude Code skill plus an MCP server from one OpenAPI spec",
8371
+ "tool that turns an API into a Go CLI a Claude Code skill an OpenClaw skill and an MCP server in one command",
8372
+ "agent-native CLI generator with local SQLite mirror and FTS5 search and compound queries",
8373
+ "--compact mode CLI 60 80 percent fewer tokens high-gravity fields",
8374
+ "alternative to OpenAPI generators Speakeasy Fern with data layer for agents",
8375
+ "print agent CLI from API spec",
8376
+ "generate MCP server from website or HAR file",
8377
+ "CLI that beats MCP token cost for agents",
8378
+ "how to expose a third-party API to Claude Code without writing my own MCP",
8379
+ "automatic generation of agent-native tools from API specs"
8380
+ ],
8381
+ "categories": [
8382
+ "cli-generator",
8383
+ "agent-tooling",
8384
+ "api-tooling",
8385
+ "code-generation",
8386
+ "skill-factory"
8387
+ ],
8388
+ "works_with": [
8389
+ "Claude Code",
8390
+ "Claude Desktop",
8391
+ "Cursor",
8392
+ "Windsurf",
8393
+ "OpenClaw",
8394
+ "Go 1.22+"
8395
+ ],
8396
+ "fit_by_agent": {
8397
+ "claude-code": true,
8398
+ "claude-desktop": true,
8399
+ "cursor": true,
8400
+ "openclaw": true
8401
+ },
8402
+ "evals": [],
8403
+ "cost": {
8404
+ "type": "free",
8405
+ "free_tier": "MIT-licensed open source. No commercial tier published. Project notes that Codex-mode generation reduces Opus token spend ~60% during printing — cost-conscious by design.",
8406
+ "hidden_costs": [],
8407
+ "cost_per_unit": {}
8408
+ },
8409
+ "pricing_tiers": [],
8410
+ "compliance": [],
8411
+ "risks": [
8412
+ {
8413
+ "severity": "low",
8414
+ "category": "maturity",
8415
+ "description": "Pre-1.0 project as of mid-2026. The community library has 19+ verified CLIs but coverage skews toward developer-tooling APIs (Linear, GitHub, Discord, Asana, HubSpot) rather than e.g. Brazilian public-data APIs."
8416
+ },
8417
+ {
8418
+ "severity": "low",
8419
+ "category": "scope",
8420
+ "description": "Generates the *form* of an agent tool from an API spec; doesn't curate which tool the agent should use for what task (that's auxiliar.ai's surface). Layering cleanly: factory + catalog + router are different jobs."
8421
+ },
8422
+ {
8423
+ "severity": "low",
8424
+ "category": "lock-in",
8425
+ "description": "Generated CLI ships with a specific shape (Cobra + SQLite + FTS5 + typed exit codes). If the upstream changes the shape, regenerated CLIs may need migration."
8426
+ },
8427
+ {
8428
+ "severity": "low",
8429
+ "category": "runtime",
8430
+ "description": "Requires Go 1.22+ on the host. Sandboxed JS-only runtimes or restricted enterprise dev shells without Go can't install the binary; the MCP-server output is the workaround for those environments."
8431
+ }
8432
+ ],
8433
+ "deps": {
8434
+ "requires": [],
8435
+ "composes_with": [
8436
+ "auxiliar-mcp",
8437
+ "auxiliar-solve"
8438
+ ],
8439
+ "conflicts": [],
8440
+ "minimum_runtime": "Go 1.22+"
8441
+ },
8442
+ "install": {
8443
+ "primary": {
8444
+ "install_command": "go install github.com/mvanhorn/cli-printing-press/cmd/printing-press@latest",
8445
+ "config_snippet": "# Then inside Claude Code or any MCP host:\n# /printing-press <api-name>\n# → emits Go CLI + Claude Code skill + OpenClaw skill + MCP server\n# → from one API spec, website, or HAR file\n# → with local SQLite mirror, FTS5 search, compound commands, --compact\n",
8446
+ "setup_url": "https://printingpress.dev/",
8447
+ "estimated_minutes": 10
8448
+ },
8449
+ "by_agent": {
8450
+ "claude-code": {
8451
+ "install_command": "go install github.com/mvanhorn/cli-printing-press/cmd/printing-press@latest",
8452
+ "config_snippet": "Use the /printing-press <api> skill in any agent session to print the four-format bundle.",
8453
+ "estimated_minutes": 10
8454
+ },
8455
+ "claude-desktop": {
8456
+ "install_command": "After the Go install, the printed MCP server (<api>-pp-mcp) auto-discovers in Claude Desktop's connector list.",
8457
+ "estimated_minutes": 10
8458
+ },
8459
+ "cursor": {
8460
+ "install_command": "Same install path; printed MCP server is registered via .cursor/mcp.json.",
8461
+ "estimated_minutes": 10
8462
+ }
8463
+ },
8464
+ "by_framework": {}
8465
+ },
8466
+ "last_verified": "2026-05-09",
8467
+ "verification_method": "vendor-self-reported-plus-github-research-2026-05-09",
8468
+ "alternatives_considered": [],
8469
+ "compared_to": [],
8470
+ "choose_if": "You need an agent-native interface to an API that doesn't already have a curated MCP server or skill in auxiliar.ai's catalog. Especially valuable when the API is large (full endpoint surface) AND the agent will hit it iteratively (where token efficiency, local SQLite mirror, and compound commands compound).",
8471
+ "avoid_if": "A purpose-built MCP server or skill already exists with high quality (e.g. Cumbuca's Open Finance MCP for BR bank data — re-printing one would lose the regulated-auth integration). Also avoid for one-shot read calls where the SQLite mirror's setup overhead outweighs the read savings, or when the host environment doesn't have Go available.",
8472
+ "page_url": "https://auxiliar.ai/skill/printing-press/",
8473
+ "external_homepage": "https://printingpress.dev/",
8474
+ "repository": "https://github.com/mvanhorn/cli-printing-press",
8475
+ "license": "MIT",
8476
+ "provenance": "hand-curated"
6533
8477
  },
6534
8478
  {
6535
8479
  "id": "qdrant",
@@ -6662,7 +8606,8 @@
6662
8606
  "choose_if": "You want the best price/performance ratio with a fast, Rust-based engine and open-source flexibility.",
6663
8607
  "avoid_if": "You need the largest ecosystem and most third-party integrations, or prefer zero-ops managed only.",
6664
8608
  "page_url": "https://auxiliar.ai/service/qdrant/",
6665
- "external_homepage": "https://qdrant.tech"
8609
+ "external_homepage": "https://qdrant.tech",
8610
+ "provenance": "hand-curated"
6666
8611
  },
6667
8612
  {
6668
8613
  "id": "qstash",
@@ -6787,7 +8732,85 @@
6787
8732
  "choose_if": "You need edge-compatible scheduled messaging that works in serverless and edge runtimes.",
6788
8733
  "avoid_if": "You need a full-featured cron platform with observability, retries, and complex workflows.",
6789
8734
  "page_url": "https://auxiliar.ai/service/qstash/",
6790
- "external_homepage": "https://upstash.com/docs/qstash"
8735
+ "external_homepage": "https://upstash.com/docs/qstash",
8736
+ "provenance": "hand-curated"
8737
+ },
8738
+ {
8739
+ "id": "quanto",
8740
+ "element_type": "cloud_service",
8741
+ "name": "Quanto",
8742
+ "description": "Brazilian Open Finance + payment-data aggregator. B2B SaaS focused on Brazilian fintechs needing Open Finance account aggregation + payment- initiation (Pix automático, Itp-licensed). Bacen-regulated; one of the ITP-licensed aggregators that handle both data-aggregation and payment-initiation surfaces.",
8743
+ "jtbd_tags": [
8744
+ "open-finance-brasil",
8745
+ "bank-data-aggregation",
8746
+ "payment-initiation",
8747
+ "itp-licensed",
8748
+ "pix-automatico",
8749
+ "financial-data-api",
8750
+ "brazilian-data"
8751
+ ],
8752
+ "aliases_search": [
8753
+ "Quanto",
8754
+ "Quanto Open Finance Brasil",
8755
+ "Quanto ITP",
8756
+ "Open Finance Brazil bank data API Belvo Pluggy Klavi Quanto",
8757
+ "Quanto pagamento iniciador",
8758
+ "Quanto API",
8759
+ "Quanto SDK",
8760
+ "Quanto Pix automático",
8761
+ "Quanto Bacen",
8762
+ "agregador Open Finance Brasil",
8763
+ "Itp pagamento Brasil",
8764
+ "Quanto vs Pluggy"
8765
+ ],
8766
+ "categories": [
8767
+ "open-finance",
8768
+ "bank-data",
8769
+ "brazilian-data",
8770
+ "aggregator",
8771
+ "payment-initiation",
8772
+ "public-data"
8773
+ ],
8774
+ "works_with": [],
8775
+ "fit_by_agent": {
8776
+ "claude-code": true,
8777
+ "claude-desktop": true,
8778
+ "cursor": true,
8779
+ "openclaw": true
8780
+ },
8781
+ "evals": [],
8782
+ "cost": {
8783
+ "type": "freemium",
8784
+ "free_tier": "Sandbox for development; production billing per contract (vendor docs).",
8785
+ "paid_starts": "Per-connection / per-transaction pricing depending on use case — check vendor sales.",
8786
+ "hidden_costs": [
8787
+ "Payment-initiation surface (when used) bills by transaction volume — separate metering from data-aggregation."
8788
+ ],
8789
+ "cost_per_unit": {}
8790
+ },
8791
+ "pricing_tiers": [],
8792
+ "compliance": [],
8793
+ "risks": [
8794
+ {
8795
+ "severity": "medium",
8796
+ "category": "regulatory",
8797
+ "description": "ITP licensing is Bacen-regulated; payment-initiation flows require the consumer's bank to authorize each Pix via biometric/PIN. Compliance requirements grow vs data-only aggregation (Conta de Pagamento Iniciador reporting obligations)."
8798
+ }
8799
+ ],
8800
+ "deps": {
8801
+ "requires": [],
8802
+ "composes_with": [],
8803
+ "conflicts": []
8804
+ },
8805
+ "last_verified": "2026-05-10",
8806
+ "verification_method": "vendor-docs-stub",
8807
+ "alternatives_considered": [],
8808
+ "compared_to": [],
8809
+ "choose_if": "Your B2B fintech needs both Open Finance data aggregation AND payment-initiation (Pix automático) in one ITP-licensed vendor. Quanto's combined-license positioning is the differentiator vs data-only aggregators.",
8810
+ "avoid_if": "You only need account aggregation (no payment-initiation) — a data-focused aggregator (Pluggy, Belvo, Klavi) may have richer connector coverage. Or if you're a per-user AI agent in Brazil — see /mcp/cumbuca-of-data-mcp/ for the MCP-shaped option for consumer agents.",
8811
+ "page_url": "https://auxiliar.ai/service/quanto/",
8812
+ "external_homepage": "https://quan.to",
8813
+ "provenance": "hand-curated"
6791
8814
  },
6792
8815
  {
6793
8816
  "id": "railway-postgres",
@@ -6905,7 +8928,8 @@
6905
8928
  "choose_if": "You are already hosting your app on Railway and want a simple Postgres alongside it with usage-based pricing.",
6906
8929
  "avoid_if": "You need managed database features (branching, read replicas, point-in-time recovery) or enterprise reliability.",
6907
8930
  "page_url": "https://auxiliar.ai/service/railway-postgres/",
6908
- "external_homepage": "https://railway.com"
8931
+ "external_homepage": "https://railway.com",
8932
+ "provenance": "hand-curated"
6909
8933
  },
6910
8934
  {
6911
8935
  "id": "railway",
@@ -7018,7 +9042,8 @@
7018
9042
  "choose_if": "You want simple, usage-based deployment for Node.js/Python APIs where you only pay for what you use.",
7019
9043
  "avoid_if": "You need a permanent free tier or are deploying a frontend-heavy Next.js app (use Vercel instead).",
7020
9044
  "page_url": "https://auxiliar.ai/service/railway/",
7021
- "external_homepage": "https://railway.com"
9045
+ "external_homepage": "https://railway.com",
9046
+ "provenance": "hand-curated"
7022
9047
  },
7023
9048
  {
7024
9049
  "id": "receitaws-cnpj",
@@ -7109,7 +9134,119 @@
7109
9134
  "avoid_if": "You need bulk enrichment (>3 req/min on free tier hits 429), Simples Nacional flag on free tier (paid-only field), or modern field shapes (BrasilAPI returns richer data).",
7110
9135
  "page_url": "https://auxiliar.ai/data/receitaws-cnpj/",
7111
9136
  "external_homepage": "https://receitaws.com.br",
7112
- "license": "Proprietary (vendor-managed)"
9137
+ "license": "Proprietary (vendor-managed)",
9138
+ "provenance": "hand-curated"
9139
+ },
9140
+ {
9141
+ "id": "reconciliacao-bancaria-com-ia",
9142
+ "element_type": "task_template",
9143
+ "name": "Conciliação bancária com IA no Brasil — o que instalar e a receita do agente",
9144
+ "description": "Como um agente de IA reconcilia conta-corrente e cartão contra fonte externa (planilha contábil, recebimentos esperados, NFS-e emitidas). Instala Cumbuca Open Finance Data MCP, usuário autoriza via OF (CPF + biometria), agente roda receita determinística: janelas mensais, casamento por valor + data ±N + contraparte (CPF/CNPJ), divergências para revisão. Bacen-spec normalizado, data-source-agnóstico.",
9145
+ "jtbd_tags": [
9146
+ "reconciliacao-bancaria",
9147
+ "conciliacao-extrato",
9148
+ "bank-statement-reconciliation",
9149
+ "bookkeeping-reconciliation",
9150
+ "accounts-receivable-matching",
9151
+ "open-finance-brasil",
9152
+ "bank-data-ai",
9153
+ "cnab-replacement"
9154
+ ],
9155
+ "aliases_search": [
9156
+ "conciliação bancária com IA",
9157
+ "reconcile brazilian bank statement with AI",
9158
+ "reconciliação bancária Brasil",
9159
+ "conciliação bancária Brasil extrato bancário OFX CSV PDF",
9160
+ "parse Brazilian bank statement PDF OCR categorize transactions AI",
9161
+ "importar extrato bancário OFX CSV Brasil; categorização de transações; consolidação multi-banco",
9162
+ "CNAB 240 400 parser Brazil conciliação",
9163
+ "conciliação extrato bancário",
9164
+ "extrato bancário Open Finance reconciliação",
9165
+ "cumbuca conciliação bancária",
9166
+ "bank reconciliation AI brazil",
9167
+ "automated bank reconciliation Brazil Open Finance",
9168
+ "reconciliação contas a receber Brasil",
9169
+ "matching CPF CNPJ recebimentos PIX TED",
9170
+ "reconciliação fatura cartão crédito Brasil",
9171
+ "bookkeeping bank reconciliation Brazil",
9172
+ "extrair extrato bancário PDF categorizar IA"
9173
+ ],
9174
+ "categories": [
9175
+ "personal-finance",
9176
+ "bookkeeping",
9177
+ "open-finance",
9178
+ "bank-data",
9179
+ "brazilian-data",
9180
+ "reconciliation",
9181
+ "task-template",
9182
+ "agent-tools"
9183
+ ],
9184
+ "works_with": [
9185
+ "claude-code",
9186
+ "claude-desktop",
9187
+ "chatgpt",
9188
+ "cursor"
9189
+ ],
9190
+ "fit_by_agent": {
9191
+ "claude-code": true,
9192
+ "claude-desktop": true,
9193
+ "chatgpt": true,
9194
+ "cursor": true
9195
+ },
9196
+ "evals": [
9197
+ {
9198
+ "method_id": "auxiliar-reconciliacao-bancaria-documented-characteristics-v1",
9199
+ "score": 6.5,
9200
+ "score_breakdown": {
9201
+ "candidates_ranked": 1,
9202
+ "data_source_production_readiness": 8,
9203
+ "recipe_determinism": 9,
9204
+ "mvp_rate_limit_friendliness": 6,
9205
+ "pending_corpus_run": 0
9206
+ },
9207
+ "corpus_id": "auxiliar-reconciliacao-bancaria-corpus-v1-pending",
9208
+ "last_run": "2026-05-10",
9209
+ "candidates_outranked": 0
9210
+ }
9211
+ ],
9212
+ "cost": {
9213
+ "type": "free",
9214
+ "free_tier": "The /solve/ page is free editorial content. The underlying data source (Cumbuca Open Finance Data MCP) is free during MVP with ~5 queries/day per user.",
9215
+ "hidden_costs": [],
9216
+ "cost_per_unit": {}
9217
+ },
9218
+ "pricing_tiers": [],
9219
+ "compliance": [],
9220
+ "risks": [],
9221
+ "deps": {
9222
+ "requires": [],
9223
+ "composes_with": [
9224
+ "cumbuca-of-data-mcp",
9225
+ "auxiliar-mcp"
9226
+ ],
9227
+ "conflicts": []
9228
+ },
9229
+ "last_verified": "2026-05-10",
9230
+ "verification_method": "auxiliar-reconciliacao-bancaria-documented-characteristics-v1",
9231
+ "alternatives_considered": [
9232
+ {
9233
+ "name": "CNAB 240/400 parser + planilha contábil",
9234
+ "dropped_because": "O caminho tradicional contábil — banco emite CNAB, contador roda um parser, cruza com o razão contábil. Funciona mas exige convênio CNAB ativo no banco (não é universal), arquivos diários baixados manualmente, e nenhum agente de IA no loop. A receita desta página entrega o mesmo resultado em chat, com dados ao vivo via OF, sem dependência de convênio."
9235
+ },
9236
+ {
9237
+ "name": "Export OFX/CSV + reconciliação no Excel",
9238
+ "dropped_because": "Comum no Brasil para microempreendedores. Funciona para um período pequeno, mas o usuário precisa baixar o extrato cada vez, manter a planilha, e não há reaproveitamento por outro agente. A receita abaixo é a mesma lógica do VLOOKUP — só que executada em loop pelo agente, contra dados ao vivo."
9239
+ },
9240
+ {
9241
+ "name": "Software de conciliação enterprise (Conciliador, Bankeasy)",
9242
+ "dropped_because": "Solução B2B com onboarding, contrato, integração proprietária. Out of scope para o /solve/ — esta página atende usuário/PJ pequena que quer falar com um agente, não comprar um sistema."
9243
+ }
9244
+ ],
9245
+ "compared_to": [],
9246
+ "choose_if": "Você (ou sua PJ pequena) precisa cruzar movimentações bancárias com uma lista de recebimentos esperados, faturas emitidas, ou um razão contábil simples, e prefere pedir ao agente em vez de baixar CNAB / OFX / CSV. Especialmente útil para PIX e TED, onde o CPF/CNPJ da contraparte vem populado e permite casamento determinístico.",
9247
+ "avoid_if": "Você precisa de conciliação CNAB-compliant para fluxo de boletos em escala (volume enterprise) — a receita aqui é determinística e legível, não otimizada para milhares de boletos/dia. Também evite se você precisa conciliar contas em mais de um banco simultaneamente (Cumbuca MVP é single-account hoje).",
9248
+ "page_url": "https://auxiliar.ai/solve/reconciliacao-bancaria-com-ia/",
9249
+ "provenance": "hand-curated"
7113
9250
  },
7114
9251
  {
7115
9252
  "id": "redis-cloud",
@@ -7239,7 +9376,8 @@
7239
9376
  "choose_if": "You need full managed Redis with persistent connections, all data structures, modules, and the official Redis support.",
7240
9377
  "avoid_if": "You're in a serverless/edge environment — Upstash's HTTP-based access is better for those architectures.",
7241
9378
  "page_url": "https://auxiliar.ai/service/redis-cloud/",
7242
- "external_homepage": "https://redis.io/cloud/"
9379
+ "external_homepage": "https://redis.io/cloud/",
9380
+ "provenance": "hand-curated"
7243
9381
  },
7244
9382
  {
7245
9383
  "id": "render-postgres",
@@ -7369,7 +9507,8 @@
7369
9507
  "choose_if": "You are already hosting on Render and need a simple, cheap managed Postgres with minimal setup.",
7370
9508
  "avoid_if": "You need the free tier for anything beyond a 30-day throwaway experiment.",
7371
9509
  "page_url": "https://auxiliar.ai/service/render-postgres/",
7372
- "external_homepage": "https://render.com/docs/databases"
9510
+ "external_homepage": "https://render.com/docs/databases",
9511
+ "provenance": "hand-curated"
7373
9512
  },
7374
9513
  {
7375
9514
  "id": "render",
@@ -7487,7 +9626,8 @@
7487
9626
  "choose_if": "You want web hosting + database + cron jobs in one platform with simple, predictable pricing.",
7488
9627
  "avoid_if": "You need always-on free hosting or are deploying a Next.js app with edge functions (use Vercel).",
7489
9628
  "page_url": "https://auxiliar.ai/service/render/",
7490
- "external_homepage": "https://render.com"
9629
+ "external_homepage": "https://render.com",
9630
+ "provenance": "hand-curated"
7491
9631
  },
7492
9632
  {
7493
9633
  "id": "resend",
@@ -7622,7 +9762,8 @@
7622
9762
  "choose_if": "You want the fastest time-to-first-email with the best developer experience, especially in React/Next.js projects.",
7623
9763
  "avoid_if": "You need enterprise-grade track record or are sending 100K+ emails/month where cost matters.",
7624
9764
  "page_url": "https://auxiliar.ai/service/resend/",
7625
- "external_homepage": "https://resend.com"
9765
+ "external_homepage": "https://resend.com",
9766
+ "provenance": "hand-curated"
7626
9767
  },
7627
9768
  {
7628
9769
  "id": "revenuecat",
@@ -7729,7 +9870,8 @@
7729
9870
  "choose_if": "You're building a mobile app (iOS/Android) with subscriptions and need to handle App Store and Play Store billing.",
7730
9871
  "avoid_if": "You're building a web-only app — use Stripe or Lemon Squeezy instead.",
7731
9872
  "page_url": "https://auxiliar.ai/service/revenuecat/",
7732
- "external_homepage": "https://revenuecat.com"
9873
+ "external_homepage": "https://revenuecat.com",
9874
+ "provenance": "hand-curated"
7733
9875
  },
7734
9876
  {
7735
9877
  "id": "sanity",
@@ -7854,7 +9996,8 @@
7854
9996
  "choose_if": "You want the best developer experience with real-time collaboration, flexible querying via GROQ, and a customizable open source studio.",
7855
9997
  "avoid_if": "Your team doesn't want to learn GROQ, or you need a simple blog CMS — use Ghost instead.",
7856
9998
  "page_url": "https://auxiliar.ai/service/sanity/",
7857
- "external_homepage": "https://www.sanity.io"
9999
+ "external_homepage": "https://www.sanity.io",
10000
+ "provenance": "hand-curated"
7858
10001
  },
7859
10002
  {
7860
10003
  "id": "sendgrid",
@@ -7992,7 +10135,8 @@
7992
10135
  "choose_if": "You need transactional and marketing email in one platform, are already invested in the Twilio ecosystem, and can budget $19.95/month minimum (no free tier).",
7993
10136
  "avoid_if": "You are starting a new project or need a free tier — Resend, Postmark, or AWS SES are better choices in every dimension. No free plan available since May 2025.",
7994
10137
  "page_url": "https://auxiliar.ai/service/sendgrid/",
7995
- "external_homepage": "https://sendgrid.com"
10138
+ "external_homepage": "https://sendgrid.com",
10139
+ "provenance": "hand-curated"
7996
10140
  },
7997
10141
  {
7998
10142
  "id": "sentry",
@@ -8124,7 +10268,8 @@
8124
10268
  "choose_if": "You need the best error tracking with source maps, release tracking, and performance monitoring in a single tool.",
8125
10269
  "avoid_if": "You only need product analytics or log management — Sentry is focused on errors and performance.",
8126
10270
  "page_url": "https://auxiliar.ai/service/sentry/",
8127
- "external_homepage": "https://sentry.io"
10271
+ "external_homepage": "https://sentry.io",
10272
+ "provenance": "hand-curated"
8128
10273
  },
8129
10274
  {
8130
10275
  "id": "statsig",
@@ -8254,7 +10399,8 @@
8254
10399
  "choose_if": "You want feature flags with built-in A/B testing and experimentation, at usage-based pricing.",
8255
10400
  "avoid_if": "You need the most mature enterprise governance or are worried about event-based billing spikes.",
8256
10401
  "page_url": "https://auxiliar.ai/service/statsig/",
8257
- "external_homepage": "https://statsig.com"
10402
+ "external_homepage": "https://statsig.com",
10403
+ "provenance": "hand-curated"
8258
10404
  },
8259
10405
  {
8260
10406
  "id": "strapi",
@@ -8379,7 +10525,8 @@
8379
10525
  "choose_if": "You want full control over your CMS with self-hosting, no per-seat pricing, and the largest open source plugin ecosystem.",
8380
10526
  "avoid_if": "You don't want to manage hosting infrastructure — use Sanity or Contentful instead.",
8381
10527
  "page_url": "https://auxiliar.ai/service/strapi/",
8382
- "external_homepage": "https://strapi.io"
10528
+ "external_homepage": "https://strapi.io",
10529
+ "provenance": "hand-curated"
8383
10530
  },
8384
10531
  {
8385
10532
  "id": "stripe",
@@ -8521,7 +10668,8 @@
8521
10668
  "choose_if": "You want maximum payment flexibility with the best API, docs, and ecosystem in the industry.",
8522
10669
  "avoid_if": "You're a solo developer selling digital products who doesn't want to deal with tax collection — use Lemon Squeezy instead.",
8523
10670
  "page_url": "https://auxiliar.ai/service/stripe/",
8524
- "external_homepage": "https://stripe.com"
10671
+ "external_homepage": "https://stripe.com",
10672
+ "provenance": "hand-curated"
8525
10673
  },
8526
10674
  {
8527
10675
  "id": "supabase-auth",
@@ -8648,7 +10796,8 @@
8648
10796
  "choose_if": "You're already using Supabase for your database and want integrated auth with PostgreSQL Row Level Security.",
8649
10797
  "avoid_if": "You only need auth without a database, or you want to avoid coupling your auth to a platform.",
8650
10798
  "page_url": "https://auxiliar.ai/service/supabase-auth/",
8651
- "external_homepage": "https://supabase.com/auth"
10799
+ "external_homepage": "https://supabase.com/auth",
10800
+ "provenance": "hand-curated"
8652
10801
  },
8653
10802
  {
8654
10803
  "id": "supabase",
@@ -8794,7 +10943,8 @@
8794
10943
  "choose_if": "You want a full-stack platform (auth, database, storage, realtime) with a modern developer experience and fast setup.",
8795
10944
  "avoid_if": "You only need a database — you will overpay for bundled services you never use.",
8796
10945
  "page_url": "https://auxiliar.ai/service/supabase/",
8797
- "external_homepage": "https://supabase.com"
10946
+ "external_homepage": "https://supabase.com",
10947
+ "provenance": "hand-curated"
8798
10948
  },
8799
10949
  {
8800
10950
  "id": "surya",
@@ -8919,7 +11069,8 @@
8919
11069
  "external_homepage": "https://github.com/VikParuchuri/surya",
8920
11070
  "repository": "https://github.com/VikParuchuri/surya",
8921
11071
  "license": "GPL-3.0 (code) + AI Pubs Open Rail-M (weights, <$2M clause)",
8922
- "pypi_package": "surya-ocr"
11072
+ "pypi_package": "surya-ocr",
11073
+ "provenance": "hand-curated"
8923
11074
  },
8924
11075
  {
8925
11076
  "id": "trigger-dev-cron",
@@ -9038,7 +11189,8 @@
9038
11189
  "choose_if": "You want the best TypeScript developer experience for scheduled tasks and background jobs.",
9039
11190
  "avoid_if": "You use Python, Go, or other non-Node.js languages, or need durable step functions.",
9040
11191
  "page_url": "https://auxiliar.ai/service/trigger-dev-cron/",
9041
- "external_homepage": "https://trigger.dev"
11192
+ "external_homepage": "https://trigger.dev",
11193
+ "provenance": "hand-curated"
9042
11194
  },
9043
11195
  {
9044
11196
  "id": "trigger-dev",
@@ -9165,7 +11317,8 @@
9165
11317
  "choose_if": "You want the best DX for background jobs in Next.js/Node.js with an open source option and serverless-friendly architecture.",
9166
11318
  "avoid_if": "You need complex multi-step workflows (use Inngest) or are not in the Node.js ecosystem.",
9167
11319
  "page_url": "https://auxiliar.ai/service/trigger-dev/",
9168
- "external_homepage": "https://trigger.dev"
11320
+ "external_homepage": "https://trigger.dev",
11321
+ "provenance": "hand-curated"
9169
11322
  },
9170
11323
  {
9171
11324
  "id": "turso",
@@ -9305,7 +11458,8 @@
9305
11458
  "choose_if": "You want an edge-native database with zero cold starts, embedded read replicas, and a generous free tier — especially for SvelteKit/Remix on edge runtimes.",
9306
11459
  "avoid_if": "You need PostgreSQL compatibility, complex joins, or your ORM doesn't support SQLite/libSQL.",
9307
11460
  "page_url": "https://auxiliar.ai/service/turso/",
9308
- "external_homepage": "https://turso.tech"
11461
+ "external_homepage": "https://turso.tech",
11462
+ "provenance": "hand-curated"
9309
11463
  },
9310
11464
  {
9311
11465
  "id": "twilio",
@@ -9438,7 +11592,8 @@
9438
11592
  "choose_if": "You need the broadest communication API (SMS + voice + video + WhatsApp) with the largest ecosystem.",
9439
11593
  "avoid_if": "You only need basic SMS and want the simplest, cheapest option.",
9440
11594
  "page_url": "https://auxiliar.ai/service/twilio/",
9441
- "external_homepage": "https://www.twilio.com"
11595
+ "external_homepage": "https://www.twilio.com",
11596
+ "provenance": "hand-curated"
9442
11597
  },
9443
11598
  {
9444
11599
  "id": "typesense",
@@ -9562,7 +11717,8 @@
9562
11717
  "choose_if": "You want a fast, typo-tolerant search engine you can self-host, with an optional managed cloud and Algolia-compatible API.",
9563
11718
  "avoid_if": "You need the largest possible ecosystem with pre-built UI widgets for every framework — Algolia has more out-of-the-box integrations.",
9564
11719
  "page_url": "https://auxiliar.ai/service/typesense/",
9565
- "external_homepage": "https://typesense.org"
11720
+ "external_homepage": "https://typesense.org",
11721
+ "provenance": "hand-curated"
9566
11722
  },
9567
11723
  {
9568
11724
  "id": "uploadthing",
@@ -9689,7 +11845,8 @@
9689
11845
  "choose_if": "You're building a React/Next.js app and want file uploads working in 5 minutes with type-safe routes and pre-built UI components.",
9690
11846
  "avoid_if": "You're not using React/Next.js, or need general-purpose object storage — use R2 or S3.",
9691
11847
  "page_url": "https://auxiliar.ai/service/uploadthing/",
9692
- "external_homepage": "https://uploadthing.com"
11848
+ "external_homepage": "https://uploadthing.com",
11849
+ "provenance": "hand-curated"
9693
11850
  },
9694
11851
  {
9695
11852
  "id": "upstash",
@@ -9815,7 +11972,8 @@
9815
11972
  "choose_if": "You need Redis in a serverless or edge environment with HTTP-based access and pay-per-request pricing.",
9816
11973
  "avoid_if": "You need high-throughput persistent connections or advanced Redis features like modules — use Redis Cloud or Dragonfly.",
9817
11974
  "page_url": "https://auxiliar.ai/service/upstash/",
9818
- "external_homepage": "https://upstash.com"
11975
+ "external_homepage": "https://upstash.com",
11976
+ "provenance": "hand-curated"
9819
11977
  },
9820
11978
  {
9821
11979
  "id": "vercel-cron",
@@ -9937,7 +12095,8 @@
9937
12095
  "choose_if": "You're already on Vercel and want the simplest possible cron with zero additional configuration.",
9938
12096
  "avoid_if": "You deploy outside Vercel or need more than 1 cron job/day on the free tier.",
9939
12097
  "page_url": "https://auxiliar.ai/service/vercel-cron/",
9940
- "external_homepage": "https://vercel.com/docs/cron-jobs"
12098
+ "external_homepage": "https://vercel.com/docs/cron-jobs",
12099
+ "provenance": "hand-curated"
9941
12100
  },
9942
12101
  {
9943
12102
  "id": "vercel",
@@ -10073,7 +12232,8 @@
10073
12232
  "choose_if": "You're building with Next.js and want first-party framework support with edge functions and preview deployments.",
10074
12233
  "avoid_if": "Your app might go viral without warning — bandwidth overage at $0.15/GB can generate $1K+ bills overnight.",
10075
12234
  "page_url": "https://auxiliar.ai/service/vercel/",
10076
- "external_homepage": "https://vercel.com"
12235
+ "external_homepage": "https://vercel.com",
12236
+ "provenance": "hand-curated"
10077
12237
  },
10078
12238
  {
10079
12239
  "id": "vonage",
@@ -10202,7 +12362,8 @@
10202
12362
  "choose_if": "You want simpler pricing than Twilio with good international coverage and a solid API.",
10203
12363
  "avoid_if": "You need the newest developer experience or the largest third-party integration ecosystem.",
10204
12364
  "page_url": "https://auxiliar.ai/service/vonage/",
10205
- "external_homepage": "https://www.vonage.com"
12365
+ "external_homepage": "https://www.vonage.com",
12366
+ "provenance": "hand-curated"
10206
12367
  },
10207
12368
  {
10208
12369
  "id": "weaviate",
@@ -10335,7 +12496,8 @@
10335
12496
  "choose_if": "You want open-source flexibility with built-in vectorization modules and the option to self-host.",
10336
12497
  "avoid_if": "You want zero-ops simplicity without managing infrastructure or module configurations.",
10337
12498
  "page_url": "https://auxiliar.ai/service/weaviate/",
10338
- "external_homepage": "https://weaviate.io"
12499
+ "external_homepage": "https://weaviate.io",
12500
+ "provenance": "hand-curated"
10339
12501
  },
10340
12502
  {
10341
12503
  "id": "workos",
@@ -10502,6 +12664,7 @@
10502
12664
  "choose_if": "You need enterprise-ready auth with SSO, SCIM, and RBAC — or you want free auth up to 1M MAU with no per-user cost.",
10503
12665
  "avoid_if": "You need pre-built UI components like Clerk, want the cheapest SSO per-connection, or need a fully self-hosted solution.",
10504
12666
  "page_url": "https://auxiliar.ai/service/workos/",
10505
- "external_homepage": "https://workos.com"
12667
+ "external_homepage": "https://workos.com",
12668
+ "provenance": "hand-curated"
10506
12669
  }
10507
12670
  ]