Skip to main content
Glama
WhaleCupl

ai-daily-insights-mcp

ai-daily-insights-mcp

A Model Context Protocol server for AI Daily Insights — a daily AI briefing built for both humans and agents.

It lets any MCP-capable assistant (Claude Desktop, Claude Code, Cursor, …) list, read and search the daily AI news, fully structured — no HTML scraping.

Aggregate usage and privacy (0.4.4+)

Each entered tool handler sends a best-effort background event to the configured AI_DAILY_BASE_URL (the public site by default). It contains only the tool name and package version: no arguments, search queries, results, session IDs or user identifiers. The hosting infrastructure still sees standard request metadata. Events include cached calls and errors, but exclude tool discovery and rejected input schemas. They are self-reported usage, not verified AI users.

Set AI_DAILY_ANALYTICS=0 in the MCP server environment to disable these events. Data fetches still use the package/version User-Agent for HTTP attribution. Reporting never waits on the tool response path, has a 1.5-second timeout, at most 16 outstanding events and no retries; offline/shutdown/opt-out may undercount. Existing data caching is unchanged.

Related MCP server: News API MCP Server

Tools

Tool

What it does

get_latest()

The newest issue with all its news items in one call.

list_latest(limit=5)

List recent issues: date, title, summary, tags, URLs.

get_article(date)

Fetch one issue (YYYY-MM-DD), parsed into news items {index, title, signal, body}.

get_range(from, to, limit=14)

Every issue in a date range (e.g. the past week), fetched in parallel.

list_by_tag(tag, limit=10)

Issues carrying a given tag (company/topic), matched case-insensitively.

search(query, tag, limit=10)

Full-text + tag search across all news items, in one server-side call.

Data comes from the public JSON endpoints (/index.json, /{date}.json, /search) — the server is stateless and needs no API key. Responses are cached in-memory briefly (default 5 min, override with AI_DAILY_CACHE_TTL_MS) to avoid hammering the site on repeated calls.

Use it

Claude Code

claude mcp add ai-daily-insights -- npx -y ai-daily-insights-mcp

Claude Desktop / Cursor (config file)

{
  "mcpServers": {
    "ai-daily-insights": {
      "command": "npx",
      "args": ["-y", "ai-daily-insights-mcp"]
    }
  }
}

Then ask: "用 ai-daily-insights 列出最近 5 天的 AI 资讯,挑 SpaceX 相关的讲讲。"

Config

Env var

Default

Purpose

AI_DAILY_BASE_URL

https://www.aidailyinsights.cn

Override the site origin (e.g. a preview deploy).

AI_DAILY_CACHE_TTL_MS

300000

In-memory cache TTL for fetched JSON, in milliseconds.

Develop

npm install
npm test
npm run inspect   # opens the MCP Inspector

Requires Node.js 20 or newer. Every tool declares explicit MCP safety annotations, validates its inputs with Zod, and converts upstream failures into structured MCP error results.

License

MIT

Available Tools

6 tools
get_articleGet one issue (structured)A

Fetch a single daily issue by date, parsed into structured news items: each item has index, title, signal (the one-line judgment) and body. Date format: YYYY-MM-DD.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesIssue date, e.g. 2026-06-24.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the output structure (index, title, signal, body) and date format, but does not mention side effects, permissions, or error handling. This is adequate for a simple fetch operation but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loads the key action and output structure, and contains no unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter nature and no output schema, the description adequately explains the input format and output structure. It does not cover error cases or mention rate limits, but for a straightforward fetch tool the completeness is good.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so baseline is 3. The description adds a redundant date format hint and context about the output, but does not significantly enrich the parameter meaning beyond what the schema already provides with pattern and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Fetch' and the resource 'single daily issue by date', and specifies the output as structured news items with fields. It distinguishes from siblings like get_latest and get_range by focusing on a single issue retrieved by date.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a single issue by a specific date, but it does not explicitly discuss when to use this tool versus alternatives like get_latest or search. The context is clear but lacks explicit guidance on exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_latestGet the latest issue (structured)A

