Skip to main content
Glama
fredrsat

feedly-mcp

by fredrsat

feedly-mcp

Read your Feedly subscriptions from Claude. Ask "what's new in my AI feeds?" and get an answer, without opening a browser.

⚠️ Nothing here is installable yet

This repository currently contains design documents only — no code.

There is no npm package, no .mcpb bundle, and no releases. Every command below will fail today. They describe the intended experience, written first so the install flow could be designed before it was built.

Watch the repo if you want to know when that changes.


What it does

Six tools that let an agent read your Feedly account:

Tool

What it gives you

list_folders

your folders, with unread counts

list_feeds

the feeds in a folder

get_articles

recent articles, cleaned up and trimmed

unread_counts

how much is waiting, total and per folder

search_feeds

find new sources to subscribe to

mark_read

mark articles as read (off by default)

What it does not do

This is a connector, not a reader app. It translates a request into a Feedly API call and hands back a clean answer. It does not store your articles, build a searchable archive, rank things over time, or send you digests.

Those are all good things to want — build them on top of this, in a Claude Project, a skill, or a scheduled task. Keeping them out is what makes this small enough to trust.

Privacy

Everything runs on your own machine.

  • Your Feedly token stays local. It is never sent anywhere except api.feedly.com.

  • No account with us, no server in the middle, no telemetry.

  • Nothing about what you read is stored beyond a short-lived local cache.


Requirements

  • Node.js 20 or newer — check with node --version

  • A Feedly account and an API token (step 1 below)

  • Claude Desktop, Claude Code, or any other MCP client


Step 1 — Get a Feedly API token

  1. Log in to Feedly in your browser.

  2. Visit https://feedly.com/v3/auth/dev.

  3. Follow the instructions there to generate a developer access token.

  4. Copy the token somewhere safe for the next step. It is a password — treat it like one.

Two things to know before you go further.

Tokens expire. On a free account a developer token is valid for about 30 days, after which you repeat this step. Paid plans can refresh automatically. This is Feedly's policy, not something this tool can work around.

Token availability depends on your plan. Feedly's own documentation is inconsistent about which account tiers can self-issue API tokens. If the page above does not give you a token, this connector cannot work with your account, and there is no workaround short of contacting Feedly.


Step 2 — Install

Not available yet. All three paths below depend on a published artifact — an npm package or an .mcpb bundle — and neither exists. This section is the plan, not instructions you can follow today.

Pick one of the three paths below.

Option A — Claude Desktop, one-click (easiest)

  1. Download the latest feedly-mcp.mcpb from the repository's Releases page. (No releases published yet.)

  2. Open Claude Desktop → SettingsExtensions.

  3. Drag the .mcpb file into the window.

  4. A settings form appears. Paste your token into Feedly API token and click install.

Your token goes into your operating system's keychain, not into a plain-text file. Everything in Configuration is editable from this same form.

Option B — Claude Desktop, manual config

  1. Open your Claude Desktop config file:

    OS

    Path

    macOS

    ~/Library/Application Support/Claude/claude_desktop_config.json

    Windows

    %APPDATA%\Claude\claude_desktop_config.json

    If the file does not exist, create it with {} as its contents.

  2. Add a feedly entry:

    {
      "mcpServers": {
        "feedly": {
          "command": "npx",
          "args": ["-y", "feedly-mcp"],
          "env": {
            "FEEDLY_TOKEN": "paste-your-token-here"
          }
        }
      }
    }

    Already have other servers under mcpServers? Add feedly alongside them — don't replace the block.

  3. Restart Claude Desktop completely. Closing the window is not enough; quit the application.

  4. Look for the tools icon in the message box. feedly should be listed.

Option C — Claude Code

claude mcp add feedly --env FEEDLY_TOKEN=paste-your-token-here -- npx -y feedly-mcp

Verify it registered:

claude mcp list

Run claude mcp add --help if your version expects a different flag for environment variables.


Step 3 — Check that it works

Before asking Claude anything, confirm the connection from your terminal:

FEEDLY_TOKEN=paste-your-token-here npx -y feedly-mcp doctor

A healthy result looks like this:

✓ Token found          (environment variable FEEDLY_TOKEN)
✓ Connected to Feedly   you@example.com
✓ 8 folders

  Tech                    70 feeds   user/<uuid>/category/Tech
  Tech - Research         11 feeds   user/<uuid>/category/<uuid>
  Tech - Tooling           6 feeds   user/<uuid>/category/<uuid>
  …

  API calls used today: 1 of 50   (resets in 11h34m)

