@botozap/mcp 0.2.1 → 0.2.3

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.
package/README.md CHANGED
@@ -36,7 +36,7 @@ credenciais.
36
36
  O pacote pode ser executado diretamente do npm:
37
37
 
38
38
  ```bash
39
- pnpm dlx @botozap/mcp@0.1.0
39
+ pnpm dlx @botozap/mcp@0.2.3
40
40
  ```
41
41
 
42
42
  Para desenvolver o monorepo localmente:
@@ -57,6 +57,11 @@ pnpm --filter @botozap/mcp test
57
57
  | `BOTOZAP_MCP_TRANSPORT` | Remoto | `stdio` | Use `streamable-http` para iniciar o endpoint remoto. |
58
58
  | `BOTOZAP_MCP_HOST` | Remoto | `127.0.0.1` | Interface TCP do endpoint remoto. |
59
59
  | `BOTOZAP_MCP_PORT` | Remoto | `3001` | Porta do endpoint remoto (`0` escolhe uma porta livre). |
60
+ | `BOTOZAP_MCP_ALLOWED_HOSTS` | Remoto | loopback em localhost | CSV saneado (trim, vazio descartado) dos valores de `Host` aceitos em `/mcp`. Obrigatória fora de localhost. |
61
+ | `BOTOZAP_MCP_ALLOWED_ORIGINS` | Remoto | vazio | CSV saneado das `Origin` aceitas em `/mcp` (match exato). Sem `Origin` continua aceito; `Origin` presente só passa se estiver na lista. |
62
+ | `BOTOZAP_MCP_RATE_LIMIT_PER_CLIENT` | Remoto | `120` | Requisições por minuto por cliente/IP antes da autenticação. |
63
+ | `BOTOZAP_MCP_RATE_LIMIT_GLOBAL` | Remoto | `1200` | Teto global de requisições por minuto por processo. |
64
+ | `BOTOZAP_MCP_TRUSTED_PROXY_CIDRS` | Remoto | vazio | CSV de CIDRs autorizados a alcançar `/mcp`; com Cloudflare, use somente as faixas oficiais e o rate limit passa a usar `CF-Connecting-IP`. |
60
65
  | `BOTOZAP_EVENT_BUS_DATABASE_URL` | Obrigatória no remoto | — | Conexão PostgreSQL de sessão que suporta `LISTEN/NOTIFY`. |
61
66
 
62
67
  Sem a configuração obrigatória do transporte escolhido, o servidor falha
@@ -74,10 +79,23 @@ notification.
74
79
  BOTOZAP_MCP_TRANSPORT=streamable-http \
75
80
  BOTOZAP_MCP_HOST=0.0.0.0 \
76
81
  BOTOZAP_MCP_PORT=3001 \
82
+ BOTOZAP_MCP_ALLOWED_HOSTS=mcp.botozap.com.br \
77
83
  BOTOZAP_EVENT_BUS_DATABASE_URL=postgresql://... \
78
- pnpm dlx @botozap/mcp@0.1.0
84
+ pnpm dlx @botozap/mcp@0.2.3
79
85
  ```
80
86
 
87
+ Bind em `0.0.0.0` ou `::` sem `BOTOZAP_MCP_ALLOWED_HOSTS` recusa o boot (fail-closed). Em `127.0.0.1`/`::1`/`localhost` a allowlist padrão de loopback é aplicada e o desenvolvimento local segue igual.
88
+
89
+ Todo request a `/mcp` valida `Host` e `Origin` **antes** de Bearer e do parse do corpo, como exige o transporte Streamable HTTP (spec 2025-11-25): `Host` precisa estar na allowlist; `Origin` ausente é aceita (clientes server-to-server); `Origin` presente só passa por match exato. Desvio responde `403` JSON-RPC (`-32000`) sem autenticar.
90
+
91
+ `GET /healthz` é público, mínimo e sem segredo: responde `200` com `{"ok": true}` para readiness (Fly). Não exige Bearer, não consulta sessão e não revela estado interno — o health check interno pode usar um `Host` que não está na allowlist de `/mcp`.
92
+
93
+ Quando `BOTOZAP_MCP_TRUSTED_PROXY_CIDRS` está definida, `/mcp` exige que o
94
+ `Fly-Client-IP` pertença a uma das redes configuradas; isso bloqueia acesso
95
+ direto ao origin mesmo com `Host` forjado. Em deploy atrás da Cloudflare,
96
+ mantenha a lista sincronizada com `https://www.cloudflare.com/ips/`; somente
97
+ depois dessa validação o rate limiter confia em `CF-Connecting-IP`.
98
+
81
99
  Use uma conexão PostgreSQL persistente/direta ou pooler em modo de sessão;
82
100
  pooler em modo de transação não preserva `LISTEN`. O bus carrega somente um
83
101
  sinal vazio. Ao recebê-lo, cada sessão consulta `/events` com sua própria chave
@@ -104,7 +122,7 @@ Via CLI:
104
122
  ```bash
105
123
  claude mcp add botozap \
106
124
  --env BOTOZAP_API_KEY=bz_live_suachaveaqui \
107
- -- pnpm dlx @botozap/mcp@0.1.0
125
+ -- pnpm dlx @botozap/mcp@0.2.3
108
126
  ```
109
127
 
110
128
  Ou no JSON do MCP (`.mcp.json` do projeto ou config do usuário):
@@ -114,7 +132,7 @@ Ou no JSON do MCP (`.mcp.json` do projeto ou config do usuário):
114
132
  "mcpServers": {
115
133
  "botozap": {
116
134
  "command": "pnpm",
117
- "args": ["dlx", "@botozap/mcp@0.1.0"],
135
+ "args": ["dlx", "@botozap/mcp@0.2.3"],
118
136
  "env": {
119
137
  "BOTOZAP_API_KEY": "bz_live_suachaveaqui"
120
138
  }
@@ -132,7 +150,7 @@ Edite `~/.cursor/mcp.json` (global) ou `.cursor/mcp.json` (no projeto):
132
150
  "mcpServers": {
133
151
  "botozap": {
134
152
  "command": "pnpm",
135
- "args": ["dlx", "@botozap/mcp@0.1.0"],
153
+ "args": ["dlx", "@botozap/mcp@0.2.3"],
136
154
  "env": {
137
155
  "BOTOZAP_API_KEY": "bz_live_suachaveaqui"
138
156
  }
@@ -234,4 +252,5 @@ Há dois smokes, com propósitos distintos:
234
252
  A conta é sempre derivada da chave de API no servidor do BotoZap (multi-tenant,
235
253
  IDOR-safe). A chave é um segredo — não a comite nem a logue. O servidor MCP só
236
254
  escreve logs em **stderr** (stdout é reservado para o protocolo MCP); a chave
237
- nunca aparece em resultado de ferramenta nem em mensagem de erro.
255
+ nunca aparece em resultado de ferramenta, mensagem de erro, `/healthz` ou
256
+ resposta `403` de `Host`/`Origin`.
package/dist/http.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { BlockList } from "node:net";
1
2
  import type { EventSignalSource } from "./resources/events.js";
2
3
  export type { EventSignalSource } from "./resources/events.js";
3
4
  export interface StreamableHttpServerOptions {
@@ -7,12 +8,28 @@ export interface StreamableHttpServerOptions {
7
8
  eventPollIntervalMs?: number;
8
9
  fetch?: typeof fetch;
9
10
  host?: string;
11
+ /**
12
+ * Hosts permitidos no header `Host` de `/mcp` (match exato do header ou do
13
+ * hostname). Obrigatório fora de localhost.
14
+ */
15
+ allowedHosts?: readonly string[];
16
+ /**
17
+ * Origins permitidas no header `Origin` de `/mcp` (match exato). Ausente
18
+ * continua aceito para clientes server-to-server.
19
+ */
20
+ allowedOrigins?: readonly string[];
10
21
  /** Teto de resources de Eventos por sessão. */
11
22
  maxEventSubscriptions?: number;
12
23
  /** Teto de sessões stateful mantidas por processo. */
13
24
  maxSessions?: number;
14
25
  /** Teto de sessões simultâneas ligadas à mesma chave. */
15
26
  maxSessionsPerApiKey?: number;
27
+ /** Requisições MCP por cliente/IP em uma janela fixa de um minuto. */
28
+ rateLimitPerClientPerMinute?: number;
29
+ /** Requisições MCP globais por processo em uma janela fixa de um minuto. */
30
+ rateLimitGlobalPerMinute?: number;
31
+ /** CIDRs dos proxies autorizados a alcançar `/mcp` (ex.: ranges Cloudflare). */
32
+ trustedProxyCidrs?: readonly string[];
16
33
  port?: number;
17
34
  /** Tempo sem request ativo antes de recolher uma sessão abandonada. */
18
35
  sessionIdleTimeoutMs?: number;
@@ -23,6 +40,15 @@ export interface RunningStreamableHttpServer {
23
40
  url: URL;
24
41
  close(): Promise<void>;
25
42
  }
43
+ /** CSV de allowlist: trim, descarta vazio e deduplica na ordem. */
44
+ export declare function parseCsvAllowlist(raw: string | undefined): string[];
45
+ /**
46
+ * Recusa bind público sem allowlist de Host. Localhost/dev segue sem env
47
+ * explícita, com a lista padrão de loopback.
48
+ */
49
+ export declare function assertSecureHttpBind(host: string, allowedHosts: readonly string[]): void;
50
+ export declare function parsePositiveInteger(raw: string | undefined, fallback: number, name: string): number;
51
+ export declare function buildTrustedProxyList(cidrs: readonly string[]): BlockList | undefined;
26
52
  /**
27
53
  * Inicia um endpoint MCP remoto stateful. Cada sessão é criada a partir da
28
54
  * chave Bearer do initialize e fica presa ao mesmo fingerprint nos requests
package/dist/http.js CHANGED
@@ -1,16 +1,110 @@
1
1
  import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
2
2
  import { createServer, } from "node:http";
3
+ import { BlockList, isIP } from "node:net";
3
4
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
4
5
  import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
5
6
  import { createClient } from "./client.js";
6
7
  import { buildServer } from "./server.js";
7
8
  const MAX_BODY_BYTES = 1_048_576;
9
+ const RATE_LIMIT_WINDOW_MS = 60_000;
10
+ const DEFAULT_RATE_LIMIT_PER_CLIENT = 120;
11
+ const DEFAULT_RATE_LIMIT_GLOBAL = 1_200;
12
+ const MAX_TRACKED_RATE_LIMIT_CLIENTS = 10_000;
13
+ const LOCALHOST_ALLOWED_HOSTS = ["127.0.0.1", "localhost", "[::1]", "::1"];
14
+ const LOOPBACK_BINDS = new Set(["127.0.0.1", "::1", "localhost"]);
15
+ /** CSV de allowlist: trim, descarta vazio e deduplica na ordem. */
16
+ export function parseCsvAllowlist(raw) {
17
+ if (raw === undefined)
18
+ return [];
19
+ return sanitizeAllowlist(raw.split(","));
20
+ }
21
+ /**
22
+ * Recusa bind público sem allowlist de Host. Localhost/dev segue sem env
23
+ * explícita, com a lista padrão de loopback.
24
+ */
25
+ export function assertSecureHttpBind(host, allowedHosts) {
26
+ if (allowedHosts.length > 0)
27
+ return;
28
+ if (LOOPBACK_BINDS.has(host))
29
+ return;
30
+ throw new Error("BOTOZAP_MCP_ALLOWED_HOSTS é obrigatória quando o bind não é localhost (127.0.0.1/::1).");
31
+ }
32
+ export function parsePositiveInteger(raw, fallback, name) {
33
+ if (raw === undefined || raw.trim() === "")
34
+ return fallback;
35
+ const value = Number(raw);
36
+ if (!Number.isSafeInteger(value) || value < 1) {
37
+ throw new Error(`${name} deve ser um inteiro positivo.`);
38
+ }
39
+ return value;
40
+ }
41
+ class HttpRateLimiter {
42
+ perClientLimit;
43
+ globalLimit;
44
+ clients = new Map();
45
+ global = { count: 0, startedAt: 0 };
46
+ constructor(perClientLimit, globalLimit) {
47
+ this.perClientLimit = perClientLimit;
48
+ this.globalLimit = globalLimit;
49
+ }
50
+ allow(client, now = Date.now()) {
51
+ this.global = currentBucket(this.global, now);
52
+ this.compact(now);
53
+ const key = this.clients.has(client) || this.clients.size < MAX_TRACKED_RATE_LIMIT_CLIENTS
54
+ ? client
55
+ : "__overflow__";
56
+ const bucket = currentBucket(this.clients.get(key), now);
57
+ this.clients.set(key, bucket);
58
+ if (bucket.count >= this.perClientLimit ||
59
+ this.global.count >= this.globalLimit) {
60
+ return false;
61
+ }
62
+ bucket.count += 1;
63
+ this.global.count += 1;
64
+ return true;
65
+ }
66
+ compact(now) {
67
+ if (this.clients.size < MAX_TRACKED_RATE_LIMIT_CLIENTS)
68
+ return;
69
+ for (const [key, bucket] of this.clients) {
70
+ if (now - bucket.startedAt >= RATE_LIMIT_WINDOW_MS)
71
+ this.clients.delete(key);
72
+ }
73
+ }
74
+ }
75
+ export function buildTrustedProxyList(cidrs) {
76
+ if (cidrs.length === 0)
77
+ return undefined;
78
+ const list = new BlockList();
79
+ for (const cidr of sanitizeAllowlist(cidrs)) {
80
+ const separator = cidr.lastIndexOf("/");
81
+ const address = separator > 0 ? cidr.slice(0, separator) : "";
82
+ const prefix = separator > 0 ? Number(cidr.slice(separator + 1)) : Number.NaN;
83
+ const family = isIP(address);
84
+ const maxPrefix = family === 4 ? 32 : family === 6 ? 128 : -1;
85
+ if (!Number.isInteger(prefix) || prefix < 0 || prefix > maxPrefix) {
86
+ throw new Error(`CIDR de proxy inválido: ${cidr}`);
87
+ }
88
+ list.addSubnet(address, prefix, family === 4 ? "ipv4" : "ipv6");
89
+ }
90
+ return list;
91
+ }
8
92
  /**
9
93
  * Inicia um endpoint MCP remoto stateful. Cada sessão é criada a partir da
10
94
  * chave Bearer do initialize e fica presa ao mesmo fingerprint nos requests
11
95
  * seguintes; a autoridade da Conta continua sendo derivada pela API BotoZap.
12
96
  */
13
97
  export async function startStreamableHttpServer(options) {
98
+ const host = options.host ?? "127.0.0.1";
99
+ const allowedHosts = sanitizeAllowlist(options.allowedHosts ?? []);
100
+ const allowedOrigins = sanitizeAllowlist(options.allowedOrigins ?? []);
101
+ assertSecureHttpBind(host, allowedHosts);
102
+ const headerGate = {
103
+ allowedHosts: allowedHosts.length > 0 ? allowedHosts : LOCALHOST_ALLOWED_HOSTS,
104
+ allowedOrigins,
105
+ };
106
+ const rateLimiter = new HttpRateLimiter(options.rateLimitPerClientPerMinute ?? DEFAULT_RATE_LIMIT_PER_CLIENT, options.rateLimitGlobalPerMinute ?? DEFAULT_RATE_LIMIT_GLOBAL);
107
+ const trustedProxyList = buildTrustedProxyList(options.trustedProxyCidrs ?? []);
14
108
  const sessions = new Map();
15
109
  const reservations = { byApiKey: new Map(), total: 0 };
16
110
  const lifecycle = { closing: false };
@@ -26,7 +120,7 @@ export async function startStreamableHttpServer(options) {
26
120
  }, Math.max(1, options.sessionSweepIntervalMs ?? 30_000));
27
121
  sweep.unref?.();
28
122
  const http = createServer((request, response) => {
29
- void handleRequest(request, response, sessions, reservations, lifecycle, options).catch(() => {
123
+ void handleRequest(request, response, sessions, reservations, lifecycle, options, headerGate, rateLimiter, trustedProxyList).catch(() => {
30
124
  if (!response.headersSent) {
31
125
  jsonRpcError(response, 500, -32603, "Erro interno do servidor MCP.");
32
126
  }
@@ -35,7 +129,10 @@ export async function startStreamableHttpServer(options) {
35
129
  }
36
130
  });
37
131
  });
38
- const host = options.host ?? "127.0.0.1";
132
+ http.requestTimeout = 30_000;
133
+ http.headersTimeout = 10_000;
134
+ http.keepAliveTimeout = 5_000;
135
+ http.maxHeadersCount = 64;
39
136
  try {
40
137
  await listen(http, options.port ?? 0, host);
41
138
  }
@@ -69,12 +166,27 @@ export async function startStreamableHttpServer(options) {
69
166
  },
70
167
  };
71
168
  }
72
- async function handleRequest(request, response, sessions, reservations, lifecycle, options) {
169
+ async function handleRequest(request, response, sessions, reservations, lifecycle, options, headerGate, rateLimiter, trustedProxyList) {
73
170
  const url = new URL(request.url ?? "/", "http://mcp.invalid");
171
+ if (url.pathname === "/healthz" && request.method === "GET") {
172
+ writeHealthz(response);
173
+ return;
174
+ }
74
175
  if (url.pathname !== "/mcp") {
75
176
  jsonRpcError(response, 404, -32001, "Endpoint MCP não encontrado.");
76
177
  return;
77
178
  }
179
+ if (!acceptTrustedProxy(request, response, trustedProxyList)) {
180
+ return;
181
+ }
182
+ if (!rateLimiter.allow(rateLimitClientKey(request, trustedProxyList !== undefined))) {
183
+ response.setHeader("Retry-After", "60");
184
+ jsonRpcError(response, 429, -32000, "Limite de requisições MCP atingido.");
185
+ return;
186
+ }
187
+ if (!acceptMcpHttpHeaders(request, response, headerGate)) {
188
+ return;
189
+ }
78
190
  if (lifecycle.closing) {
79
191
  jsonRpcError(response, 503, -32000, "Servidor MCP em encerramento.");
80
192
  return;
@@ -114,16 +226,35 @@ async function handleRequest(request, response, sessions, reservations, lifecycl
114
226
  jsonRpcError(response, 503, -32000, "Servidor MCP em encerramento.");
115
227
  return;
116
228
  }
117
- if (sessions.size + reservations.total >= (options.maxSessions ?? 1_000)) {
229
+ const apiKeyFingerprint = fingerprint(apiKey);
230
+ const apiKeyReservationKey = apiKeyFingerprint.toString("base64url");
231
+ const maxSessions = options.maxSessions ?? 1_000;
232
+ const maxSessionsPerApiKey = options.maxSessionsPerApiKey ?? 5;
233
+ let sessionsForApiKey = countSessionsForApiKey(sessions, apiKey);
234
+ let reservedForApiKey = reservations.byApiKey.get(apiKeyReservationKey) ?? 0;
235
+ // Alguns hosts encerram o stream HTTP sem enviar DELETE /mcp. A sessão fica
236
+ // stateful no processo até o sweep e pode consumir a quota da própria chave.
237
+ // No teto, substituímos somente a sessão MAIS ANTIGA da MESMA credencial que
238
+ // já não tenha request ativo. Streams/requests vivos nunca são preemptados e
239
+ // sessões de outro tenant nunca cedem capacidade.
240
+ while (sessions.size + reservations.total >= maxSessions ||
241
+ sessionsForApiKey + reservedForApiKey >= maxSessionsPerApiKey) {
242
+ const reclaimed = await reclaimOldestIdleSession(sessions, apiKey);
243
+ if (!reclaimed)
244
+ break;
245
+ if (lifecycle.closing) {
246
+ jsonRpcError(response, 503, -32000, "Servidor MCP em encerramento.");
247
+ return;
248
+ }
249
+ sessionsForApiKey = countSessionsForApiKey(sessions, apiKey);
250
+ reservedForApiKey = reservations.byApiKey.get(apiKeyReservationKey) ?? 0;
251
+ }
252
+ if (sessions.size + reservations.total >= maxSessions) {
118
253
  jsonRpcError(response, 429, -32000, "Limite de sessões MCP atingido.");
119
254
  return;
120
255
  }
121
- const apiKeyFingerprint = fingerprint(apiKey);
122
- const apiKeyReservationKey = apiKeyFingerprint.toString("base64url");
123
- const sessionsForApiKey = [...sessions.values()].filter((candidate) => sameFingerprint(candidate.apiKeyFingerprint, apiKey)).length;
124
- const reservedForApiKey = reservations.byApiKey.get(apiKeyReservationKey) ?? 0;
125
256
  if (sessionsForApiKey + reservedForApiKey >=
126
- (options.maxSessionsPerApiKey ?? 5)) {
257
+ maxSessionsPerApiKey) {
127
258
  jsonRpcError(response, 429, -32000, "Limite de sessões MCP atingido.");
128
259
  return;
129
260
  }
@@ -216,6 +347,26 @@ function closeSession(sessions, sessionId, session) {
216
347
  session.closing = session.server.close().catch(() => { });
217
348
  return session.closing;
218
349
  }
350
+ function countSessionsForApiKey(sessions, apiKey) {
351
+ return [...sessions.values()].filter((candidate) => sameFingerprint(candidate.apiKeyFingerprint, apiKey)).length;
352
+ }
353
+ async function reclaimOldestIdleSession(sessions, apiKey) {
354
+ let oldest;
355
+ for (const candidate of sessions) {
356
+ const [, session] = candidate;
357
+ if (session.activeRequests !== 0 ||
358
+ !sameFingerprint(session.apiKeyFingerprint, apiKey)) {
359
+ continue;
360
+ }
361
+ if (!oldest || session.lastActivityAt < oldest[1].lastActivityAt) {
362
+ oldest = candidate;
363
+ }
364
+ }
365
+ if (!oldest)
366
+ return false;
367
+ await closeSession(sessions, oldest[0], oldest[1]);
368
+ return true;
369
+ }
219
370
  async function authenticatesForEvents(apiKey, options) {
220
371
  try {
221
372
  await createClient({
@@ -229,6 +380,75 @@ async function authenticatesForEvents(apiKey, options) {
229
380
  return false;
230
381
  }
231
382
  }
383
+ function writeHealthz(response) {
384
+ response.writeHead(200, { "Content-Type": "application/json; charset=utf-8" });
385
+ response.end(JSON.stringify({ ok: true }));
386
+ }
387
+ function acceptMcpHttpHeaders(request, response, headerGate) {
388
+ const hostHeader = singleHeader(request, "host");
389
+ if (!hostHeader || !hostHeaderAllowed(hostHeader, headerGate.allowedHosts)) {
390
+ jsonRpcError(response, 403, -32000, "Host não permitido.");
391
+ return false;
392
+ }
393
+ const originHeader = singleHeader(request, "origin");
394
+ if (originHeader && !headerGate.allowedOrigins.includes(originHeader)) {
395
+ jsonRpcError(response, 403, -32000, "Origin não permitida.");
396
+ return false;
397
+ }
398
+ return true;
399
+ }
400
+ function rateLimitClientKey(request, trustProxy) {
401
+ if (trustProxy) {
402
+ const cloudflareClient = singleHeader(request, "cf-connecting-ip");
403
+ if (cloudflareClient && isIP(cloudflareClient) !== 0)
404
+ return cloudflareClient;
405
+ }
406
+ return singleHeader(request, "fly-client-ip") ?? request.socket.remoteAddress ?? "unknown";
407
+ }
408
+ function acceptTrustedProxy(request, response, trustedProxyList) {
409
+ if (!trustedProxyList)
410
+ return true;
411
+ const proxyIp = singleHeader(request, "fly-client-ip");
412
+ const family = proxyIp ? isIP(proxyIp) : 0;
413
+ const accepted = family === 4
414
+ ? trustedProxyList.check(proxyIp, "ipv4")
415
+ : family === 6
416
+ ? trustedProxyList.check(proxyIp, "ipv6")
417
+ : false;
418
+ if (!accepted) {
419
+ jsonRpcError(response, 403, -32000, "Proxy de origem não permitido.");
420
+ }
421
+ return accepted;
422
+ }
423
+ function currentBucket(bucket, now) {
424
+ if (!bucket || now - bucket.startedAt >= RATE_LIMIT_WINDOW_MS) {
425
+ return { count: 0, startedAt: now };
426
+ }
427
+ return bucket;
428
+ }
429
+ function hostHeaderAllowed(hostHeader, allowedHosts) {
430
+ if (allowedHosts.includes(hostHeader))
431
+ return true;
432
+ try {
433
+ const hostname = new URL(`http://${hostHeader}`).hostname;
434
+ return (allowedHosts.includes(hostname) || allowedHosts.includes(`[${hostname}]`));
435
+ }
436
+ catch {
437
+ return false;
438
+ }
439
+ }
440
+ function sanitizeAllowlist(values) {
441
+ const result = [];
442
+ const seen = new Set();
443
+ for (const raw of values) {
444
+ const value = raw.trim();
445
+ if (!value || seen.has(value))
446
+ continue;
447
+ seen.add(value);
448
+ result.push(value);
449
+ }
450
+ return result;
451
+ }
232
452
  function bearerToken(request) {
233
453
  const header = singleHeader(request, "authorization");
234
454
  const match = header?.match(/^Bearer ([^\s,]+)$/i);
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
10
10
  import { connectPostgresEventSignal } from "./event-bus.js";
11
- import { startStreamableHttpServer } from "./http.js";
11
+ import { assertSecureHttpBind, parseCsvAllowlist, parsePositiveInteger, startStreamableHttpServer, } from "./http.js";
12
12
  import { DEFAULT_API_URL } from "./client.js";
13
13
  import { buildServer, configFromEnv } from "./server.js";
14
14
  async function main() {
@@ -29,6 +29,12 @@ async function startHttpFromEnv() {
29
29
  }
30
30
  const port = parsePort(process.env.BOTOZAP_MCP_PORT);
31
31
  const host = process.env.BOTOZAP_MCP_HOST?.trim() || "127.0.0.1";
32
+ const allowedHosts = parseCsvAllowlist(process.env.BOTOZAP_MCP_ALLOWED_HOSTS);
33
+ const allowedOrigins = parseCsvAllowlist(process.env.BOTOZAP_MCP_ALLOWED_ORIGINS);
34
+ const rateLimitPerClientPerMinute = parsePositiveInteger(process.env.BOTOZAP_MCP_RATE_LIMIT_PER_CLIENT, 120, "BOTOZAP_MCP_RATE_LIMIT_PER_CLIENT");
35
+ const rateLimitGlobalPerMinute = parsePositiveInteger(process.env.BOTOZAP_MCP_RATE_LIMIT_GLOBAL, 1_200, "BOTOZAP_MCP_RATE_LIMIT_GLOBAL");
36
+ const trustedProxyCidrs = parseCsvAllowlist(process.env.BOTOZAP_MCP_TRUSTED_PROXY_CIDRS);
37
+ assertSecureHttpBind(host, allowedHosts);
32
38
  const eventSignal = await connectPostgresEventSignal(connectionString);
33
39
  let remote;
34
40
  try {
@@ -37,6 +43,11 @@ async function startHttpFromEnv() {
37
43
  eventSignal,
38
44
  host,
39
45
  port,
46
+ allowedHosts,
47
+ allowedOrigins,
48
+ rateLimitPerClientPerMinute,
49
+ rateLimitGlobalPerMinute,
50
+ trustedProxyCidrs,
40
51
  });
41
52
  }
42
53
  catch (error) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -3205,6 +3205,7 @@ export declare const webhookSchema: z.ZodObject<{
3205
3205
  url: z.ZodString;
3206
3206
  events: z.ZodArray<z.ZodString, "many">;
3207
3207
  active: z.ZodBoolean;
3208
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3208
3209
  secret: z.ZodOptional<z.ZodString>;
3209
3210
  created_at: z.ZodString;
3210
3211
  updated_at: z.ZodString;
@@ -3213,6 +3214,7 @@ export declare const webhookSchema: z.ZodObject<{
3213
3214
  url: z.ZodString;
3214
3215
  events: z.ZodArray<z.ZodString, "many">;
3215
3216
  active: z.ZodBoolean;
3217
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3216
3218
  secret: z.ZodOptional<z.ZodString>;
3217
3219
  created_at: z.ZodString;
3218
3220
  updated_at: z.ZodString;
@@ -3221,6 +3223,7 @@ export declare const webhookSchema: z.ZodObject<{
3221
3223
  url: z.ZodString;
3222
3224
  events: z.ZodArray<z.ZodString, "many">;
3223
3225
  active: z.ZodBoolean;
3226
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3224
3227
  secret: z.ZodOptional<z.ZodString>;
3225
3228
  created_at: z.ZodString;
3226
3229
  updated_at: z.ZodString;
@@ -3231,6 +3234,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3231
3234
  url: z.ZodString;
3232
3235
  events: z.ZodArray<z.ZodString, "many">;
3233
3236
  active: z.ZodBoolean;
3237
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3234
3238
  secret: z.ZodOptional<z.ZodString>;
3235
3239
  created_at: z.ZodString;
3236
3240
  updated_at: z.ZodString;
@@ -3239,6 +3243,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3239
3243
  url: z.ZodString;
3240
3244
  events: z.ZodArray<z.ZodString, "many">;
3241
3245
  active: z.ZodBoolean;
3246
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3242
3247
  secret: z.ZodOptional<z.ZodString>;
3243
3248
  created_at: z.ZodString;
3244
3249
  updated_at: z.ZodString;
@@ -3247,6 +3252,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3247
3252
  url: z.ZodString;
3248
3253
  events: z.ZodArray<z.ZodString, "many">;
3249
3254
  active: z.ZodBoolean;
3255
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3250
3256
  secret: z.ZodOptional<z.ZodString>;
3251
3257
  created_at: z.ZodString;
3252
3258
  updated_at: z.ZodString;
@@ -3285,6 +3291,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3285
3291
  url: z.ZodString;
3286
3292
  events: z.ZodArray<z.ZodString, "many">;
3287
3293
  active: z.ZodBoolean;
3294
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3288
3295
  secret: z.ZodOptional<z.ZodString>;
3289
3296
  created_at: z.ZodString;
3290
3297
  updated_at: z.ZodString;
@@ -3293,6 +3300,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3293
3300
  url: z.ZodString;
3294
3301
  events: z.ZodArray<z.ZodString, "many">;
3295
3302
  active: z.ZodBoolean;
3303
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3296
3304
  secret: z.ZodOptional<z.ZodString>;
3297
3305
  created_at: z.ZodString;
3298
3306
  updated_at: z.ZodString;
@@ -3301,6 +3309,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3301
3309
  url: z.ZodString;
3302
3310
  events: z.ZodArray<z.ZodString, "many">;
3303
3311
  active: z.ZodBoolean;
3312
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3304
3313
  secret: z.ZodOptional<z.ZodString>;
3305
3314
  created_at: z.ZodString;
3306
3315
  updated_at: z.ZodString;
@@ -3339,6 +3348,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3339
3348
  url: z.ZodString;
3340
3349
  events: z.ZodArray<z.ZodString, "many">;
3341
3350
  active: z.ZodBoolean;
3351
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3342
3352
  secret: z.ZodOptional<z.ZodString>;
3343
3353
  created_at: z.ZodString;
3344
3354
  updated_at: z.ZodString;
@@ -3347,6 +3357,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3347
3357
  url: z.ZodString;
3348
3358
  events: z.ZodArray<z.ZodString, "many">;
3349
3359
  active: z.ZodBoolean;
3360
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3350
3361
  secret: z.ZodOptional<z.ZodString>;
3351
3362
  created_at: z.ZodString;
3352
3363
  updated_at: z.ZodString;
@@ -3355,6 +3366,7 @@ export declare const listWebhooksResultSchema: z.ZodObject<{
3355
3366
  url: z.ZodString;
3356
3367
  events: z.ZodArray<z.ZodString, "many">;
3357
3368
  active: z.ZodBoolean;
3369
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3358
3370
  secret: z.ZodOptional<z.ZodString>;
3359
3371
  created_at: z.ZodString;
3360
3372
  updated_at: z.ZodString;
@@ -3394,6 +3406,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3394
3406
  url: z.ZodString;
3395
3407
  events: z.ZodArray<z.ZodString, "many">;
3396
3408
  active: z.ZodBoolean;
3409
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3397
3410
  secret: z.ZodOptional<z.ZodString>;
3398
3411
  created_at: z.ZodString;
3399
3412
  updated_at: z.ZodString;
@@ -3402,6 +3415,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3402
3415
  url: z.ZodString;
3403
3416
  events: z.ZodArray<z.ZodString, "many">;
3404
3417
  active: z.ZodBoolean;
3418
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3405
3419
  secret: z.ZodOptional<z.ZodString>;
3406
3420
  created_at: z.ZodString;
3407
3421
  updated_at: z.ZodString;
@@ -3410,6 +3424,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3410
3424
  url: z.ZodString;
3411
3425
  events: z.ZodArray<z.ZodString, "many">;
3412
3426
  active: z.ZodBoolean;
3427
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3413
3428
  secret: z.ZodOptional<z.ZodString>;
3414
3429
  created_at: z.ZodString;
3415
3430
  updated_at: z.ZodString;
@@ -3420,6 +3435,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3420
3435
  url: z.ZodString;
3421
3436
  events: z.ZodArray<z.ZodString, "many">;
3422
3437
  active: z.ZodBoolean;
3438
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3423
3439
  secret: z.ZodOptional<z.ZodString>;
3424
3440
  created_at: z.ZodString;
3425
3441
  updated_at: z.ZodString;
@@ -3428,6 +3444,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3428
3444
  url: z.ZodString;
3429
3445
  events: z.ZodArray<z.ZodString, "many">;
3430
3446
  active: z.ZodBoolean;
3447
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3431
3448
  secret: z.ZodOptional<z.ZodString>;
3432
3449
  created_at: z.ZodString;
3433
3450
  updated_at: z.ZodString;
@@ -3436,6 +3453,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3436
3453
  url: z.ZodString;
3437
3454
  events: z.ZodArray<z.ZodString, "many">;
3438
3455
  active: z.ZodBoolean;
3456
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3439
3457
  secret: z.ZodOptional<z.ZodString>;
3440
3458
  created_at: z.ZodString;
3441
3459
  updated_at: z.ZodString;
@@ -3446,6 +3464,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3446
3464
  url: z.ZodString;
3447
3465
  events: z.ZodArray<z.ZodString, "many">;
3448
3466
  active: z.ZodBoolean;
3467
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3449
3468
  secret: z.ZodOptional<z.ZodString>;
3450
3469
  created_at: z.ZodString;
3451
3470
  updated_at: z.ZodString;
@@ -3454,6 +3473,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3454
3473
  url: z.ZodString;
3455
3474
  events: z.ZodArray<z.ZodString, "many">;
3456
3475
  active: z.ZodBoolean;
3476
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3457
3477
  secret: z.ZodOptional<z.ZodString>;
3458
3478
  created_at: z.ZodString;
3459
3479
  updated_at: z.ZodString;
@@ -3462,6 +3482,7 @@ export declare const webhookResultSchema: z.ZodObject<{
3462
3482
  url: z.ZodString;
3463
3483
  events: z.ZodArray<z.ZodString, "many">;
3464
3484
  active: z.ZodBoolean;
3485
+ has_authorization: z.ZodOptional<z.ZodBoolean>;
3465
3486
  secret: z.ZodOptional<z.ZodString>;
3466
3487
  created_at: z.ZodString;
3467
3488
  updated_at: z.ZodString;
package/dist/schemas.js CHANGED
@@ -257,6 +257,10 @@ export const webhookSchema = z
257
257
  url: z.string(),
258
258
  events: z.array(z.string()),
259
259
  active: z.boolean(),
260
+ has_authorization: z
261
+ .boolean()
262
+ .optional()
263
+ .describe("True quando o endpoint tem header Authorization configurado. O valor nunca é devolvido."),
260
264
  secret: z
261
265
  .string()
262
266
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -9,18 +9,47 @@ export function registerWebhookTools(register) {
9
9
  before: z.string().optional(),
10
10
  }, listWebhooksResultSchema, (client, args) => client.webhooks.list(args));
11
11
  register("get_webhook", "Busca um webhook pelo id (uuid interno). Retorna { data }.", { id: z.string().describe("ID do webhook (uuid interno).") }, webhookResultSchema, async (client, args) => ({ data: await client.webhooks.get(String(args.id)) }));
12
- register("create_webhook", "Cria um endpoint de webhook. `url` precisa ser https. `events` é a lista de tipos de evento assinados (ao menos um). Retorna { data }.", {
12
+ register("create_webhook", "Cria um endpoint de webhook. `url` precisa ser https. `events` é a lista de tipos de evento assinados (ao menos um). `headers.Authorization` é opcional (ex.: Bearer …) e nunca é devolvido. Retorna { data }.", {
13
13
  url: z.string().describe("URL https do endpoint."),
14
14
  events: z.array(z.string()).describe("Tipos de evento assinados."),
15
15
  active: z.boolean().optional().describe("Ativo (default true)."),
16
- }, webhookResultSchema, async (client, args) => ({
17
- data: await client.webhooks.create(args),
18
- }));
19
- register("update_webhook", "Atualiza um webhook (url, events, active). Retorna { data }.", {
16
+ headers: z
17
+ .object({
18
+ Authorization: z
19
+ .string()
20
+ .min(1)
21
+ .max(1024)
22
+ .describe("Valor completo do header Authorization (ex.: Bearer <secret>). Persistido no Vault; nunca devolvido."),
23
+ })
24
+ .strict()
25
+ .optional()
26
+ .describe("Somente Authorization é aceito."),
27
+ }, webhookResultSchema, async (client, args) => {
28
+ const params = {
29
+ url: String(args.url),
30
+ events: args.events,
31
+ active: typeof args.active === "boolean" ? args.active : undefined,
32
+ headers: args.headers,
33
+ };
34
+ return { data: await client.webhooks.create(params) };
35
+ });
36
+ register("update_webhook", "Atualiza um webhook (url, events, active, headers.Authorization). Authorization null remove o header. O valor nunca é devolvido. Retorna { data }.", {
20
37
  id: z.string().describe("ID do webhook (uuid interno)."),
21
38
  url: z.string().optional(),
22
39
  events: z.array(z.string()).optional(),
23
40
  active: z.boolean().optional(),
41
+ headers: z
42
+ .object({
43
+ Authorization: z
44
+ .string()
45
+ .min(1)
46
+ .max(1024)
47
+ .nullable()
48
+ .describe("String para criar/substituir; null para remover. O valor nunca é devolvido."),
49
+ })
50
+ .strict()
51
+ .optional()
52
+ .describe("Somente Authorization é aceito. Omitir não altera o header."),
24
53
  }, webhookResultSchema, async (client, args) => {
25
54
  const { id, ...body } = args;
26
55
  return { data: await client.webhooks.update(String(id), body) };
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botozap/mcp",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Servidor MCP (Model Context Protocol) para a API pública do BotoZap — expõe as operações da plataforma WhatsApp Cloud API como ferramentas MCP para Claude Code, Cursor e Codex.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -27,25 +27,26 @@
27
27
  "publishConfig": {
28
28
  "access": "public"
29
29
  },
30
+ "scripts": {
31
+ "build": "tsc -p tsconfig.json",
32
+ "dev": "tsc -p tsconfig.json --watch",
33
+ "typecheck": "tsc -p tsconfig.json --noEmit",
34
+ "test": "vitest run",
35
+ "start": "node dist/index.js",
36
+ "smoke": "node scripts/smoke.ts",
37
+ "smoke:sandbox": "node scripts/smoke-sandbox.ts",
38
+ "prepublishOnly": "pnpm run build"
39
+ },
30
40
  "dependencies": {
41
+ "@botozap/sdk": "workspace:*",
31
42
  "@modelcontextprotocol/sdk": "^1.29.0",
32
43
  "pg": "^8.23.0",
33
- "zod": "^3.25.76",
34
- "@botozap/sdk": "0.3.1"
44
+ "zod": "^3.25.76"
35
45
  },
36
46
  "devDependencies": {
37
47
  "@types/node": "^20.19.0",
38
48
  "@types/pg": "^8.23.1",
39
49
  "typescript": "^5.6.0",
40
50
  "vitest": "^3.0.0"
41
- },
42
- "scripts": {
43
- "build": "tsc -p tsconfig.json",
44
- "dev": "tsc -p tsconfig.json --watch",
45
- "typecheck": "tsc -p tsconfig.json --noEmit",
46
- "test": "vitest run",
47
- "start": "node dist/index.js",
48
- "smoke": "node scripts/smoke.ts",
49
- "smoke:sandbox": "node scripts/smoke-sandbox.ts"
50
51
  }
51
- }
52
+ }