@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 +25 -6
- package/dist/http.d.ts +26 -0
- package/dist/http.js +229 -9
- package/dist/http.js.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +21 -0
- package/dist/schemas.js +4 -0
- package/dist/schemas.js.map +1 -1
- package/dist/tools/webhooks.js +34 -5
- package/dist/tools/webhooks.js.map +1 -1
- package/package.json +14 -13
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,
|
|
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()
|
package/dist/schemas.js.map
CHANGED
|
@@ -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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"}
|
package/dist/tools/webhooks.js
CHANGED
|
@@ -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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,oBAAoB,EAAiB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,QAAQ,CACN,eAAe,EACf,kFAAkF,EAClF;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,EACD,wBAAwB,EACxB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAoB,CAAC,CAC7D,CAAC;IAEF,QAAQ,CACN,aAAa,EACb,4DAA4D,EAC5D,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,EAC5D,mBAAmB,EACnB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAC/E,CAAC;IAEF,QAAQ,CACN,gBAAgB,EAChB,
|
|
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.
|
|
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
|
+
}
|