doctor never prints your token. Use the folder list it gives you when filling in scope in step 4.

If something is wrong, jump to Troubleshooting.


Step 4 — Configure (optional)

The defaults are sensible and you can skip this entirely. The one setting worth looking at early is scope — which folders Claude is allowed to see at all.

Create ~/.config/feedly-mcp/config.toml:

[scope]
# Only these folders are visible to the agent. Leave empty for all of them.
include_folders = ["AI", "Longform"]

# Used when you ask about articles without naming a folder.
default_folder = "AI"

[defaults]
hours = 8          # how far back get_articles looks
limit = 100        # max articles per call

Two reasons to set include_folders:

  • Privacy. Your work folder does not need to be readable by an agent.

  • Focus. Fewer folders means shorter answers and less context spent on material you did not ask about.

If you installed via Option A, edit these in the extension's settings form instead — same options, no file to find.

Full list of settings: docs/configuration.md


Using it

Just ask. Some things that work well:

  • "What's new in my AI feeds since yesterday?"

  • "Anything worth reading in AI - Research this week?"

  • "How many unread articles do I have, broken down by folder?"

  • "Find me feeds about local LLM inference"

  • "Summarise the top 5 by engagement from the last 8 hours"

You don't need to know folder IDs. Folder names work, and Claude can list them.

Full tool reference: docs/tools.md


Your API quota — please read this

Your daily API quota is small — smaller than Feedly's documentation suggests.

Measured against the live API, a developer token on a paid Pro Plus account reports a ceiling of 50 calls per day, resetting around midnight UTC. Feedly's own docs describe 250 on free and 500 on Pro. Plan for 50.

That is roughly eight conversations a day if the agent is chatty, and the quota is shared with everything else touching your account — including Feedly in your browser, which stops working too if an agent drains it.

So this tool defends the budget on your behalf:

  • Folder and subscription lists are cached on disk for 24 hours.

  • Repeated identical requests within 15 minutes are served from cache.

  • One call fetches a whole folder — never one call per feed.

  • Hard ceilings at 10 calls per session and 40 per day, leaving headroom for you.

  • Every response reports how much quota is left. Below 10, you get a warning.

Check your own ceiling with doctor — it prints the limit your account actually reports. If it says something higher than 50, you can safely raise the budget in configuration.


Marking articles as read

mark_read is permanent. Feedly has no undo, and recovery means emailing their support. So it ships disabled.

To enable single-article marking:

[writes]
enabled = true

To also allow marking an entire folder read in one go — a much bigger blast radius — you must turn on a second switch deliberately:

[writes]
enabled = true
bulk_mark_read = true

Unsubscribing is not implemented at all, on purpose. Do that in Feedly.


Troubleshooting

doctor says the token is missing

The server looks in this order: the FEEDLY_TOKEN environment variable, then the file named by feedly.token_file. Confirm your token reached whichever one you used — a common cause is editing the config file while Claude Desktop passes an empty environment variable that wins over it.

"Token expired" or 401

Free-account tokens last about 30 days. Repeat step 1 and update the token where you stored it. This is expected and will keep happening; it is not a bug.

Claude doesn't see the tools

Quit and reopen Claude Desktop completely — a window restart does not reload MCP servers. Then check your JSON is valid (a trailing comma is the usual culprit), and that node --version reports 20 or higher.

"Rate limit exceeded" (429)

You have used your Feedly quota for the day. It resets on Feedly's schedule; the error message includes the reset time. The server will not retry automatically — retrying would only dig the hole deeper.

"Daily budget exhausted"

Different from the above: this is this tool's ceiling, not Feedly's, and you still have real quota left. Raise budget.daily_calls if you want more.

A folder is "outside configured scope"

scope.include_folders is set and that folder isn't in it. Add it, or clear the list to allow everything.

Cached data looks like it belongs to another account

Clear the cache and try again:

rm -rf ~/.cache/feedly-mcp

Contributing

Issues and pull requests welcome. The design rationale — including which features are deliberately excluded — lives in feedlymcpspec.md. Read it before proposing a feature; if your idea is in the "not in scope" list, that is a decision rather than an oversight, though it is one you are welcome to argue with.

License

MIT

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Persistent context for Claude. Your AI always knows your projects and next actions across sessions.

  • Connect Claude to Fathom meeting recordings, transcripts, and summaries

  • WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fredrsat/feedly-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server