Skip to main content
Glama

extract_gdelt

Fetch global news intelligence from GDELT Project to monitor worldwide news in 100+ languages, updated every 15 minutes, covering topics Western sources often miss.

Instructions

Fetch global news intelligence from the GDELT Project. GDELT monitors broadcast, print, and web news from every country in 100+ languages, updated every 15 minutes. Returns articles with title, source domain, country of origin, language, and publication date — covering news worldwide that Western sources miss. Free, no auth. Pass any company name, topic, or keyword. Unique: not available in any other MCP server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesQuery: company name, topic, or keyword e.g. 'Palantir', 'artificial intelligence', 'MCP server'
max_lengthNo

Implementation Reference

  • The core logic for fetching and processing GDELT news intelligence.
    export async function gdeltAdapter(options: ExtractOptions): Promise<AdapterResult> {
      const query = (options.url ?? "").trim();
      const maxLength = options.maxLength ?? 6000;
    
      if (!query) throw new Error("Query required: company name, topic, or keyword");
    
      const data = await fetchGdelt(query);
      return formatArticles(data, query, maxLength);
    }
  • src/server.ts:456-476 (registration)
    Registration of the "extract_gdelt" tool and its execution wrapper.
    server.registerTool(
      "extract_gdelt",
      {
        description:
          "Fetch global news intelligence from the GDELT Project. GDELT monitors broadcast, print, and web news from every country in 100+ languages, updated every 15 minutes. Returns articles with title, source domain, country of origin, language, and publication date — covering news worldwide that Western sources miss. Free, no auth. Pass any company name, topic, or keyword. Unique: not available in any other MCP server.",
        inputSchema: z.object({
          url: z.string().describe("Query: company name, topic, or keyword e.g. 'Palantir', 'artificial intelligence', 'MCP server'"),
          max_length: z.number().optional().default(6000),
        }),
        annotations: { readOnlyHint: true, openWorldHint: true },
      },
      async ({ url, max_length }) => {
        try {
          const result = await gdeltAdapter({ url, maxLength: max_length });
          const ctx = stampFreshness(result, { url, maxLength: max_length }, "gdelt");
          return { content: [{ type: "text", text: formatForLLM(ctx) }] };
        } catch (err) {
          return { content: [{ type: "text", text: formatSecurityError(err) }] };
        }
      }
    );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PrinceGabriel-lgtm/freshcontext-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server