✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Crypto News MCP Server

An MCP server that provides real-time cryptocurrency news sourced from NewsData for AI agents.

GitHub GitHub last commit Python

Features

  • Tool: Latest News Headlines - Fetch the most recent cryptocurrency news headlines.
  • Tool: Crypto News Search - Search for news articles by cryptocurrency or keyword with pagination support using the nextPage API feature.
  • Prompt: News Summary - Generate a prompt to summarize news for a given cryptocurrency or topic.

Prerequisites

  • Python 3.10+
  • A Newsdata.io API key
  • Git (for cloning the repository)

Installation

  1. Clone the Repository:

    git clone https://github.com/kukapay/crypto-news-mcp.git
    cd crypto-news-mcp
    
  2. Install Dependencies:

    pip install mcp[cli] httpx python-dotenv
    
  3. Install the server as a plugin for Claude Desktop:

    mcp install main.py --name "CryptoNews"
    

    Or configure MCP-compatible clients manually:

    {
      "mcpServers": { 
        "Crypto News": { 
          "command": "python", 
          "args": [ "path/to/crypto-news-mcp/main.py"],
          "env": {
            "NEWS_API_KEY": "your_newsdata_api_key_here"
          }
        } 
      }
    }
    

Available Tools and Prompts

  1. Tool: get_latest_news
    Fetches the latest cryptocurrency news headlines.

    • Usage: Call get_latest_news() in an MCP client.
    • Output: A string of headlines with publication dates.
    • Example:
      Bitcoin Price Surges to New High (Published: 2025-04-06T12:00:00Z)
      Ethereum ETF Approval Rumors Grow (Published: 2025-04-06T10:30:00Z)
      
  2. Tool: get_crypto_news
    Searches for news articles by keyword with pagination support.

    • Parameters:
      • query (str): The cryptocurrency or keyword (e.g., “bitcoin”).
      • max_pages (int, optional): Number of pages to fetch (default: 1).
    • Usage: Call get_crypto_news(query="bitcoin", max_pages=2).
    • Output: A formatted string with article titles, dates, and descriptions.
    • Example:
      Title: Bitcoin Hits $70K
      Date: 2025-04-06T12:00:00Z
      Description: Bitcoin surged past $70,000 amid bullish market trends.
      
      Title: Bitcoin Mining Report
      Date: 2025-04-06T09:00:00Z
      Description: New report highlights energy usage in BTC mining.
      
  3. Prompt: summarize_news
    Generates a prompt for summarizing news about a specific topic.

    • Parameters:
      • query (str): The cryptocurrency or keyword.
    • Usage: Call summarize_news(query="ethereum").
    • Output: A prompt string for an LLM to process.
    • Example:
      Please summarize the latest news about ethereum based on the following data:
      
      {{{{ get_crypto_news("ethereum") }}}}
      

License

This project is licensed under the MIT License. See the LICENSE file for details.

Featured Templates

View More
AI Agents
AI Video Generator
252 2006 5.0
Customer service
Service ERP
126 1188
Data Analysis
Pharmacy Admin Panel
252 1957
Verified Icon
AI Agents
AI Chatbot Starter Kit
1336 8299 5.0
Customer service
AI-Powered Product List Manager
153 867
AI Assistants
Image to text with Claude 3
151 1365

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.