Read-only MCP server for NetNewsWire
MCPpedia last refreshed this data
Swift Netnewswire MCP is an MCP server that read-only MCP server for NetNewsWire. Its tool list has not been published yet over stdio, requires no API key, and scores 69/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"netnewswire": {
"command": "/path/to/netnewswire-mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A read-only Model Context Protocol (MCP) server for NetNewsWire, the open-source RSS reader for Mac.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in search
Open-source web scraper for AI agents with scrape, crawl, and map tools
MCP server for advanced web search using Tavily
MCP server for enterprise local codebase indexing, semantic search, and code dependency graphs.
The official MCP server implementation for the Perplexity API Platform
MCP Security Weekly
Get CVE alerts and security updates for Swift Netnewswire Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A read-only Model Context Protocol (MCP) server for NetNewsWire, the open-source RSS reader for Mac.
Gives AI assistants like Claude access to your NetNewsWire feeds, articles, and search index.
| Tool | Description |
|---|---|
list_accounts | List available NNW accounts (OnMyMac, iCloud, etc.) |
list_feeds | List subscribed feeds (parsed from OPML) |
list_starred_articles | Starred articles with optional feed filter and limit |
list_recent_articles | Recent articles by arrival date |
get_article | Full article content by ID; optional format (html/text) and max_content_length to bound the body |
search_articles | Full-text search using NNW's FTS4 index |
get_article_count | Total, starred, and unread counts |
All tools are read-only. Nothing is modified. Each tool returns machine-readable
structuredContent (with a declared outputSchema) alongside the human-readable
markdown.
Results are sized to fit comfortably in Claude Code's default tool-output limit:
list tools return at most 100 articles (default 50), and get_article returns at
most 30,000 characters of body (default 20,000).
If NetNewsWire wrote to the account database in the last minute (an iCloud sync or
feed refresh may still be running), the list, search, and count tools add a note to
the markdown and a sync_warning field to the structured output, since the results
may be missing rows that are still arriving.
Your NetNewsWire databases hold your private reading history: subscriptions, articles, and what you've starred and read. This server runs locally and never makes network requests itself, but everything a tool returns is passed to the MCP client you connect it to, and from there to that client's AI model. Only connect it to clients you trust with that data.
swift build -c release
The binary will be at .build/release/netnewswire-mcp.
swift test # no NetNewsWire install needed
swift test --enable-code-coverage # ~98% line coverage
Tests run against a fixture database that mirrors NetNewsWire's schema, and drive
the real server over the MCP SDK's in-memory transport (initialize handshake,
tool listing, and a check that every tool's structuredContent matches its
declared outputSchema). If NetNewsWire is installed and the terminal has Full
Disk Access, one extra test validates the queries against your live database.
Install it as a plugin. This repo is its own plugin marketplace:
claude plugin marketplace add jonathanspiva/swift-netnewswire-mcp
claude plugin install netnewswire@netnewswire-mcp
No Swift toolchain is needed. On first launch the plugin downloads the universal
binary from the matching GitHub release, checks it against a SHA-256 pinned in
plugin/launch.sh, and caches it in the plugin's data
directory (~/.claude/plugins/data/). Its tools appear as
mcp__plugin_netnewswire_netnewswire__*. If you previously added the server with
claude mcp add, remove that one (claude mcp remove netnewswire) so