senado-br-mcp 3.15.2 → 3.15.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/LICENSE +1 -1
- package/README.md +16 -1
- package/dist/landing.js +1 -1
- package/dist/legal.js +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -12
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -149,7 +149,7 @@ Claude Code auto-discovers it when you work in this repo. To use it elsewhere, c
|
|
|
149
149
|
- **Runtime:** Cloudflare Workers (ESM)
|
|
150
150
|
- **Transport:** Streamable HTTP (MCP spec 2025-03-26) via `createMcpHandler` from `agents/mcp`
|
|
151
151
|
- **Protocol:** MCP over JSON-RPC — `/mcp` handles the full public server; `/mcp/openai-app-v2` exposes a curated 27-tool profile plus a shared MCP Apps widget for OpenAI app review/submission (`/mcp/openai-app` remains as a legacy alias)
|
|
152
|
-
- **SDK:** `@modelcontextprotocol/server` 2.x (per-request McpServer instances; the v1 `@modelcontextprotocol/sdk`
|
|
152
|
+
- **SDK:** `@modelcontextprotocol/server` 2.x (per-request McpServer instances; the v1 `@modelcontextprotocol/sdk` is not installed — `agents` still lists it as a peer, satisfied via `legacy-peer-deps`)
|
|
153
153
|
- **Validation:** Zod schemas for all tool inputs
|
|
154
154
|
- **Caching:** 2-layer (L0 memory + L1 Cache API) with SHA-256 keying
|
|
155
155
|
- **e-Cidadania store:** D1 database refreshed by a Cron Trigger (every 2h) — list tools read from D1 with a live-scrape fallback and a staleness flag; detail tools stay live with write-through (see [e-Cidadania](#e-cidadania-d1-backed-cron-refreshed))
|
|
@@ -270,6 +270,21 @@ npm run deploy
|
|
|
270
270
|
| `/metrics` | GET | JSON counters: requests, tool calls, cache hits/misses, upstream calls/retries/errors, auth failures (always public) |
|
|
271
271
|
| `/.well-known/mcp/server-card.json` | GET | MCP server card for directory scanners (Smithery): `serverInfo`, `authentication`, tools/resources/prompts — generated from the live `full` profile by `@sbissoli/mcp-surface/card` (always public) |
|
|
272
272
|
|
|
273
|
+
### Surface fingerprint, checkable from the registry
|
|
274
|
+
|
|
275
|
+
Every release publishes, in its [MCP Registry](https://registry.modelcontextprotocol.io) entry,
|
|
276
|
+
the sha256 of the surface `/mcp` serves (`initialize`, tools, resources, prompts of the `full`
|
|
277
|
+
profile) and which methods answer there without a credential. A surface change without a
|
|
278
|
+
version bump fails the build; the fingerprint in the registry lets a client check the same thing
|
|
279
|
+
on its own side. Canonical form and procedure:
|
|
280
|
+
[SPEC.md of `@sbissoli/mcp-surface`](https://github.com/SidneyBissoli/mcp-br-commons/blob/main/packages/mcp-surface/SPEC.md).
|
|
281
|
+
To check it yourself (Node 18+, no dependencies):
|
|
282
|
+
|
|
283
|
+
```sh
|
|
284
|
+
curl -sO https://raw.githubusercontent.com/SidneyBissoli/mcp-br-commons/main/packages/mcp-surface/exemplos/verify.mjs
|
|
285
|
+
node verify.mjs io.github.SidneyBissoli/senado-br-mcp-cloudflare
|
|
286
|
+
```
|
|
287
|
+
|
|
273
288
|
## MCP Request Examples
|
|
274
289
|
|
|
275
290
|
All requests go to `POST /mcp` with JSON-RPC 2.0 format.
|
package/dist/landing.js
CHANGED
|
@@ -35,7 +35,7 @@ function seoHead() {
|
|
|
35
35
|
inLanguage: "pt-BR",
|
|
36
36
|
offers: { "@type": "Offer", price: "0", priceCurrency: "USD" },
|
|
37
37
|
license: "https://opensource.org/licenses/MIT",
|
|
38
|
-
author: { "@type": "Person", name: "Sidney Bissoli" },
|
|
38
|
+
author: { "@type": "Person", name: "Sidney da Silva Pereira Bissoli" },
|
|
39
39
|
codeRepository: GITHUB_URL,
|
|
40
40
|
};
|
|
41
41
|
return ` <meta name="description" content="${RESUMO}">
|
package/dist/legal.js
CHANGED
|
@@ -71,7 +71,7 @@ const privacyBody = `
|
|
|
71
71
|
<p>The service queries official public Senate endpoints and runs on Cloudflare infrastructure. It does not sell personal information. It may disclose operational information when required by law or to protect the service from abuse.</p>
|
|
72
72
|
|
|
73
73
|
<h2>Your choices and contact</h2>
|
|
74
|
-
<p>Do not send sensitive personal information to the service. The service operator and contact for privacy requests is Sidney Bissoli, reachable at <a href="mailto:${CONTACT_EMAIL}">${CONTACT_EMAIL}</a>. You may ask about privacy or request deletion of operational data that may be associated with you. Because the service primarily handles public data and aggregate logs, some records may not be individually identifiable.</p>
|
|
74
|
+
<p>Do not send sensitive personal information to the service. The service operator and contact for privacy requests is Sidney da Silva Pereira Bissoli, reachable at <a href="mailto:${CONTACT_EMAIL}">${CONTACT_EMAIL}</a>. You may ask about privacy or request deletion of operational data that may be associated with you. Because the service primarily handles public data and aggregate logs, some records may not be individually identifiable.</p>
|
|
75
75
|
|
|
76
76
|
<h2>Changes</h2>
|
|
77
77
|
<p>This policy may be updated as the service evolves. The date above identifies the current version.</p>
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "senado-br-mcp",
|
|
3
|
-
"version": "3.15.
|
|
3
|
+
"version": "3.15.3",
|
|
4
4
|
"description": "MCP server for Brazilian Senate open data — runs hosted on Cloudflare Workers or locally via npx (stdio)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"version": "node scripts/sync-version.mjs && git add -u",
|
|
27
27
|
"typecheck": "tsc --noEmit && tsc -p scripts/tsconfig.json",
|
|
28
28
|
"test": "vitest run",
|
|
29
|
-
"surface:lock": "mcp-surface travar --cmd \"vitest run tests/surface-lock.test.ts\"",
|
|
29
|
+
"surface:lock": "mcp-surface travar --cmd \"vitest run tests/surface-lock.test.ts\" && mcp-surface registro --perfil full --tool senado_estrutura_organizacional --args \"{\\\"unidade\\\":\\\"DGER\\\"}\"",
|
|
30
30
|
"test:watch": "vitest",
|
|
31
31
|
"test:contract": "vitest run -c vitest.contract.config.ts",
|
|
32
32
|
"contract:refresh": "tsx scripts/contract/refresh-fixtures.ts",
|
|
@@ -60,9 +60,8 @@
|
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@cloudflare/workers-types": "^5.20260830.1",
|
|
62
62
|
"@modelcontextprotocol/client": "^2.0.0",
|
|
63
|
-
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
64
63
|
"@sbissoli/mcp-evals": "^0.2.1",
|
|
65
|
-
"@sbissoli/mcp-surface": "^0.
|
|
64
|
+
"@sbissoli/mcp-surface": "^0.5.0",
|
|
66
65
|
"@types/node": "^26.5.1",
|
|
67
66
|
"agents": "^0.26.0",
|
|
68
67
|
"exceljs": "^4.4.0",
|
|
@@ -73,15 +72,7 @@
|
|
|
73
72
|
"wrangler": "^4.127.1"
|
|
74
73
|
},
|
|
75
74
|
"overrides": {
|
|
76
|
-
"fast-uri": "^4.1.5",
|
|
77
|
-
"hono": "^4.12.27",
|
|
78
|
-
"@hono/node-server": "^1.19.13",
|
|
79
|
-
"express-rate-limit": "^8.5.2",
|
|
80
|
-
"ip-address": "^10.2.0",
|
|
81
|
-
"qs": "^6.16.0",
|
|
82
75
|
"path-to-regexp": "^8.4.2",
|
|
83
|
-
"lodash": "^4.18.1",
|
|
84
|
-
"js-yaml": "^4.2.0",
|
|
85
76
|
"undici": "^7.28.0",
|
|
86
77
|
"ws": "^8.21.0",
|
|
87
78
|
"picomatch": "^4.0.4",
|