auxiliar-mcp 0.12.0 → 0.13.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.
|
@@ -513,6 +513,133 @@
|
|
|
513
513
|
"page_url": "https://auxiliar.ai/service/authjs/",
|
|
514
514
|
"external_homepage": "https://authjs.dev"
|
|
515
515
|
},
|
|
516
|
+
{
|
|
517
|
+
"id": "auxiliar-cnpj-fetch",
|
|
518
|
+
"element_type": "data",
|
|
519
|
+
"name": "Auxiliar.ai CNPJ fetch (BrasilAPI → CNPJ.ws cascade)",
|
|
520
|
+
"description": "Drop-in CNPJ lookup. Returns razão social, primary + secondary CNAEs, regime tributário (Simples Nacional + MEI flags), situação cadastral, full address, QSA. Cascades BrasilAPI → CNPJ.ws on error. One auth surface for the rest of the auxiliar.ai gateway's 220+ Brazilian public-data tools.",
|
|
521
|
+
"jtbd_tags": [
|
|
522
|
+
"cnpj-enrichment",
|
|
523
|
+
"cnae-lookup",
|
|
524
|
+
"regime-tributario-lookup",
|
|
525
|
+
"simples-nacional-check",
|
|
526
|
+
"mei-lookup",
|
|
527
|
+
"brazilian-company-lookup",
|
|
528
|
+
"receita-federal",
|
|
529
|
+
"bookkeeping-enrichment",
|
|
530
|
+
"kyc-lookup",
|
|
531
|
+
"supplier-registry-enrichment",
|
|
532
|
+
"razao-social-lookup",
|
|
533
|
+
"situacao-cadastral-lookup"
|
|
534
|
+
],
|
|
535
|
+
"aliases_search": [
|
|
536
|
+
"CNPJ lookup",
|
|
537
|
+
"CNPJ to CNAE",
|
|
538
|
+
"CNPJ regime tributário",
|
|
539
|
+
"Simples Nacional lookup",
|
|
540
|
+
"MEI lookup",
|
|
541
|
+
"Receita Federal CNPJ",
|
|
542
|
+
"razão social lookup",
|
|
543
|
+
"razao social lookup",
|
|
544
|
+
"CNAE primario",
|
|
545
|
+
"CNAE secundário",
|
|
546
|
+
"CNAE fiscal",
|
|
547
|
+
"empresa Receita Federal",
|
|
548
|
+
"supplier enrichment Brazil",
|
|
549
|
+
"bookkeeping CNPJ",
|
|
550
|
+
"auxiliar CNPJ",
|
|
551
|
+
"auxiliar-mcp CNPJ",
|
|
552
|
+
"fetch_cnpj",
|
|
553
|
+
"invoke_capability fetch_cnpj",
|
|
554
|
+
"api.auxiliar.ai cnpj"
|
|
555
|
+
],
|
|
556
|
+
"categories": [
|
|
557
|
+
"public-data",
|
|
558
|
+
"brazilian-government",
|
|
559
|
+
"identifiers",
|
|
560
|
+
"bookkeeping"
|
|
561
|
+
],
|
|
562
|
+
"works_with": [],
|
|
563
|
+
"fit_by_agent": {
|
|
564
|
+
"claude-code": true,
|
|
565
|
+
"claude-desktop": true,
|
|
566
|
+
"cursor": true,
|
|
567
|
+
"openclaw": true
|
|
568
|
+
},
|
|
569
|
+
"evals": [],
|
|
570
|
+
"cost": {
|
|
571
|
+
"type": "free",
|
|
572
|
+
"free_tier": "No-auth path goes through anonymous tier (LOW-sensitivity public data, 600 RPM shared across all unauth callers). Mint a personal token via Auxiliar-ai/scripts/issue_internal_token.py to upgrade to external tier (60 RPM per user) or internal tier (6000 RPM, for Dunas-class products) — gives you per-user telemetry and exclusive HIGH_PII tools (Direct Data CPF dossiê etc.). All CNPJ-enrichment fields are free at every tier; the upstream BrasilAPI / CNPJ.ws are themselves free.",
|
|
573
|
+
"hidden_costs": [
|
|
574
|
+
"Rate-limit hits return 429 — code your enrichment loop to back off and retry.",
|
|
575
|
+
"BrasilAPI / CNPJ.ws are sourced from Receita Federal open-data dumps with ~30-day lag; for real-time situação cadastral (KYC at supplier-onboarding time) the lag may matter."
|
|
576
|
+
],
|
|
577
|
+
"cost_per_unit": {}
|
|
578
|
+
},
|
|
579
|
+
"pricing_tiers": [],
|
|
580
|
+
"compliance": [],
|
|
581
|
+
"risks": [
|
|
582
|
+
{
|
|
583
|
+
"severity": "medium",
|
|
584
|
+
"category": "regulatory",
|
|
585
|
+
"description": "Receita Federal open data has ~30-day publication lag. For real-time situação cadastral (a CNPJ that flipped to INAPTA / BAIXADA last week), use a paid commercial enrichment provider — out of scope for this free-tier cascade."
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"severity": "low",
|
|
589
|
+
"category": "vendor_lockin",
|
|
590
|
+
"description": "The cascade order (BrasilAPI → CNPJ.ws) is a curated default. If you need a specific provider (e.g., CNPJ.ws for Inscrições Estaduais), call the provider's tool directly via invoke_capability(tool=\"<provider>_cnpj_fetch\") — the cascade is a convenience wrapper, not a gate."
|
|
591
|
+
}
|
|
592
|
+
],
|
|
593
|
+
"deps": {
|
|
594
|
+
"requires": [
|
|
595
|
+
"auxiliar-mcp"
|
|
596
|
+
],
|
|
597
|
+
"composes_with": [
|
|
598
|
+
"auxiliar-nfs-e",
|
|
599
|
+
"nfs-e-parser",
|
|
600
|
+
"brasilapi-cnpj",
|
|
601
|
+
"cnpj-ws"
|
|
602
|
+
],
|
|
603
|
+
"conflicts": [],
|
|
604
|
+
"minimum_runtime": "Node 18+ (auxiliar-mcp's runtime); the gateway itself is hosted."
|
|
605
|
+
},
|
|
606
|
+
"install": {
|
|
607
|
+
"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
|
|
612
|
+
},
|
|
613
|
+
"by_agent": {
|
|
614
|
+
"claude-desktop": {
|
|
615
|
+
"install_command": "Add to ~/Library/Application Support/Claude/claude_desktop_config.json",
|
|
616
|
+
"config_snippet": "{\n \"mcpServers\": {\n \"auxiliar\": {\n \"command\": \"npx\",\n \"args\": [\"-y\", \"auxiliar-mcp\"]\n }\n }\n}\n",
|
|
617
|
+
"estimated_minutes": 5
|
|
618
|
+
},
|
|
619
|
+
"cursor": {
|
|
620
|
+
"install_command": "Add via Cursor's MCP settings UI or .cursor/mcp.json",
|
|
621
|
+
"config_snippet": "{ \"mcpServers\": { \"auxiliar\": { \"command\": \"npx\", \"args\": [\"-y\", \"auxiliar-mcp\"] } } }\n",
|
|
622
|
+
"estimated_minutes": 3
|
|
623
|
+
},
|
|
624
|
+
"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",
|
|
627
|
+
"estimated_minutes": 1
|
|
628
|
+
}
|
|
629
|
+
},
|
|
630
|
+
"by_framework": {}
|
|
631
|
+
},
|
|
632
|
+
"last_verified": "2026-04-29",
|
|
633
|
+
"verification_method": "vendor-self-reported",
|
|
634
|
+
"alternatives_considered": [],
|
|
635
|
+
"compared_to": [],
|
|
636
|
+
"choose_if": "Your agent extracts CNPJs from invoices and needs to enrich them with CNAE (primary + secondary), regime tributário (Simples Nacional + MEI flags), razão social, full address, and QSA before writing to a ledger or coaching the user. Pick this over hand-rolling against BrasilAPI directly when you want (a) automatic fallback to CNPJ.ws on upstream errors, (b) one auth surface for the rest of your Brazilian-public-data agent flow (NFS-e parsing, judicial process, contracts, sanctions), (c) sub-second cached repeat lookups, (d) a clean upgrade path to per- user telemetry + higher rate limits when you mint a token.",
|
|
637
|
+
"avoid_if": "You only need a single CNPJ lookup and don't plan to use any other Brazilian-public-data tool — in that case curl BrasilAPI directly (`curl https://brasilapi.com.br/api/cnpj/v1/<cnpj>`) is one less dependency. Or, you need real-time situação cadastral (recently-flipped KYC status) — open-data lag means this cascade is ~30 days behind; use a paid commercial enrichment provider instead.",
|
|
638
|
+
"page_url": "https://auxiliar.ai/data/auxiliar-cnpj-fetch/",
|
|
639
|
+
"external_homepage": "https://api.auxiliar.ai/api/invoke/fetch_cnpj",
|
|
640
|
+
"repository": "https://github.com/Tlalvarez/Auxiliar-ai",
|
|
641
|
+
"license": "MIT (gateway code); upstream data per Receita Federal open data terms"
|
|
642
|
+
},
|
|
516
643
|
{
|
|
517
644
|
"id": "auxiliar-mcp",
|
|
518
645
|
"element_type": "mcp",
|
|
@@ -1525,7 +1652,7 @@
|
|
|
1525
1652
|
{
|
|
1526
1653
|
"severity": "low",
|
|
1527
1654
|
"category": "supply_chain",
|
|
1528
|
-
"description": "BrasilAPI is community-maintained on Vercel. No SLA, no guaranteed uptime. Production workflows should cache responses and have a fallback (
|
|
1655
|
+
"description": "BrasilAPI is community-maintained on Vercel. No SLA, no guaranteed uptime. Production workflows should cache responses and have a fallback (auxiliar-cnpj-fetch or cnpj-ws)."
|
|
1529
1656
|
}
|
|
1530
1657
|
],
|
|
1531
1658
|
"deps": {
|
|
@@ -1535,7 +1662,7 @@
|
|
|
1535
1662
|
"nfs-e-parser",
|
|
1536
1663
|
"cnpja-cnpj",
|
|
1537
1664
|
"cnpj-ws",
|
|
1538
|
-
"
|
|
1665
|
+
"auxiliar-cnpj-fetch"
|
|
1539
1666
|
],
|
|
1540
1667
|
"conflicts": [],
|
|
1541
1668
|
"minimum_runtime": "Any HTTP client"
|
|
@@ -2373,7 +2500,7 @@
|
|
|
2373
2500
|
"cnpja-cnpj",
|
|
2374
2501
|
"cnpj-ws",
|
|
2375
2502
|
"receitaws-cnpj",
|
|
2376
|
-
"
|
|
2503
|
+
"auxiliar-cnpj-fetch",
|
|
2377
2504
|
"auxiliar-nfs-e",
|
|
2378
2505
|
"nfs-e-parser",
|
|
2379
2506
|
"auxiliar-mcp"
|
|
@@ -4565,101 +4692,6 @@
|
|
|
4565
4692
|
"page_url": "https://auxiliar.ai/service/mailgun/",
|
|
4566
4693
|
"external_homepage": "https://www.mailgun.com"
|
|
4567
4694
|
},
|
|
4568
|
-
{
|
|
4569
|
-
"id": "mcp-gov-cnpj-fetch",
|
|
4570
|
-
"element_type": "data",
|
|
4571
|
-
"name": "mcp-gov: CNPJ fetch (Receita Federal)",
|
|
4572
|
-
"description": "Public-data lookup: query Brazilian Receita Federal for CNPJ details (legal name, address, primary CNAE, regime tributário). Served via the mcp-gov MCP server.",
|
|
4573
|
-
"jtbd_tags": [
|
|
4574
|
-
"cnpj-enrichment",
|
|
4575
|
-
"brazilian-company-lookup",
|
|
4576
|
-
"receita-federal",
|
|
4577
|
-
"bookkeeping-enrichment",
|
|
4578
|
-
"kyc-lookup",
|
|
4579
|
-
"cnae-lookup",
|
|
4580
|
-
"regime-tributario-lookup",
|
|
4581
|
-
"supplier-registry-enrichment"
|
|
4582
|
-
],
|
|
4583
|
-
"aliases_search": [
|
|
4584
|
-
"CNPJ lookup",
|
|
4585
|
-
"Receita Federal CNPJ",
|
|
4586
|
-
"mcp-gov CNPJ",
|
|
4587
|
-
"Brazilian company lookup",
|
|
4588
|
-
"razao social lookup",
|
|
4589
|
-
"CNAE lookup",
|
|
4590
|
-
"empresa Receita",
|
|
4591
|
-
"regime tributário",
|
|
4592
|
-
"Simples Nacional lookup",
|
|
4593
|
-
"CNAE fiscal",
|
|
4594
|
-
"supplier enrichment Brazil",
|
|
4595
|
-
"bookkeeping CNPJ"
|
|
4596
|
-
],
|
|
4597
|
-
"categories": [
|
|
4598
|
-
"public-data",
|
|
4599
|
-
"brazilian-government",
|
|
4600
|
-
"identifiers"
|
|
4601
|
-
],
|
|
4602
|
-
"works_with": [],
|
|
4603
|
-
"fit_by_agent": {
|
|
4604
|
-
"claude-code": true,
|
|
4605
|
-
"claude-desktop": true,
|
|
4606
|
-
"cursor": true,
|
|
4607
|
-
"openclaw": true
|
|
4608
|
-
},
|
|
4609
|
-
"evals": [],
|
|
4610
|
-
"cost": {
|
|
4611
|
-
"type": "free",
|
|
4612
|
-
"free_tier": "Receita Federal public endpoint; rate-limited per IP. mcp-gov adds no surcharge.",
|
|
4613
|
-
"hidden_costs": [
|
|
4614
|
-
"Rate-limit hits return cached or error responses — bursty consumers should batch with retries."
|
|
4615
|
-
],
|
|
4616
|
-
"cost_per_unit": {}
|
|
4617
|
-
},
|
|
4618
|
-
"pricing_tiers": [],
|
|
4619
|
-
"compliance": [],
|
|
4620
|
-
"risks": [
|
|
4621
|
-
{
|
|
4622
|
-
"severity": "medium",
|
|
4623
|
-
"category": "regulatory",
|
|
4624
|
-
"description": "Receita Federal data is public but its publication cadence and field coverage change without notice. Agents writing to a ledger should validate that the returned CNPJ matches the queried one and treat missing fields as transient."
|
|
4625
|
-
},
|
|
4626
|
-
{
|
|
4627
|
-
"severity": "low",
|
|
4628
|
-
"category": "supply_chain",
|
|
4629
|
-
"description": "mcp-gov is a third-party MCP server. Verify the install source and pin a version before deploying to a regulated workflow."
|
|
4630
|
-
}
|
|
4631
|
-
],
|
|
4632
|
-
"deps": {
|
|
4633
|
-
"requires": [
|
|
4634
|
-
"mcp-gov"
|
|
4635
|
-
],
|
|
4636
|
-
"composes_with": [
|
|
4637
|
-
"auxiliar-nfs-e",
|
|
4638
|
-
"nfs-e-parser"
|
|
4639
|
-
],
|
|
4640
|
-
"conflicts": [],
|
|
4641
|
-
"minimum_runtime": "Python 3.10+ or Node 18+ (per mcp-gov runtime)"
|
|
4642
|
-
},
|
|
4643
|
-
"install": {
|
|
4644
|
-
"primary": {
|
|
4645
|
-
"install_command": "claude mcp add mcp-gov npx mcp-gov",
|
|
4646
|
-
"config_snippet": "# Once mcp-gov is installed, the agent invokes:\ncnpj_fetch(cnpj=\"11.222.333/0001-81\")\n# Returns: {\"razao_social\": \"...\", \"nome_fantasia\": \"...\", \"endereco\": {...}, ...}\n",
|
|
4647
|
-
"setup_url": "https://github.com/mcp-gov/mcp-gov",
|
|
4648
|
-
"estimated_minutes": 3
|
|
4649
|
-
},
|
|
4650
|
-
"by_agent": {},
|
|
4651
|
-
"by_framework": {}
|
|
4652
|
-
},
|
|
4653
|
-
"last_verified": "2026-04-26",
|
|
4654
|
-
"verification_method": "vendor-self-reported",
|
|
4655
|
-
"alternatives_considered": [],
|
|
4656
|
-
"compared_to": [],
|
|
4657
|
-
"choose_if": "Your agent extracts CNPJs from invoices and needs to enrich them with Receita Federal data (name, address, status) before writing to a ledger.",
|
|
4658
|
-
"avoid_if": "You already have a paid commercial-enrichment provider (Serasa, Quod) or your workflow needs SLA-backed availability.",
|
|
4659
|
-
"page_url": "https://auxiliar.ai/data/mcp-gov-cnpj-fetch/",
|
|
4660
|
-
"external_homepage": "https://github.com/mcp-gov/mcp-gov",
|
|
4661
|
-
"license": "Per mcp-gov upstream"
|
|
4662
|
-
},
|
|
4663
4695
|
{
|
|
4664
4696
|
"id": "meilisearch",
|
|
4665
4697
|
"element_type": "cloud_service",
|
package/dist/server.js
CHANGED
|
@@ -16,7 +16,7 @@ import { compareCapabilities } from "./tools/compare-capabilities.js";
|
|
|
16
16
|
import { invokeCapability } from "./tools/invoke-capability.js";
|
|
17
17
|
const server = new McpServer({
|
|
18
18
|
name: "auxiliar",
|
|
19
|
-
version: "0.
|
|
19
|
+
version: "0.13.0",
|
|
20
20
|
});
|
|
21
21
|
// Tool: recommend_service
|
|
22
22
|
server.tool("recommend_service", "Get a current, verified recommendation for a cloud service based on your constraints. Returns pricing, risks, provision commands, and alternatives. Data is Chrome-verified from actual service websites (not stale training data).", {
|
|
@@ -166,7 +166,7 @@ server.tool("compare_capabilities", "Side-by-side comparison structure for 2-5 C
|
|
|
166
166
|
// them. Routes to api.auxiliar.ai/api/invoke/<slug> where each slug is
|
|
167
167
|
// a Python coroutine in backend/sources/<region>/. Returns the standard
|
|
168
168
|
// envelope {tool, source_module, elapsed_ms, result}.
|
|
169
|
-
server.tool("invoke_capability", "Execute a registered data-plane tool over HTTP. Use this to actually CALL a Capability the agent has discovered via find_capability/get_capability/list_capabilities — fetch a CNPJ, search Lei Rouanet projects, list Brasileirão standings, etc. Pass `tool` as the slug (e.g., 'fetch_cnpj', 'rouanet_projeto_fetch') and `args` as the kwargs dict the underlying function expects. Returns {tool, source_module, elapsed_ms, result}. Caching, rate limits, and retries are handled server-side.", {
|
|
169
|
+
server.tool("invoke_capability", "Execute a registered data-plane tool over HTTP. Use this to actually CALL a Capability the agent has discovered via find_capability/get_capability/list_capabilities — fetch a CNPJ, search Lei Rouanet projects, list Brasileirão standings, etc. Pass `tool` as the slug (e.g., 'fetch_cnpj', 'rouanet_projeto_fetch') and `args` as the kwargs dict the underlying function expects. Returns {tool, source_module, elapsed_ms, result}. LOW-sensitivity tools work without auth — set AUXILIAR_GATEWAY_TOKEN for HIGH_PII tools (CPF dossiê, judicial process by CPF, etc.) and for higher rate limits. Caching, rate limits, and retries are handled server-side.", {
|
|
170
170
|
tool: z.string().max(100).describe("Tool slug — the function name in the gateway registry (e.g., 'fetch_cnpj', 'rouanet_projeto_fetch', 'br_futebol_brasileirao_tabela'). Lowercase, underscore-separated, must start with a letter."),
|
|
171
171
|
args: z.record(z.string(), z.unknown()).optional().describe("Keyword arguments for the tool. Pass an empty object for no-arg tools. Unknown args return 400; missing required args return 400."),
|
|
172
172
|
}, async (params) => {
|
|
@@ -10,11 +10,22 @@
|
|
|
10
10
|
* Caching, rate limiting, and retries already happen server-side inside
|
|
11
11
|
* each source module — this client is intentionally thin.
|
|
12
12
|
*
|
|
13
|
+
* Auth tiers (Phase 4A + Phase 4F):
|
|
14
|
+
* - When AUXILIAR_GATEWAY_TOKEN is set, sent as ``Authorization: Bearer``.
|
|
15
|
+
* Resolves to internal/external tier on the server with per-user
|
|
16
|
+
* rate limits + per-(tenant, sub_tenant) cache scoping for HIGH_PII
|
|
17
|
+
* tools. Mint via Auxiliar-ai/scripts/issue_internal_token.py.
|
|
18
|
+
* - When unset, the request goes through unauthenticated. The gateway
|
|
19
|
+
* dispatches LOW-sensitivity tools (CNPJ, NFS-e parser, public
|
|
20
|
+
* records) under the anonymous tier. HIGH_PII tools (Direct Data
|
|
21
|
+
* CPF dossiê, judicial-process-by-CPF, etc.) refuse anonymous with
|
|
22
|
+
* HTTP 403 — set AUXILIAR_GATEWAY_TOKEN to access those.
|
|
23
|
+
*
|
|
13
24
|
* Env knobs:
|
|
14
|
-
* - AUXILIAR_GATEWAY_URL
|
|
15
|
-
* -
|
|
16
|
-
* -
|
|
17
|
-
*
|
|
25
|
+
* - AUXILIAR_GATEWAY_URL override base URL (default api.auxiliar.ai)
|
|
26
|
+
* - AUXILIAR_GATEWAY_TOKEN Bearer token (preferred)
|
|
27
|
+
* - AUXILIAR_GATEWAY_KEY ops shared-key header (legacy break-glass)
|
|
28
|
+
* - AUXILIAR_GATEWAY_TIMEOUT_MS per-request timeout (default 60s)
|
|
18
29
|
*/
|
|
19
30
|
export interface InvokeCapabilityParams {
|
|
20
31
|
tool: string;
|
|
@@ -10,11 +10,22 @@
|
|
|
10
10
|
* Caching, rate limiting, and retries already happen server-side inside
|
|
11
11
|
* each source module — this client is intentionally thin.
|
|
12
12
|
*
|
|
13
|
+
* Auth tiers (Phase 4A + Phase 4F):
|
|
14
|
+
* - When AUXILIAR_GATEWAY_TOKEN is set, sent as ``Authorization: Bearer``.
|
|
15
|
+
* Resolves to internal/external tier on the server with per-user
|
|
16
|
+
* rate limits + per-(tenant, sub_tenant) cache scoping for HIGH_PII
|
|
17
|
+
* tools. Mint via Auxiliar-ai/scripts/issue_internal_token.py.
|
|
18
|
+
* - When unset, the request goes through unauthenticated. The gateway
|
|
19
|
+
* dispatches LOW-sensitivity tools (CNPJ, NFS-e parser, public
|
|
20
|
+
* records) under the anonymous tier. HIGH_PII tools (Direct Data
|
|
21
|
+
* CPF dossiê, judicial-process-by-CPF, etc.) refuse anonymous with
|
|
22
|
+
* HTTP 403 — set AUXILIAR_GATEWAY_TOKEN to access those.
|
|
23
|
+
*
|
|
13
24
|
* Env knobs:
|
|
14
|
-
* - AUXILIAR_GATEWAY_URL
|
|
15
|
-
* -
|
|
16
|
-
* -
|
|
17
|
-
*
|
|
25
|
+
* - AUXILIAR_GATEWAY_URL override base URL (default api.auxiliar.ai)
|
|
26
|
+
* - AUXILIAR_GATEWAY_TOKEN Bearer token (preferred)
|
|
27
|
+
* - AUXILIAR_GATEWAY_KEY ops shared-key header (legacy break-glass)
|
|
28
|
+
* - AUXILIAR_GATEWAY_TIMEOUT_MS per-request timeout (default 60s)
|
|
18
29
|
*/
|
|
19
30
|
const DEFAULT_BASE_URL = "https://api.auxiliar.ai";
|
|
20
31
|
const DEFAULT_TIMEOUT_MS = 60_000;
|
|
@@ -44,11 +55,18 @@ export async function invokeCapability(params) {
|
|
|
44
55
|
const url = `${gatewayBaseUrl()}/api/invoke/${tool}`;
|
|
45
56
|
const headers = {
|
|
46
57
|
"content-type": "application/json",
|
|
47
|
-
"user-agent": "auxiliar-mcp/0.
|
|
58
|
+
"user-agent": "auxiliar-mcp/0.13",
|
|
48
59
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
60
|
+
// Bearer token (preferred) wins over the shared-key fallback. With
|
|
61
|
+
// neither set, the request goes through unauthenticated and the
|
|
62
|
+
// gateway dispatches under anonymous tier.
|
|
63
|
+
const bearerToken = process.env.AUXILIAR_GATEWAY_TOKEN;
|
|
64
|
+
const sharedKey = process.env.AUXILIAR_GATEWAY_KEY;
|
|
65
|
+
if (bearerToken) {
|
|
66
|
+
headers["authorization"] = `Bearer ${bearerToken}`;
|
|
67
|
+
}
|
|
68
|
+
else if (sharedKey) {
|
|
69
|
+
headers["x-auxiliar-key"] = sharedKey;
|
|
52
70
|
}
|
|
53
71
|
const controller = new AbortController();
|
|
54
72
|
const timeoutId = setTimeout(() => controller.abort(), gatewayTimeoutMs());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auxiliar-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Unified Capability index for AI agents — 80+ ranked cloud services, skills, MCP servers, plugins, parsers, and public-data sources for Claude Code, Cursor, Claude Desktop, OpenClaw. Call find_capability with a query or jtbd tag to get a ranked list across every kind of agent-installable thing. Also: get_capability, list_capabilities, compare_capabilities. Legacy tools (recommend_service, solve_task, list_services, list_solve_tasks, get_pricing, get_risks, setup_service, check_compatibility) remain wired for backward compatibility.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/server.js",
|