mshk_mcp_rss_crawler

mshk_mcp_rss_crawler

by mshk
An MCP server that fetches and manages RSS feeds for integration with LLMs.

RSS Crawler MCP Server

An MCP (Message Chain Protocol) server designed to fetch RSS feeds and share them with Large Language Models (LLMs). This server integrates seamlessly with tools like Claude Desktop and supports advanced features like feed filtering and article fetching via Firecrawl.

Features

  • RSS Feed Fetching and Caching: Stores RSS feeds in an SQLite database for efficient retrieval.
  • MCP Protocol Implementation: Enables LLMs to access the latest RSS feeds through a standardized protocol.
  • Feed Filtering: Allows filtering feeds by category, source, or keywords.
  • Comprehensive API: Provides endpoints for managing feeds, including adding, updating, and deleting feeds.
  • Firecrawl Integration: Fetches articles using the Firecrawl API.

Requirements

  • Bun: A fast JavaScript runtime.
  • Firecrawl API Key: Required for fetching articles.
  • MCP Client: Such as Claude Desktop or similar tools.

Setup as MCP Server

  1. Clone the repository:
    bash git clone https://github.com/mshk/mcp-rss-crawler.git

  2. Create a claude_desktop_config.json file based on the provided example:
    json { "mcpServers": { "rss-crawler": { "command": "/path/to/bun", "args": ["run", "/path/to/mcp-rss-crawler/src/mcp-cli.ts"], "cwd": "/path/to/mcp-rss-crawler", "env": { "PORT": "5556", "DB_DIR": "/path/to/mcp-rss-crawler", "FIRECRAWL_API_KEY": "fc-<YOUR_FIRECRAWL_API_KEY>" } } } }

  3. Install dependencies:
    bash bun install

  4. Start Claude Desktop or your preferred MCP client.

MCP Protocol

The server implements the Message Chain Protocol (MCP), allowing LLMs to access RSS feeds via POST requests with a JSON body.

Example Request

{
  "messages": [
    {
      "role": "user",
      "content": "What are the latest news from my RSS feeds?"
    }
  ]
}

Example Response

{
  "messages": [
    {
      "role": "assistant",
      "content": "Here are the latest articles from your RSS feeds:",
      "name": "rss-mcp"
    },
    {
      "role": "tool",
      "content": "[{\"title\":\"Article Title\",\"summary\":\"Article summary...\",\"published\":\"2025-03-16T04:30:00.000Z\",\"origin\":\"Feed Name\",\"link\":\"https://example.com/article\"}]",
      "name": "rss-feeds"
    }
  ]
}

Configuration Options

The server can be configured using environment variables or a .env file:

  • PORT: Server port (default: 5556).
  • FIRECRAWL_API_KEY: Firecrawl API key.
  • DB_DIR: Database directory (default: ~/.mcp-rss-crawler).

Troubleshooting

  • Connection Issues: Check network settings and firewall configurations.
  • Logs: View console logs for diagnostics.
  • Detailed Logging: Set the DEBUG=mcp-rss:* environment variable for more detailed logs.

About

This project is maintained by mshk. For more details, visit the GitHub repository.

Resources

Stars

1 star

Watchers

1 watching

Forks

0 forks

Languages

  • TypeScript 100.0%

Features & Capabilities

Categories
mcp_server model_context_protocol typescript rss api_integration llm firecrawl claude

Implementation Details

Stats

0 Views
0 Favorites
1 GitHub Stars

Repository Info

mshk Organization

Similar Servers

continuedev_continue by continuedev
0
0
0