The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the FeedNest listing page.
Your sources. Not the whole web. Ask your AI about your feeds - it already knows.
ChatGPT searches the internet. Perplexity crawls billions of pages. When you ask about your industry, your interests, your world - they give you everything except what matters.
FeedNest is different. Your AI works exclusively with the sources you choose: the blogs you trust, the publications you follow, the experts you believe in. No algorithmic noise. No black-box results. Intelligence grounded in your world.
This MCP server gives any AI assistant - ChatGPT, Codex, Claude, Gemini, Grok, Cursor, Windsurf, Cline, Le Chat, and more - direct access to your feeds, articles, highlights, notes, and tags through natural language.
Just ask. Your AI handles the rest.
https://mcp.feednest.comNo API key needed. ChatGPT handles the OAuth flow automatically.
Include FeedNest as an MCP tool in your API request:
The plugin bundles skills, MCP config, and brand assets in one install. It is not in the Codex plugin directory yet, so install it from this repository: see Local Installation in the Codex plugin README.
Add to ~/.codex/config.toml:
Or via CLI:
FeedNest is listed in Claude's connectors directory.
No API key needed, and the connector follows your Claude account to Claude Desktop and the mobile apps.
To add it by URL instead, add a custom connector in Customize → Connectors with the URL https://mcp.feednest.com and leave OAuth Client ID and Secret empty.
Add -s user for global access across all projects.
The directory connector above already works in Claude Desktop. To configure FeedNest in claude_desktop_config.json instead, which only runs stdio servers, use the mcp-remote bridge:
Config path: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows), or ~/.config/Claude/claude_desktop_config.json (Linux).
Add to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for global):
Tip: Cursor supports env var interpolation:
"Bearer ${env:FEEDNEST_API_KEY}". Do not add a"type"field - Cursor auto-detects from the"url"key.
Available on all plans, including the free tier.
FeedNest, Server URL to https://mcp.feednest.comAPI Token Authentication, Authorization to Bearer fn_live_YOUR_API_KEYAdd to ~/.codeium/windsurf/mcp_config.json:
Important: Windsurf uses
"serverUrl"(not"url"). Using the wrong key causes a silent failure.
In VS Code, open Cline extension settings → MCP Servers configuration (JSON):
Critical: The
"type": "streamableHttp"field is mandatory for Cline. Without it, custom headers may fail silently and authentication won't work.
Add to ~/.gemini/settings.json:
Note: Gemini CLI uses
"httpUrl"(not"url"). The"url"field is reserved for SSE transport. CLI only - gemini.google.com does not support external MCP servers.
Available through the xAI API/SDK only, not from the grok.com chat UI.
Any client supporting Streamable HTTP can connect using:
https://mcp.feednest.comAuthorization: Bearer fn_live_YOUR_API_KEYFor stdio-only clients, use the mcp-remote bridge:
| Tool | Description | Key Parameters |
|---|---|---|
get_articles | List articles with title, source, date, and summary preview. Views: newsfeed, by-feed, by-folder, by-tag, tagged, highlighted, noted. | view*, feed_id, folder_id, tag_id, limit, query, sort, unread_only, date_from, date_to, count_only |
get_article | Get full article content including highlights, notes, and reading time. | article_id* |
extract_article | Fetch full content from the original URL when RSS truncated it. | article_id* |
| Tool | Description | Key Parameters |
|---|---|---|
mark_as_read | Mark an article as read. | article_id* |
mark_as_unread | Mark an article as unread. | article_id* |
mark_all_as_read | Mark all articles as read, optionally filtered by feed or folder. | feed_id, folder_id |
| Tool | Description | Key Parameters |
|---|---|---|
save_article | Save an article for later reading. | article_id* |
unsave_article | Remove an article from saved items. | article_id* |
save_url | Save an external URL for later reading. | url* |
get_saved | List saved articles with search, date filtering, and sorting. | limit, query, sort, date_from, date_to |
| Tool | Description | Key Parameters |
|---|---|---|
get_feeds | List subscribed feeds with unread counts. Search by name. | folder_id, query, limit |
get_folders | List all feed folders with feed counts. | - |
get_tags | List all tags with article counts. | - |
| Tool | Description | Key Parameters |
|---|---|---|
create_tag | Create a new tag for categorizing articles. | name*, color |
delete_tag | Delete a tag by ID. | tag_id* |
tag_article | Add or remove a tag on an article. | article_id*, tag_id*, action* (add/remove) |
| Tool | Description | Key Parameters |
|---|---|---|
get_highlights | Get all text highlights from an article. | article_id* |
add_highlight | Highlight a text passage. The text must exist exactly in the article. | article_id*, text*, color |
remove_highlight | Remove a highlight from an article. | article_id*, highlight_id* |
| Tool | Description | Key Parameters |
|---|---|---|
get_notes | Get the note on an article. | article_id* |
add_note | Add or update a note on an article. | article_id*, content* |
delete_note | Delete a note from an article. | article_id* |
| Tool | Description | Key Parameters |
|---|---|---|
get_recently_read | Get recently opened articles. Supports search and date filtering. | limit, since, date_to, query, sort |
| Tool | Description | Key Parameters |
|---|---|---|
get_output_feeds | List public RSS output feeds created by the user. | - |
text_to_speech is not exposed by the hosted MCP server: it generates audio with
an AI model, which the Claude connectors directory does not allow. Reading articles
aloud stays available in the FeedNest app and through the OpenClaw plugin.
| Tool | Description | Key Parameters |
|---|---|---|
get_stats | Reading streak, articles read today, reading time, total feeds, unread count, saved count. | - |
* = required parameter
Generate a key from Settings → Developer API in the FeedNest dashboard. Keys start with fn_live_ followed by 32 hex characters.
The server supports full OAuth 2.1 with PKCE. Discovery endpoint:
ChatGPT and Claude.ai handle OAuth automatically - no API key needed for those.
Apps that connect with OAuth work on every FeedNest plan. API keys need Pro.
| Free | Plus | Pro | |
|---|---|---|---|
| Read feeds, folders, articles, saved articles, tags, reading history and output feeds | Yes | Yes | Yes |
| An article's highlights | Yes | Yes | Yes |
Notes, the highlighted and noted views, reading statistics | No | Yes | Yes |
| Changes: mark as read, save, tag, highlight, take notes, load an article's full text | No | Yes | Yes |
Date filters (date_from, date_to, since) | No | No | Yes |
| Requests an hour | 20 tool calls | 1,000 | 1,000 |
| API keys | No | No | Yes |
A connected app picks up a plan change at its next token refresh, within an hour, or right away when you reconnect FeedNest.
| Scope | Access |
|---|---|
read | All read-only tools (get_articles, get_feeds, get_stats, etc.) |
write | All mutation tools (mark_as_read, save_article, add_highlight, etc.) |
ai | No MCP tool at the moment (see AI above) |
| Issue | Solution |
|---|---|
| "Bearer token required" | Check that the Authorization header is set correctly |
| "Invalid API key format" | Key must start with fn_live_ followed by 32 hex characters |
| "Invalid or revoked API key" | Regenerate from Settings → Developer API |
| "API access requires a Pro subscription" | API keys need Pro. Upgrade at feednest.com, or connect with OAuth, which works on every plan |
| "...included in FeedNest Plus and Pro" | The account is on the Free plan, where apps can read feeds, articles, saved articles, tags and highlights but not change anything. After upgrading, reconnect FeedNest so the app gets the new plan. See Plans |
| "Filtering by date is included in FeedNest Pro" | Date filters need Pro. Without them, articles still come newest first |
| "...includes 20 requests an hour from AI assistants" | The Free plan's hourly allowance is used up. Try again after the wait the message gives |
| "Rate limit reached" | Wait a few minutes and retry |
| "Insufficient scope" | Your API key doesn't have the required scope |
| Tools not appearing | Restart your AI client after changing MCP configuration |
This repository is a monorepo containing the client libraries and plugins for the FeedNest MCP server.
| Package | npm | Description |
|---|---|---|
@feednest/sdk | TypeScript SDK — typed HTTP client for the FeedNest API v1 | |
@feednest/openclaw | OpenClaw plugin — 26 agent tools for AI assistants | |
| Codex plugin | — | OpenAI Codex plugin — skills + MCP config for Codex agents |
@feednest/shared-tool-defs | private | Shared Zod schemas and text formatters (bundled into the plugin) |
MIT