Fetch the most recent issue, parsed into structured news items {index, title, signal, body}. Use this when the user asks for today's / the latest AI news and does not give a date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full burden. It discloses the return format (index, title, signal, body) and that it fetches data. For a read-only tool with no parameters, this is sufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise—two sentences with no filler. The first sentence clearly states the action and output, the second clarifies the usage context. Every sentence is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return fields. It also specifies the triggering condition. Minor ambiguity: 'structured news items' might imply multiple items, but the number is not specified. Overall, it covers the essential details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100%. The description adds no parameter information, which is appropriate. Baseline for no parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches the most recent issue and returns structured news items. It distinguishes from siblings by specifying the use case for when no date is given, but does not explicitly compare to 'list_latest' or 'get_article'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use ('when the user asks for today's / the latest AI news and does not give a date'), implying when not to use. It does not name alternative tools but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rangeGet issues in a date range (structured)A

Fetch every issue whose date falls within [from, to] (inclusive), each parsed into structured news items. Use for "the past week", "between X and Y", etc. Dates are YYYY-MM-DD. Issues are fetched in parallel.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEnd date (inclusive), e.g. 2026-06-30.
fromYesStart date (inclusive), e.g. 2026-06-24.
limitNoMax issues to return (default 14).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions inclusive range, date format, parallel fetching, and structured output. Adequate for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no waste. First sentence covers action, second examples, third format and behavior. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple; description covers purpose, usage, date format, parallelism. Lacks detail on output structure, but not critical. Good for the given complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions. Description adds date format (redundant with pattern) and parallel fetching (not parameter-specific). Base score 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches every issue in an inclusive date range, parsed into structured items. It is distinct from siblings like get_latest (single latest) and list_by_tag (tag filter).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description gives concrete examples ('the past week', 'between X and Y'). Does not explicitly exclude other tools, but context from sibling names implies appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_by_tagList issues by tagA

List issues that carry a given tag (e.g. a company or topic like "OpenAI", "融资", "芯片"). Returns issue-level entries; use search() to find specific news items by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYesTag to filter by, matched case-insensitively.
limitNoMax issues to return (default 10).

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. It discloses that tool returns issue-level entries and tag matching is case-insensitive. Lacks details on pagination or sorting, but adequate for a read-only filter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences, front-loaded with purpose, no redundant information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple tool (2 params, no output schema, no annotations), description covers core purpose, usage comparison, and output type. Could mention ordering or empty results, but mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions. Description adds value by providing concrete examples (e.g., 'OpenAI') and clarifying output level (issue-level vs news items).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'list' and resource 'issues', specifies filtering by tag, and explicitly distinguishes from sibling tool search() by noting to use search() for specific news items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context: when to use (list issues by tag) and when not to (use search() for keyword news items). Offers alternatives and exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_latestList latest issuesA

List the most recent AI Daily Insights issues (date, title, one-line summary, tags, URLs). Start here to discover what is available.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many recent issues to return (default 5).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It lists returned fields (date, title, etc.) but omits ordering (e.g., most recent first) and whether more pages exist. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence efficiently communicates purpose, return fields, and primary use case. No redundant information; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional param and no output schema, the description covers return fields and purpose adequately. Lacks explicit mention of sorting order or pagination, but generally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already fully describes the 'limit' parameter with default, min, max. Description adds no additional semantics beyond what schema provides, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'List' and the resource 'most recent AI Daily Insights issues' with specific fields. It distinguishes from siblings by indicating it's a starting point for discovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly suggests 'Start here to discover what is available,' providing clear usage context. However, it does not mention when not to use or compare to sibling tools like 'get_latest' or 'search'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.4.0
    • First observedget_article
    • First observedget_latest
    • First observedget_range
    • First observedlist_by_tag
    • First observedlist_latest
    • First observedsearch

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation4/5

Each tool has a distinct purpose: fetching by date, latest, range, listing by tag, listing latest issues, and full-text search. There is minor overlap between list_latest and get_latest, and between list_by_tag and search, but descriptions clarify the differences (issue-level vs. item-level).

Naming Consistency4/5

All names use lowercase snake_case and follow a verb-based structure. However, the pattern is mixed: get_article, get_latest, get_range are consistent; list_by_tag and list_latest use 'list', and search is a bare verb. This is minor inconsistency overall.

Tool Count5/5

With 6 tools, the count is well-scoped for a news retrieval service. Each tool covers a specific access pattern (by date, latest, range, tag, list, search), and none feel redundant or out of place.

Completeness4/5

The tool surface covers the main ways to retrieve articles: by date, latest, range, tag listing, and full-text search. A notable gap is the lack of a tool to list all available tags, which would assist in using list_by_tag and search effectively.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers