inoreader-remote-mcp
Provides tools for interacting with the Inoreader API, enabling users to read, mark, and manage feeds and articles, including retrieving user info, unread counts, subscriptions, folders/tags, articles and starred articles, adding or removing subscriptions, and marking articles as read or unread.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@inoreader-remote-mcpshow me my unread articles"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
inoreader-remote-mcp
A remote MCP server for Inoreader: read, mark and manage your feeds from Claude — web, desktop and mobile — through a custom connector. Self-hosted, single user, one Docker container, no database.
Not affiliated with Inoreader. This is an independent project using the public Inoreader API. Inoreader is a trademark of its owner.
What it does
Ten tools, each costing one Inoreader API call (Inoreader allows about a hundred requests per day per zone on the Pro plan):
Tool | Returns |
| The authenticated Inoreader user |
| Unread counts: total, per folder, per feed |
| Subscriptions: id, title, feed URL, site URL, folders |
| Folders and tags, with unread counts |
| Articles of a feed, a folder or the whole account ( |
| Starred articles ( |
| Subscribe to a feed, optionally into a folder and with a title (a second call only then) |
| Unsubscribe — Claude is told to ask for confirmation first |
| Mark a list of articles, in a single call |
Articles come back short: id, title, URL, feed name, publication date, crawlTimeMsec and a
plain-text summary cut at 500 characters. Pagination is handed to Claude: a page carries a
continuation value, passed back for the next page. When a daily quota is reached, Claude
receives an explicit message with the time until the counters reset.
Tool descriptions are written in French.
Related MCP server: RSS Feed MCP Server
How it works
Claude ──HTTPS──▶ reverse proxy ──▶ inoreader-remote-mcp :8000 ──▶ Inoreader API
├── /mcp MCP, Streamable HTTP, bearer token
├── OAuth 2.1 server for Claude (/register, /authorize, /token…)
├── /oauth/consent consent screen (admin password)
└── /oauth/inoreader/start|callback one-time Inoreader authorisationTwo OAuth flows, independent:
Claude → this server. Claude's custom connectors require OAuth. The server is its own authorisation server: Claude registers itself, you approve on a consent screen with the admin password, Claude gets an access token (1 h) and a rotating refresh token (60 days).
This server → Inoreader. Done once, in your browser. The Inoreader tokens are stored on the volume and refreshed automatically.
Everything persistent is two JSON files in DATA_DIR, written atomically with 0600
permissions: inoreader_tokens.json and oauth.json (Claude's clients and token digests —
tokens are never stored in clear).
Requirements
An Inoreader account with API access (Inoreader Pro, see their developer terms).
A host running Docker, reachable over HTTPS under a public hostname (Claude connects from the internet), behind a reverse proxy that terminates TLS.
Claude with custom connectors available on your plan.
1. Register an Inoreader app
In Inoreader: Preferences → Developer → Register an application (use a dedicated app for this server, so that its quota is not shared with other tools).
Redirect URI:
https://inoreader.example.com/oauth/inoreader/callback(your public hostname, exactly).Scope: Read and write.
Note the App ID and App Key.
2. Configure
Copy .env.example to .env next to docker-compose.yml, then
chmod 600 .env:
Variable | Description |
| Public HTTPS address, no trailing slash, e.g. |
| Inoreader App ID |
| Inoreader App Key |
| Protects the Inoreader authorisation and the Claude consent screen. Use a long random value: |
|
|
| Set to |
Left empty, ADMIN_PASSWORD closes the admin routes rather than opening them.
3. Deploy
mkdir -p data # before the first start, so that it belongs to you, not root
docker compose pull
docker compose up -d
docker compose logs -f # expect: Uvicorn running on http://0.0.0.0:8000The provided docker-compose.yml publishes no port: the container
joins an external Docker network named proxy, shared with the reverse proxy. Adjust it to
your setup. The container runs as UID 1000 / GID 100.
Reverse proxy: forward https://inoreader.example.com to http://inoreader-remote-mcp:8000.
MCP responses are streamed, so disable response buffering. With nginx (or Nginx Proxy
Manager, Advanced tab):
proxy_buffering off;
proxy_read_timeout 300s;Check: curl https://inoreader.example.com/health returns {"status":"ok",…}.
4. Authorise Inoreader (once)
Open https://inoreader.example.com/oauth/inoreader/start in a browser. Log in with any
user name and the ADMIN_PASSWORD, approve on Inoreader, and you land on « Inoreader est
connecté ». data/inoreader_tokens.json now exists.
To bind another Inoreader account, or after revoking the app in Inoreader, run it again.
5. Add the connector in Claude
In Claude: Settings → Connectors → Add custom connector.
Name: Inoreader
URL:
https://inoreader.example.com/mcpLeave the advanced OAuth client fields empty: Claude registers itself.
Click Connect. The consent screen shows the client name and where the code will be
sent — it must be claude.ai; refuse otherwise. Type the admin password and approve. The
connector is then available on web, desktop and mobile.
Try: « Combien d'articles non lus ai-je sur Inoreader ? »
Updating
The CI publishes ghcr.io/ctricot/inoreader-remote-mcp:latest and :sha-<commit> on every
push to main.
Automatic: the compose file carries the label
com.centurylinklabs.watchtower.enable=true; a Watchtower running withWATCHTOWER_LABEL_ENABLE=truepulls each new image.Manual:
docker compose pull && docker compose up -d.Roll back:
IMAGE_TAG=sha-<commit> docker compose up -d.
Tokens survive updates: Claude stays connected, Inoreader stays authorised.
Security notes
The admin password is the only key: it authorises Inoreader and approves Claude clients. Wrong attempts are slowed down; still, use a long random value.
The consent password is typed into a form, never sent as HTTP Basic, so a forged request from another site cannot approve a client.
data/holds the Inoreader refresh token: keep it private and back it up. Deletingdata/oauth.jsondisconnects every Claude client.
Development
uv sync
uv run pytest # Inoreader is mocked with respx, no network
uv run ruff check && uv run ruff format --check
ADMIN_PASSWORD=dev uv run python -m inoreader_remote_mcp # http://localhost:8000License
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Connect Claude or any MCP client to Thread Otter, a GTM agent for founders. Free tools with no key: find_buyer_threads (give it a website URL and get recent Reddit threads where that product's buyers are asking for it, report in ~3 minutes), reddit_demand_board (weekly demand across 40 communities with thread receipts), and subreddit_rules (promotion posture for 2,000+ profiled subreddits). With an API key: read your buying-intent mentions across Reddit, X, LinkedIn, and Bluesky, check your pipeline, and propose posts and reply drafts in your voice. Propose-only by design: nothing sends without your approval flow. Keys at threadotter.com/connect.
Carbon Voice MCP serves as a bridge that connects AI assistants like ChatGPT, Claude, and Cursor to a user's Carbon Voice account, turning voice messages and conversations into a private, on-demand knowledge base. It provides 28 specialized tools for comprehensive voice messaging management, including creating and sending messages, accessing conversation history with instant transcription, running AI actions (summarization, TLDR generation, meeting notes), and managing workspace collaboration through folders, contacts, and team communications.
Nephia is a brand monitoring service, and this is its remote MCP server. Claude, Cursor, ChatGPT or any MCP client can read the mentions your brand gets on 14 sources: X, Reddit (posts and comments), YouTube, TikTok, Bluesky, Hacker News, Mastodon, Lemmy, GitHub, Product Hunt, Stack Overflow, any RSS feed, Vinted, and AI answers from ChatGPT, Gemini and Perplexity. Every mention arrives already read, with its sentiment and intent, so an agent can answer plain questions: which complaints came in since Friday, what Reddit said about us this week. The source is an argument, not a tool, so one call reads every source you watch. Sign-in is OAuth in the browser: no API key to copy. The consent screen has three permissions: read your mentions and Queries, change what is running (pause, resume, retire), and spend credits (semantic search and AI passes), which arrives unticked. Every tool description states its cost, so a model can budget before it spends. The server is on every plan, Free included, and reading your own mentions through it costs nothing.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables intelligent RSS feed management and analysis through Inoreader integration. Supports reading articles, search, bulk operations, and AI-powered content analysis including summarization, trend analysis, and sentiment analysis.19MIT
- FlicenseNot gradedqualityCmaintenanceEnables Claude to fetch, parse, and manage RSS/Atom feeds through the Model Context Protocol. It supports feed registration and retrieval, allowing users to access article summaries and full content from multiple sources via natural language.1-
- AlicenseNot gradedqualityDmaintenanceEnables Claude and other MCP clients to manage Instapaper accounts by reading, saving, organizing, and analyzing articles through natural language. It supports comprehensive bookmark management, bulk operations, folder organization, and full-text content retrieval for research and synthesis.23MIT
- FlicenseAqualityDmaintenanceAn MCP server that enables users to interact with their Feedbin RSS account directly through Claude. It provides tools for reading articles, managing read and starred states, and browsing subscribed feeds and tags.151-