Skip to main content
Glama
6551Team

Daily News MCP Server

by 6551Team

Quick Install

Claude Code

claude mcp add daily-news \
  -- uv --directory /path/to/daily-news run daily-news-mcp

Replace /path/to/daily-news with your local project path.

OpenClaw

cp -r openclaw-skill/daily-news ~/.openclaw/skills/6551-daily-news

Related MCP server: cryptopolitan-mcp

Let AI Review & Install For You

Not sure if this MCP is safe? Paste the prompt below to your AI assistant — it will review the source code first, then install if safe:

Copy this prompt and send it to your AI assistant (replace <project-path> with actual value):

Please review and install the daily-news-mcp MCP server for me. The project is at <project-path>.

Steps:
1. Review these files for security:
   - src/daily_news_mcp/api_client.py — Confirm it only connects to ai.6551.io, no data sent elsewhere
   - src/daily_news_mcp/config.py — Confirm no hardcoded secrets or leaks
   - src/daily_news_mcp/tools.py — Confirm all tools only perform API queries, no file writes, command execution, or dangerous operations
   - pyproject.toml — Confirm dependencies are only mcp, httpx, no suspicious packages
2. Tell me your conclusion: safe / risky / problematic, with specific reasons
3. If safe, run the install:
   claude mcp add daily-news -- uv --directory <project-path> run daily-news-mcp

What Can It Do?

Once connected, just ask your AI assistant:

You say

It does

"Show me all news categories"

List all available categories and subcategories

"What's hot in DeFi today?"

Get hot news and tweets for the DeFi category

"Get crypto market news"

Fetch trending news for the crypto market category

"Show me AI-related news and tweets"

Get combined news + tweets for AI subcategory


Available Tools

Tool

Description

get_news_categories

Get all available news categories and subcategories

get_hot_news

Get hot news and tweets by category/subcategory


Configuration

Variable

Required

Description

DAILY_NEWS_API_BASE

No

Override REST API URL (default: https://ai.6551.io)

DAILY_NEWS_MAX_ROWS

No

Max results per query (default: 100)

Also supports config.json in the project root (env vars take precedence):

{
  "api_base_url": "https://ai.6551.io",
  "max_rows": 100
}

API Endpoints

Endpoint

Method

Parameters

Description

/open/free_categories

GET

Get all news categories

/open/free_hot

GET

category, subcategory

Get hot news + tweets

Response: free_categories

[
  {
    "key": "crypto",
    "name": "Crypto",
    "name_zh": "加密货币",
    "description": "...",
    "subcategories": [
      {
        "key": "defi",
        "name": "DeFi",
        "name_zh": "去中心化金融",
        "description": "..."
      }
    ]
  }
]

Response: free_hot

{
  "success": true,
  "category": "crypto",
  "subcategory": "defi",
  "news": {
    "success": true,
    "count": 10,
    "items": [
      {
        "id": 123,
        "title": "...",
        "source": "...",
        "link": "https://...",
        "score": 85,
        "grade": "A",
        "signal": "bullish",
        "summary_zh": "...",
        "summary_en": "...",
        "coins": ["BTC", "ETH"],
        "published_at": "2026-03-17T10:00:00Z"
      }
    ]
  },
  "tweets": {
    "success": true,
    "count": 5,
    "items": [
      {
        "author": "Vitalik Buterin",
        "handle": "VitalikButerin",
        "content": "...",
        "url": "https://...",
        "metrics": { "likes": 1000, "retweets": 200, "replies": 50 },
        "posted_at": "2026-03-17T09:00:00Z",
        "relevance": "high"
      }
    ]
  }
}

In all configs below, replace /path/to/daily-news with your actual local project path.

Claude Desktop

Edit config (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "daily-news": {
      "command": "uv",
      "args": ["--directory", "/path/to/daily-news", "run", "daily-news-mcp"]
    }
  }
}

Cursor

~/.cursor/mcp.json or Settings > MCP Servers:

{
  "mcpServers": {
    "daily-news": {
      "command": "uv",
      "args": ["--directory", "/path/to/daily-news", "run", "daily-news-mcp"]
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "daily-news": {
      "command": "uv",
      "args": ["--directory", "/path/to/daily-news", "run", "daily-news-mcp"]
    }
  }
}

Supported Clients

Client

Config

Status

Claude Code

CLI

Supported

Claude Desktop

JSON config

Supported

Cursor

JSON config

Supported

Windsurf

JSON config

Supported

Cherry Studio

GUI

Supported

Zed

JSON config

Supported


Development

cd /path/to/daily-news
uv sync
uv run daily-news-mcp
# MCP Inspector
npx @modelcontextprotocol/inspector uv --directory /path/to/daily-news run daily-news-mcp

Project Structure

├── README.md                  # English
├── docs/
│   ├── README_ZH.md           # 中文
│   ├── README_JA.md           # 日本語
│   └── README_KO.md           # 한국어
├── openclaw-skill/daily-news/     # OpenClaw Skill
├── pyproject.toml
├── config.json
└── src/daily_news_mcp/
    ├── server.py              # Entry point
    ├── app.py                 # FastMCP instance
    ├── config.py              # Config loader
    ├── api_client.py          # HTTP client
    └── tools.py               # 2 tools

License

MIT

Available Tools

2 tools
get_hot_newsA

Get hot news and tweets by category.

Args: category: Category key (required). Use get_news_categories to list available keys. subcategory: Subcategory key (optional).

Returns: Combined news articles and tweets for the given category.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYes
subcategoryNo

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description must disclose traits. It states it returns combined news and tweets, which is helpful, but does not mention side effects, auth, or limits. Adequate but minimal.

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

Conciseness4/5

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

The description is concise with a clear arg/return list. Could be slightly more streamlined, but no wasted words.

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 2-param tool with no output schema, the description covers purpose, parameters, return type, and references sibling for category enumeration. Lacks pagination or limit info but is sufficiently 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 coverage is 0%, but the description explains category is a key from get_news_categories and subcategory is optional, adding meaning beyond the schema's type-only definitions.

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 verb 'Get' clearly indicates retrieval, and the resource is 'hot news and tweets by category'. It distinguishes from the sibling tool get_news_categories which lists categories.

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 advises using get_news_categories to list available keys for the category parameter, providing explicit guidance on tool use.

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

get_news_categoriesA

Get all available news categories and subcategories.

Returns a list of categories, each containing subcategories, for use with the get_hot_news tool.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It describes the return structure but does not disclose any behavioral traits like read-only nature, caching, or potential empty results. Adequate but minimal.

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?

Two sentences, concise and front-loaded. No redundant or extraneous information.

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 tool with no parameters and no output schema, the description provides essential information: what it returns and how it relates to sibling tool. Missing details on return format, but adequate given simplicity.

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?

Zero parameters; schema coverage is trivially 100%. Description adds no param info, but baseline for 0 params is 4. No need for additional semantics.

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 'Get all available news categories and subcategories' with a specific verb and resource. It distinguishes itself from sibling tool get_hot_news by noting its output is for use with that tool.

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 implies usage context (for retrieving categories to use with get_hot_news) but does not explicitly state when not to use or provide alternatives. The link to get_hot_news provides clear context.

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. 2 tool updatesv0.1.0
    • First observedget_hot_news
    • First observedget_news_categories

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves hot news by category, the other lists available categories. No ambiguity exists.

Naming Consistency5/5

Both tools follow a consistent 'get_' prefix pattern, making it easy for an agent to infer their functionality.

Tool Count3/5

With only 2 tools, the server feels minimal for a 'Daily News' purpose, missing typical operations like search or individual article retrieval, but it is not extreme.

Completeness2/5

The server covers only listing categories and fetching hot news, lacking search, filtering, or any write capabilities, leaving significant gaps for a news domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    Real-time cryptocurrency news, analysis, and price predictions for AI agents. 5 tools to search 50,000+ articles across 12 categories, filter by 120+ asset tickers, and access content with built-in attribution. Free with attribution. SSE and Streamable HTTP transport.
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to fetch categorized news headlines and full article text from a multi-topic RSS aggregator, with no API keys required.
    3 npm
    ISC
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search and retrieve real-time news from 40 curated sources with micropayment-based access (USDC on Base). Provides both paid (search, headlines) and free (preview, status) tools for up-to-date information.
    101 npm
    MIT