offnadir-delta-mcp 1.35.0 → 1.37.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.
- package/README.md +3 -3
- package/dist/catalog.js +59 -27
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ satellite can actually resolve it, and produce a collection-ready plan.
|
|
|
16
16
|
Real-time event and geospatial intelligence for OSINT, geopolitical risk, and GEOINT work —
|
|
17
17
|
source-linked, geolocated, and current, not a training snapshot.
|
|
18
18
|
|
|
19
|
-
`40` tools · MCP server version `1.
|
|
19
|
+
`40` tools · MCP server version `1.37.0` · [full reference](https://offnadir-delta.com/docs/mcp)
|
|
20
20
|
|
|
21
21
|
## What it does
|
|
22
22
|
|
|
@@ -98,12 +98,12 @@ What is happening, where it concentrates, and what today looks like.
|
|
|
98
98
|
| `query_signals` | Geolocated world events from global news media, AI-enriched with severity/GEOINT scores and collection recommendations. | 3 tok |
|
|
99
99
|
| `query_stats` | Roll-ups over the corpus: totals plus per-category and per-day breakdown. | 1 tok |
|
|
100
100
|
| `query_hotspots` | Where activity concentrates: density grid-binned into ranked cells with peak severity, categories and representative event_ids. | 1 tok |
|
|
101
|
-
| `get_world_brief` |
|
|
101
|
+
| `get_world_brief` | AI world brief: daily (prior UTC day, all plans) or weekly/monthly by plan. | free |
|
|
102
102
|
| `query_developments` | What actually CHANGED about the events in an area, not which articles are new. | 3 tok |
|
|
103
103
|
| `get_event_thread` | One event end to end: state plus every change in order — the "new event or update" distinction a feed cannot make. | free |
|
|
104
104
|
| `search_entities` | Find a place in the location registry — ports, bases, airfields, power plants, chokepoints, named seas. | 1 tok |
|
|
105
105
|
| `get_entity` | What has happened at one place: the registry record plus its most recent linked events, each with HOW it was linked. | 1 tok |
|
|
106
|
-
| `get_related_events` | The relations recorded for one event: others at the same registry facility, naming the same place, or stored as the same campaign, each saying what is shared; plus reports merged into it. |
|
|
106
|
+
| `get_related_events` | The relations recorded for one event: others at the same registry facility, naming the same place, or stored as the same campaign, each saying what is shared; plus reports merged into it. | 1 tok |
|
|
107
107
|
|
|
108
108
|
### Plan
|
|
109
109
|
|
package/dist/catalog.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Actual `tools/call` / `resources/read` / `prompts/get` requests are forwarded
|
|
14
14
|
* to the remote server with the caller's OFFNADIR_DELTA_API_KEY (see index.ts).
|
|
15
15
|
*/
|
|
16
|
-
// Generated for Off-Nadir Delta MCP 1.
|
|
16
|
+
// Generated for Off-Nadir Delta MCP 1.37.0.
|
|
17
17
|
export const TOOLS = [
|
|
18
18
|
{
|
|
19
19
|
"name": "query_signals",
|
|
@@ -32,7 +32,7 @@ export const TOOLS = [
|
|
|
32
32
|
},
|
|
33
33
|
"date": {
|
|
34
34
|
"type": "string",
|
|
35
|
-
"description": "Window end date, YYYY-MM-DD (UTC). Default today. Records start 2026-09-23
|
|
35
|
+
"description": "Window end date, YYYY-MM-DD (UTC). Default today. Records start 2026-09-23 (earlier: unrecorded, not quiet). Plan-bounded: meta.window_clamp."
|
|
36
36
|
},
|
|
37
37
|
"days": {
|
|
38
38
|
"type": "integer",
|
|
@@ -75,7 +75,7 @@ export const TOOLS = [
|
|
|
75
75
|
"equities"
|
|
76
76
|
]
|
|
77
77
|
},
|
|
78
|
-
"description": "Markets
|
|
78
|
+
"description": "Markets exposed via a physical/supply channel."
|
|
79
79
|
},
|
|
80
80
|
"limit": {
|
|
81
81
|
"type": "integer",
|
|
@@ -93,6 +93,12 @@ export const TOOLS = [
|
|
|
93
93
|
"maximum": 10,
|
|
94
94
|
"description": "severity_score >= this (0-10)."
|
|
95
95
|
},
|
|
96
|
+
"minSeverityBand": {
|
|
97
|
+
"type": "integer",
|
|
98
|
+
"minimum": 1,
|
|
99
|
+
"maximum": 10,
|
|
100
|
+
"description": "severity_band >= this."
|
|
101
|
+
},
|
|
96
102
|
"escalating": {
|
|
97
103
|
"type": "boolean",
|
|
98
104
|
"description": "escalation_trend is \"escalating\"."
|
|
@@ -105,15 +111,15 @@ export const TOOLS = [
|
|
|
105
111
|
"sources",
|
|
106
112
|
"geoint"
|
|
107
113
|
],
|
|
108
|
-
"description": "Default \"severity\". \"geoint\"
|
|
114
|
+
"description": "Default \"severity\". \"geoint\": visible first, then geoint_score, stage."
|
|
109
115
|
},
|
|
110
116
|
"updatedSince": {
|
|
111
117
|
"type": "string",
|
|
112
|
-
"description": "
|
|
118
|
+
"description": "Refolded at/after (ISO); narrows the window."
|
|
113
119
|
},
|
|
114
120
|
"createdSince": {
|
|
115
121
|
"type": "string",
|
|
116
|
-
"description": "
|
|
122
|
+
"description": "FIRST seen at/after (ISO)."
|
|
117
123
|
},
|
|
118
124
|
"stages": {
|
|
119
125
|
"type": "array",
|
|
@@ -125,7 +131,7 @@ export const TOOLS = [
|
|
|
125
131
|
"pinpointed"
|
|
126
132
|
]
|
|
127
133
|
},
|
|
128
|
-
"description": "
|
|
134
|
+
"description": "reported=country/province, localized=town, pinpointed=block/facility."
|
|
129
135
|
},
|
|
130
136
|
"sensors": {
|
|
131
137
|
"type": "array",
|
|
@@ -141,21 +147,38 @@ export const TOOLS = [
|
|
|
141
147
|
"none"
|
|
142
148
|
]
|
|
143
149
|
},
|
|
144
|
-
"description": "
|
|
150
|
+
"description": "Recommended sensor is one of these."
|
|
145
151
|
},
|
|
146
152
|
"minGeoint": {
|
|
147
153
|
"type": "number",
|
|
148
154
|
"minimum": 0,
|
|
149
155
|
"maximum": 10,
|
|
150
|
-
"description": "geoint_score >= this (0-10)
|
|
156
|
+
"description": "geoint_score >= this (0-10)."
|
|
151
157
|
},
|
|
152
158
|
"plottableOnly": {
|
|
153
159
|
"type": "boolean",
|
|
154
|
-
"description": "
|
|
160
|
+
"description": "Precise enough to be a point."
|
|
155
161
|
},
|
|
156
162
|
"observableOnly": {
|
|
157
163
|
"type": "boolean",
|
|
158
|
-
"description": "A satellite could see it
|
|
164
|
+
"description": "A satellite could see it."
|
|
165
|
+
},
|
|
166
|
+
"q": {
|
|
167
|
+
"type": "string",
|
|
168
|
+
"description": "Text search: all words; \"phrase\"; -exclude."
|
|
169
|
+
},
|
|
170
|
+
"reportedSince": {
|
|
171
|
+
"type": "string",
|
|
172
|
+
"description": "Last reported at/after (ISO)."
|
|
173
|
+
},
|
|
174
|
+
"minPublishers": {
|
|
175
|
+
"type": "integer",
|
|
176
|
+
"minimum": 1,
|
|
177
|
+
"description": "At least this many publishers."
|
|
178
|
+
},
|
|
179
|
+
"unplottableOnly": {
|
|
180
|
+
"type": "boolean",
|
|
181
|
+
"description": "Only events that cannot be a point."
|
|
159
182
|
},
|
|
160
183
|
"responseFormat": {
|
|
161
184
|
"type": "string",
|
|
@@ -163,7 +186,7 @@ export const TOOLS = [
|
|
|
163
186
|
"concise",
|
|
164
187
|
"detailed"
|
|
165
188
|
],
|
|
166
|
-
"description": "\"detailed\"
|
|
189
|
+
"description": "\"detailed\": full Signal (signals://schema)."
|
|
167
190
|
}
|
|
168
191
|
}
|
|
169
192
|
},
|
|
@@ -213,7 +236,7 @@ export const TOOLS = [
|
|
|
213
236
|
},
|
|
214
237
|
"date": {
|
|
215
238
|
"type": "string",
|
|
216
|
-
"description": "Window end date, YYYY-MM-DD (UTC). Defaults to today. Records start 2026-09-23
|
|
239
|
+
"description": "Window end date, YYYY-MM-DD (UTC). Defaults to today. Records start 2026-09-23 (earlier: unrecorded, not quiet). Plan-bounded: meta.window_clamp."
|
|
217
240
|
},
|
|
218
241
|
"days": {
|
|
219
242
|
"type": "integer",
|
|
@@ -285,7 +308,7 @@ export const TOOLS = [
|
|
|
285
308
|
},
|
|
286
309
|
"date": {
|
|
287
310
|
"type": "string",
|
|
288
|
-
"description": "Window end date, YYYY-MM-DD (UTC). Defaults to today. Records start 2026-09-23
|
|
311
|
+
"description": "Window end date, YYYY-MM-DD (UTC). Defaults to today. Records start 2026-09-23 (earlier: unrecorded, not quiet). Plan-bounded: meta.window_clamp."
|
|
289
312
|
},
|
|
290
313
|
"days": {
|
|
291
314
|
"type": "integer",
|
|
@@ -328,7 +351,7 @@ export const TOOLS = [
|
|
|
328
351
|
"type": "integer",
|
|
329
352
|
"minimum": 1,
|
|
330
353
|
"maximum": 500,
|
|
331
|
-
"description": "Max CELLS
|
|
354
|
+
"description": "Max CELLS, highest first; the whole window is aggregated either way (meta.total_cell_count). Default/max 500."
|
|
332
355
|
}
|
|
333
356
|
}
|
|
334
357
|
},
|
|
@@ -363,13 +386,21 @@ export const TOOLS = [
|
|
|
363
386
|
},
|
|
364
387
|
{
|
|
365
388
|
"name": "get_world_brief",
|
|
366
|
-
"description": "
|
|
389
|
+
"description": "AI world brief: daily (prior UTC day, all plans) or weekly/monthly by plan. freshness.is_stale: no newer day, so relay as stale.",
|
|
367
390
|
"inputSchema": {
|
|
368
391
|
"type": "object",
|
|
369
392
|
"properties": {
|
|
393
|
+
"period": {
|
|
394
|
+
"type": "string",
|
|
395
|
+
"enum": [
|
|
396
|
+
"daily",
|
|
397
|
+
"weekly",
|
|
398
|
+
"monthly"
|
|
399
|
+
]
|
|
400
|
+
},
|
|
370
401
|
"date": {
|
|
371
402
|
"type": "string",
|
|
372
|
-
"description": "YYYY-MM-DD
|
|
403
|
+
"description": "YYYY-MM-DD UTC; weekly/monthly: last day. Default latest"
|
|
373
404
|
}
|
|
374
405
|
}
|
|
375
406
|
},
|
|
@@ -487,7 +518,7 @@ export const TOOLS = [
|
|
|
487
518
|
},
|
|
488
519
|
"eventDate": {
|
|
489
520
|
"type": "string",
|
|
490
|
-
"description": "Widens
|
|
521
|
+
"description": "Widens to the canonical pre/post span with bracketing; sentinel-1-grd adds sar_pair_status."
|
|
491
522
|
},
|
|
492
523
|
"eventPoint": {
|
|
493
524
|
"type": "array",
|
|
@@ -521,7 +552,7 @@ export const TOOLS = [
|
|
|
521
552
|
"type": "integer",
|
|
522
553
|
"minimum": 1,
|
|
523
554
|
"maximum": 100,
|
|
524
|
-
"description": "Max scenes
|
|
555
|
+
"description": "Max scenes. Default 25."
|
|
525
556
|
},
|
|
526
557
|
"responseFormat": {
|
|
527
558
|
"type": "string",
|
|
@@ -529,7 +560,7 @@ export const TOOLS = [
|
|
|
529
560
|
"concise",
|
|
530
561
|
"detailed"
|
|
531
562
|
],
|
|
532
|
-
"description": "\"detailed\" adds footprint geometry, full target_relation
|
|
563
|
+
"description": "\"detailed\" adds footprint geometry, full target_relation and SAR metadata."
|
|
533
564
|
}
|
|
534
565
|
},
|
|
535
566
|
"required": [
|
|
@@ -637,7 +668,7 @@ export const TOOLS = [
|
|
|
637
668
|
},
|
|
638
669
|
"start_date": {
|
|
639
670
|
"type": "string",
|
|
640
|
-
"description": "YYYY-MM-DD, inclusive. Default today; no plan history floor here. Records start 2026-09-23
|
|
671
|
+
"description": "YYYY-MM-DD, inclusive. Default today; no plan history floor here. Records start 2026-09-23 (earlier: unrecorded, not quiet). Plan-bounded: meta.window_clamp."
|
|
641
672
|
},
|
|
642
673
|
"end_date": {
|
|
643
674
|
"type": "string",
|
|
@@ -714,7 +745,7 @@ export const TOOLS = [
|
|
|
714
745
|
},
|
|
715
746
|
"start_date": {
|
|
716
747
|
"type": "string",
|
|
717
|
-
"description": "YYYY-MM-DD, inclusive. Default today; no plan history floor here. Records start 2026-09-23
|
|
748
|
+
"description": "YYYY-MM-DD, inclusive. Default today; no plan history floor here. Records start 2026-09-23 (earlier: unrecorded, not quiet). Plan-bounded: meta.window_clamp."
|
|
718
749
|
},
|
|
719
750
|
"end_date": {
|
|
720
751
|
"type": "string",
|
|
@@ -1461,7 +1492,7 @@ export const TOOLS = [
|
|
|
1461
1492
|
},
|
|
1462
1493
|
{
|
|
1463
1494
|
"name": "query_developments",
|
|
1464
|
-
"description": "What actually CHANGED about the events in an area, not which articles are new. Each change is labelled `world` (the event's own state moved) or `measurement` (what we can see moved).",
|
|
1495
|
+
"description": "What actually CHANGED about the events in an area, not which articles are new. Each change is labelled `world` (the event's own state moved) or `measurement` (what we can see moved). Plan-dependent values say so (`locked_by`).",
|
|
1465
1496
|
"inputSchema": {
|
|
1466
1497
|
"type": "object",
|
|
1467
1498
|
"properties": {
|
|
@@ -1476,7 +1507,7 @@ export const TOOLS = [
|
|
|
1476
1507
|
},
|
|
1477
1508
|
"date": {
|
|
1478
1509
|
"type": "string",
|
|
1479
|
-
"description": "End of the window (YYYY-MM-DD). Defaults to today. Records start 2026-09-23
|
|
1510
|
+
"description": "End of the window (YYYY-MM-DD). Defaults to today. Records start 2026-09-23 (earlier: unrecorded, not quiet). Plan-bounded: meta.window_clamp."
|
|
1480
1511
|
},
|
|
1481
1512
|
"days": {
|
|
1482
1513
|
"type": "number",
|
|
@@ -1513,6 +1544,7 @@ export const TOOLS = [
|
|
|
1513
1544
|
"quality_status",
|
|
1514
1545
|
"severity_score",
|
|
1515
1546
|
"stage",
|
|
1547
|
+
"target_effect",
|
|
1516
1548
|
"target_status",
|
|
1517
1549
|
"targets_named"
|
|
1518
1550
|
]
|
|
@@ -1531,7 +1563,7 @@ export const TOOLS = [
|
|
|
1531
1563
|
"type": "number",
|
|
1532
1564
|
"minimum": 1,
|
|
1533
1565
|
"maximum": 200,
|
|
1534
|
-
"description": "
|
|
1566
|
+
"description": "Developments to return (default 50)."
|
|
1535
1567
|
},
|
|
1536
1568
|
"offset": {
|
|
1537
1569
|
"type": "number",
|
|
@@ -1571,7 +1603,7 @@ export const TOOLS = [
|
|
|
1571
1603
|
},
|
|
1572
1604
|
{
|
|
1573
1605
|
"name": "get_event_thread",
|
|
1574
|
-
"description": "One event end to end: state plus every change in order — the \"new event or update\" distinction a feed cannot make. `occurred_at_basis` distinguishes stated, absent and never measured.",
|
|
1606
|
+
"description": "One event end to end: state plus every change in order — the \"new event or update\" distinction a feed cannot make. `occurred_at_basis` distinguishes stated, absent and never measured. Plan-dependent: see `locked_by`, `plan_lock`.",
|
|
1575
1607
|
"inputSchema": {
|
|
1576
1608
|
"type": "object",
|
|
1577
1609
|
"properties": {
|
|
@@ -2636,7 +2668,7 @@ export const TOOLS = [
|
|
|
2636
2668
|
},
|
|
2637
2669
|
{
|
|
2638
2670
|
"name": "get_related_events",
|
|
2639
|
-
"description": "The relations recorded for one event: others at the same registry facility, naming the same place, or stored as the same campaign, each saying what is shared; plus reports merged into it. Merely-nearby events are not relations and are not returned.",
|
|
2671
|
+
"description": "The relations recorded for one event: others at the same registry facility, naming the same place, or stored as the same campaign, each saying what is shared; plus reports merged into it. Merely-nearby events are not relations and are not returned. Plan-dependent: see `plan_lock`.",
|
|
2640
2672
|
"inputSchema": {
|
|
2641
2673
|
"type": "object",
|
|
2642
2674
|
"properties": {
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
|
21
21
|
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
22
22
|
import { CallToolRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
23
23
|
import { PROMPTS, RESOURCES, RESOURCE_TEMPLATES, TOOLS } from './catalog.js';
|
|
24
|
-
const VERSION = '1.
|
|
24
|
+
const VERSION = '1.37.0';
|
|
25
25
|
const REMOTE_URL = new URL(process.env.OFFNADIR_DELTA_MCP_URL ?? 'https://offnadir-delta.com/api/v1/mcp');
|
|
26
26
|
/** Lazily-connected client to the hosted remote MCP server. */
|
|
27
27
|
let remote = null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "offnadir-delta-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.37.0",
|
|
4
4
|
"description": "Local (stdio) MCP server for Off-Nadir Delta \u2014 live, geolocated world-event intelligence, a Daily World Brief, satellite-imagery search, and an OSINT/GEOINT analyst. Forwards to the hosted server with your API key.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|