@cyanheads/gdelt-mcp-server 0.2.3 → 0.2.5

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.
Files changed (34) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +13 -8
  3. package/changelog/0.2.x/0.2.4.md +14 -0
  4. package/changelog/0.2.x/0.2.5.md +21 -0
  5. package/dist/mcp-server/tools/date-range.d.ts +55 -3
  6. package/dist/mcp-server/tools/date-range.d.ts.map +1 -1
  7. package/dist/mcp-server/tools/date-range.js +107 -3
  8. package/dist/mcp-server/tools/date-range.js.map +1 -1
  9. package/dist/mcp-server/tools/definitions/get-coverage-breakdown.tool.d.ts +14 -0
  10. package/dist/mcp-server/tools/definitions/get-coverage-breakdown.tool.d.ts.map +1 -1
  11. package/dist/mcp-server/tools/definitions/get-coverage-breakdown.tool.js +125 -25
  12. package/dist/mcp-server/tools/definitions/get-coverage-breakdown.tool.js.map +1 -1
  13. package/dist/mcp-server/tools/definitions/get-coverage-timeline.tool.d.ts +7 -0
  14. package/dist/mcp-server/tools/definitions/get-coverage-timeline.tool.d.ts.map +1 -1
  15. package/dist/mcp-server/tools/definitions/get-coverage-timeline.tool.js +77 -12
  16. package/dist/mcp-server/tools/definitions/get-coverage-timeline.tool.js.map +1 -1
  17. package/dist/mcp-server/tools/definitions/get-tone-distribution.tool.js +1 -1
  18. package/dist/mcp-server/tools/definitions/get-tone-distribution.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/get-tv-clips.tool.d.ts +4 -0
  20. package/dist/mcp-server/tools/definitions/get-tv-clips.tool.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/get-tv-clips.tool.js +52 -8
  22. package/dist/mcp-server/tools/definitions/get-tv-clips.tool.js.map +1 -1
  23. package/dist/mcp-server/tools/definitions/get-tv-context.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/get-tv-context.tool.js +2 -5
  25. package/dist/mcp-server/tools/definitions/get-tv-context.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/get-tv-trending.tool.d.ts.map +1 -1
  27. package/dist/mcp-server/tools/definitions/get-tv-trending.tool.js +1 -3
  28. package/dist/mcp-server/tools/definitions/get-tv-trending.tool.js.map +1 -1
  29. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts +4 -0
  30. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts.map +1 -1
  31. package/dist/mcp-server/tools/definitions/search-articles.tool.js +52 -9
  32. package/dist/mcp-server/tools/definitions/search-articles.tool.js.map +1 -1
  33. package/package.json +1 -1
  34. package/server.json +3 -3
@@ -6,7 +6,13 @@
6
6
  import { tool, z } from '@cyanheads/mcp-ts-core';
7
7
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
8
8
  import { getGdeltDocService } from '../../../services/gdelt/gdelt-doc-service.js';
