offnadir-delta-mcp 1.3.11 → 1.3.13
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 +1 -1
- package/dist/catalog.js +3 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ It exposes the same tool surface as the hosted server and **forwards every call*
|
|
|
19
19
|
| `get_world_brief` | **free** | The AI-synthesized Daily World Brief. |
|
|
20
20
|
| `get_usage` | **free** | Your remaining token balance and plan capabilities. |
|
|
21
21
|
| `assess_signal` | 5 / 15 | AI remote-sensing assessment for one signal (quick / deep). |
|
|
22
|
-
| `ask_analyst` | 5–
|
|
22
|
+
| `ask_analyst` | 5–123 | Agentic OSINT/GEOINT Q&A returning a structured, cited brief. |
|
|
23
23
|
|
|
24
24
|
Plus resources (`brief://latest`, `brief://{date}`, `signals://schema`, `usage://current`, `imagery://collections`) and prompts (`daily-situation-briefing`, `assess-top-signal`, `aoi-watch`, `market-exposure-check`).
|
|
25
25
|
|
package/dist/catalog.js
CHANGED
|
@@ -81,7 +81,8 @@ export const TOOLS = [
|
|
|
81
81
|
observabilityStatus: { type: 'string', enum: ['observable', 'not_observable', 'insufficient_detail'], description: '3-state observability filter. Unlike `observability` (binary), this exposes `insufficient_detail` — signals where imageability is unknown (no RS enrichment yet, unresolved location, or an Impossible verdict rescued because the event reads kinetic). `not_observable` = a considered "nothing to image"; neither bucket leaks insufficient_detail.' },
|
|
82
82
|
openData: { type: 'string', enum: ['sufficient', 'commercial-recommended', 'not-applicable'], description: 'Keep only signals with this open-data sufficiency — free imagery is enough vs commercial tasking recommended (intelligence.open_data_sufficiency).' },
|
|
83
83
|
minInformationGain: { type: 'number', minimum: 0, maximum: 1, description: 'Keep only signals whose intelligence.expected_information_gain >= this (0-1).' },
|
|
84
|
-
taskableOnly: { type: 'boolean', description: 'Keep only signals whose coordinate is search_ready
|
|
84
|
+
taskableOnly: { type: 'boolean', description: 'Keep only signals whose coordinate is search_ready — GEO-READY ONLY: drops country centroids, ADM1 mismatches, reporting-dateline fallbacks and unresolved fixes (intelligence.geo_validation.search_ready). It does NOT imply observable or quality-passed, so not-observable / insufficient-detail / quality-failed signals can still appear. For automated imagery tasking use collectionReadyOnly (or combine with observability:"observable").' },
|
|
85
|
+
collectionReadyOnly: { type: 'boolean', description: 'STRICT tasking-candidate filter: search_ready AND observability=observable AND quality.status!=failed AND a concrete collection plan (rs_target + rs_reason present) AND an event coordinate. The safe input set for automated imagery tasking — a superset of every gate taskableOnly alone does not check.' },
|
|
85
86
|
responseFormat: { type: 'string', enum: ['concise', 'detailed'], description: 'Per-signal field detail. "concise" (default) returns key decision + GEOINT fields (incl. collection_priority, the corrected 0-100 ranking value); "detailed" returns the full Signal object.' },
|
|
86
87
|
},
|
|
87
88
|
},
|
|
@@ -206,7 +207,7 @@ export const TOOLS = [
|
|
|
206
207
|
annotations: { readOnlyHint: true },
|
|
207
208
|
description: 'Ask the Delta Analyst an OSINT/GEOINT question. Runs an agentic multi-step analysis over the ' +
|
|
208
209
|
'signal corpus and returns a structured brief (summary, findings with collection recommendations, ' +
|
|
209
|
-
'assessment, citations). Costs 5–
|
|
210
|
+
'assessment, citations). Costs 5–123 tokens (usage-based, metered by the compute the question actually ' +
|
|
210
211
|
'uses; charged ONCE, when the run completes; the exact charge and remaining balance are in meta.tokens). ' +
|
|
211
212
|
'Durable async: the run is ENQUEUED and returns {status:"processing", job_id} immediately, then completes ' +
|
|
212
213
|
'in a background worker — so it is never lost to a client timeout. Timing: most questions finish in ~30–90s; ' +
|
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.3.
|
|
24
|
+
const VERSION = '1.3.13';
|
|
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.
|
|
3
|
+
"version": "1.3.13",
|
|
4
4
|
"description": "Local (stdio) MCP server for Off-Nadir Delta — 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": {
|