9
- import { GDELT_DATETIME_PATTERN, isUnpairedDateRange } from '../date-range.js';
9
+ import { GDELT_DATETIME_PATTERN, isUnpairedDateRange, planWindowContinuation, resolveEffectiveWindow, } from '../date-range.js';
10
+ /**
11
+ * Hard ceiling GDELT's DOC API serves in one article request, and the `maxRecords`
12
+ * schema maximum. Past it there is no offset or cursor — the cap-hit disclosure
13
+ * switches from "raise maxRecords" to partitioning the date window.
14
+ */
15
+ const MAX_RECORDS_CEILING = 250;
10
16
  export const gdeltSearchArticles = tool('gdelt_search_articles', {
11
17
  title: 'Search GDELT Articles',
12
18
  description: 'Search the last 3 months of global news coverage (65+ languages) using the GDELT DOC API. ' +
@@ -14,6 +20,8 @@ export const gdeltSearchArticles = tool('gdelt_search_articles', {
14
20
  'Query supports full GDELT syntax: phrases ("bird flu"), boolean OR ((flu OR pandemic)), source country (sourcecountry:china), ' +
15
21
  'source language (sourcelang:spanish), domain (domain:who.int), GKG theme (theme:DISEASE_OUTBREAK), ' +
16
22
  'tone filter (tone<-5 for negative), proximity (near20:"flu virus"), and repeat (repeat3:"outbreak"). ' +
23
+ '250 is a hard per-call ceiling and GDELT offers no cursor: when a query fills it, split the run into ' +
24
+ 'narrower startDatetime/endDatetime windows — the response hands back the exact windows to use. ' +
17
25
  'Note: this API covers only the most recent 3 months — use gdelt_search_tv for historical TV transcripts back to 2009.',
18
26
  annotations: { readOnlyHint: true, openWorldHint: true },
19
27
  errors: [
@@ -73,9 +81,11 @@ export const gdeltSearchArticles = tool('gdelt_search_articles', {
73
81
  .number()
74
82
  .int()
75
83
  .min(1)
76
- .max(250)
84
+ .max(MAX_RECORDS_CEILING)
77
85
  .default(75)
78
- .describe('Maximum number of articles to return (1–250).'),
86
+ .describe("Maximum number of articles to return (1–250). 250 is GDELT's hard per-call ceiling, not a " +
87
+ 'page size — there is no cursor past it, so a query that fills 250 must be split into narrower ' +
88
+ 'startDatetime/endDatetime windows instead.'),
79
89
  sort: z
80
90
  .enum(['date', 'relevance', 'social'])
81
91
  .default('relevance')
@@ -103,9 +113,9 @@ export const gdeltSearchArticles = tool('gdelt_search_articles', {
103
113
  .describe('A single news article with metadata.'))
104
114
  .describe('Matching articles sorted per the sort parameter.'),
105
115
  }),
106
- // Agent-facing context — query echo, total count, optional timespan echo, and notice
107
- // when no results. Reaches structuredContent and content[] automatically; never in the
108
- // domain return.
116
+ // Agent-facing context — query echo, total count, optional timespan echo, and the
117
+ // cap-hit disclosure with its continuation windows. Reaches structuredContent and
118
+ // content[] automatically; never in the domain return.
109
119
  enrichment: {
110
120
  effectiveQuery: z.string().describe('Echoed query string for use in follow-up calls.'),
111
121
  totalCount: z.number().describe('Number of articles returned in this response.'),
@@ -113,7 +123,31 @@ export const gdeltSearchArticles = tool('gdelt_search_articles', {
113
123
  notice: z
114
124
  .string()
115
125
  .optional()
116
- .describe('Recovery hint when no articles matched echoes filters and suggests how to broaden. Absent on successful responses.'),
126
+ .describe('Disclosure that the maxRecords cap was reached and more articles may exist, naming the route ' +
127
+ 'to them — a higher maxRecords below the 250 ceiling, or a narrower date window at it. ' +
128
+ 'Absent when the full result set fit under the cap.'),
129
+ continuationWindows: z
130
+ .array(z
131
+ .object({
132
+ startDatetime: z
133
+ .string()
134
+ .describe('Start of this window in GDELT format YYYYMMDDHHMMSS.'),
135
+ endDatetime: z.string().describe('End of this window in GDELT format YYYYMMDDHHMMSS.'),
136
+ })
137
+ .describe('One window to re-query with the same query string.'))
138
+ .optional()
139
+ .describe('The queried window halved, to re-run this query against one pair at a time when maxRecords is at ' +
140
+ 'its 250 ceiling. The halves overlap by one second so no article falls through the seam; an article ' +
141
+ 'published on that second can come back in both, so de-duplicate by url. Absent unless the ceiling ' +
142
+ 'was reached with a window that is both known and wide enough to divide.'),
143
+ },
144
+ enrichmentTrailer: {
145
+ continuationWindows: {
146
+ render: (windows = []) => [
147
+ '**Continuation windows:**',
148
+ ...windows.map((w) => `- startDatetime: ${w.startDatetime}, endDatetime: ${w.endDatetime}`),
149
+ ].join('\n'),
150
+ },
117
151
  },
118
152
  async handler(input, ctx) {
119
153
  if (isUnpairedDateRange(input.startDatetime, input.endDatetime)) {
@@ -141,8 +175,17 @@ export const gdeltSearchArticles = tool('gdelt_search_articles', {
141
175
  if (input.timespan)
142
176
  ctx.enrich({ timespan: input.timespan });
143
177
  if (result.articles.length >= input.maxRecords) {
144
- ctx.enrich.notice(`Returned ${result.articles.length} articles (maxRecords cap reached — there may be more). ` +
145
- `Increase maxRecords up to 250 to retrieve more.`);
178
+ if (input.maxRecords < MAX_RECORDS_CEILING) {
179
+ ctx.enrich.notice(`Returned ${result.articles.length} articles (maxRecords cap reached there may be more). ` +
180
+ `Increase maxRecords up to ${MAX_RECORDS_CEILING} to retrieve more.`);
181
+ }
182
+ else {
183
+ const continuation = planWindowContinuation(resolveEffectiveWindow(input));
184
+ if (continuation.windows)
185
+ ctx.enrich({ continuationWindows: continuation.windows });
186
+ ctx.enrich.notice(`Returned ${result.articles.length} articles — maxRecords is already at its ${MAX_RECORDS_CEILING} ceiling, ` +
187
+ `so more articles almost certainly matched. ${continuation.guidance}`);
188
+ }
146
189
  }
147
190
  ctx.log.info('gdelt_search_articles completed', { count: result.articles.length });
148
191
  return { articles: result.articles };
@@ -1 +1 @@
1
- {"version":3,"file":"search-articles.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-articles.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/gdelt-mcp-server",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.",
5
5
  "mcpName": "io.github.cyanheads/gdelt-mcp-server",
6
6
  "type": "module",
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/gdelt-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.2.3",
9
+ "version": "0.2.5",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/gdelt-mcp-server",
21
21
  "runtimeHint": "node",
22
- "version": "0.2.3",
22
+ "version": "0.2.5",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -48,7 +48,7 @@
48
48
  "registryBaseUrl": "https://registry.npmjs.org",
49
49
  "identifier": "@cyanheads/gdelt-mcp-server",
50
50
  "runtimeHint": "node",
51
- "version": "0.2.3",
51
+ "version": "0.2.5",
52
52
  "packageArguments": [
53
53
  {
54
54
  "type": "positional",