<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Miles Ford</title>
    <description>The latest articles on DEV Community by Miles Ford (@gomilesf).</description>
    <link>https://dev.to/gomilesf</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4014629%2F2b681808-9ffc-4f70-bfd6-5fb2187d22c1.png</url>
      <title>DEV Community: Miles Ford</title>
      <link>https://dev.to/gomilesf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gomilesf"/>
    <language>en</language>
    <item>
      <title>I killed my in-app AI chat, made the agent a first-class user, and made every move it makes auditable</title>
      <dc:creator>Miles Ford</dc:creator>
      <pubDate>Mon, 07 Sep 2026 06:32:56 +0000</pubDate>
      <link>https://dev.to/gomilesf/i-killed-my-in-app-ai-chat-made-the-agent-a-first-class-user-and-made-every-move-it-makes-l7g</link>
      <guid>https://dev.to/gomilesf/i-killed-my-in-app-ai-chat-made-the-agent-a-first-class-user-and-made-every-move-it-makes-l7g</guid>
      <description>&lt;p&gt;&lt;strong&gt;Disclosure: I build &lt;a href="https://sensefold.app" rel="noopener noreferrer"&gt;Sensefold&lt;/a&gt;.&lt;/strong&gt; It captures what you run into during the day (articles, X and Reddit threads, YouTube videos with transcripts, PDFs, screenshots, images, and ChatGPT, Claude, Gemini, and Grok conversations) and makes them available to you and whatever AI you use. This post covers why I deleted my own chat feature and what building the replacement forced me to get right.&lt;/p&gt;

&lt;h2&gt;
  
  
  I had a chat box. I removed it.
&lt;/h2&gt;

&lt;p&gt;The first version of the product had the standard feature every "AI knowledge" app has: a chat box over your saved items. Ask a question, get an answer citing the sources it used. It worked. People used it briefly, then went back to ChatGPT or Claude and pasted things in by hand.&lt;/p&gt;

&lt;p&gt;The pattern was obvious once I looked: nobody wanted another chat. People already had one, sometimes three, complete with memory, history, and established habits. What they wanted was for &lt;em&gt;that&lt;/em&gt; chat to know what they had read, watched, saved, and said last week.&lt;/p&gt;

&lt;p&gt;So I deleted the chat and replaced it with a remote MCP server. Paste one URL into Claude, ChatGPT, Claude Code, Codex, or Cursor, sign in, and the agent you already use can search and read your library, and write back to it if permitted. The product stopped being a place you go and became something your agents carry with them.&lt;/p&gt;

&lt;p&gt;That shift changes who the user is. In the chat-box version, the human was the only actor, and the AI was just a feature. In the MCP version, the agent is an actor in its own right, running in its own session and operating on your data while you are not looking. That raised the question that shaped everything that followed: &lt;strong&gt;when the agent did something at 2 a.m., how do I know, and how do I undo it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The answer I landed on has two parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The agent is a first-class user.&lt;/strong&gt; It gets its own identity, its own permissions, and its own row in the audit log. It is never "the human, but through an API key".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Everything it does is auditable and reversible.&lt;/strong&gt; If a human cannot see it and undo it, the agent is not allowed to do it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is what that meant in practice.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Identity: one connection, one principal
&lt;/h2&gt;

&lt;p&gt;The lazy way to let an agent into a product is to hand it the user's API key. That works, but it breaks two things at once: you cannot revoke one agent without revoking all of them, and your logs cannot distinguish an agent's writes from a human's.&lt;/p&gt;

&lt;p&gt;So every agent connection is its own principal. For clients that can open a browser (Claude, ChatGPT, Claude Code, Codex, Cursor), that means OAuth 2.1 with PKCE and dynamic client registration. The user pastes one URL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.sensefold.app/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The client discovers the authorization server, registers itself, and opens a browser. The user approves access &lt;em&gt;and picks a permission tier&lt;/em&gt; on the consent screen. Each approval becomes its own connection row in user settings. Reconnecting the same client revokes the previous row rather than stacking a duplicate. Revoked rows stay visible as history and grant nothing.&lt;/p&gt;

&lt;p&gt;Headless and CI clients that cannot open a browser get an Agent key instead: created with a specific tier, shown once, and independently revocable and rotatable. Same principle, different transport.&lt;/p&gt;

&lt;p&gt;The point is not the OAuth spec. The point is that "which agent did this" is a question the database can answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Permissions: shape the tool list, then check anyway
&lt;/h2&gt;

&lt;p&gt;MCP has a useful property here: the server decides which tools a client can even see. I use that as the first layer of least privilege across three tiers:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;th&gt;Tools the client sees&lt;/th&gt;
&lt;th&gt;What it adds&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;read_only&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;search, list, read one item, check quota (plus &lt;code&gt;search&lt;/code&gt;/&lt;code&gt;fetch&lt;/code&gt; aliases for ChatGPT)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;edit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;save a link, save a note, update a note's text, replace tags&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;full&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;move an item to the recycle bin&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A read-only connection cannot call &lt;code&gt;update_note&lt;/code&gt; because the tool is omitted from &lt;code&gt;tools/list&lt;/code&gt;. But filtering the list is only the visible half. The server still validates every call against the connection's tier, because a client can send any method name it likes. If it tries an unpermitted method, it gets a tier-denied error rather than a silent no-op.&lt;/p&gt;

&lt;p&gt;Two details turned out to matter more than the tiers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Read tools carry &lt;code&gt;readOnlyHint&lt;/code&gt;.&lt;/strong&gt; Claude Code and similar clients use MCP tool annotations to decide when to prompt the user. Marking search and read tools as read-only means the agent can look things up without a confirmation dialog every time, saving the human's attention for writes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recommend the lowest tier by default.&lt;/strong&gt; The setup guide the agent reads says: start with &lt;code&gt;read_only&lt;/code&gt; unless the user explicitly needs writes. Most sessions never need more.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Audit: who, what, diff, undo
&lt;/h2&gt;

&lt;p&gt;This is the part people skip, but it is what makes the first half honest.&lt;/p&gt;

&lt;p&gt;Every write an agent makes creates a revision. Each item in the library has a History drawer that lists every change, &lt;strong&gt;who made it&lt;/strong&gt; (the human, or which named agent connection), and a field-level diff. There is a Revert button. Account-wide, the same feed powers an Activity page, so "what did my agents do this week" is answered on one screen instead of with a database query.&lt;/p&gt;

&lt;p&gt;Deletes are soft. The &lt;code&gt;delete_item&lt;/code&gt; tool moves an item to the recycle bin where a human can restore it, and no tool deletes permanently. An agent that goes wrong can make a mess, but it cannot make an irreversible one.&lt;/p&gt;

&lt;p&gt;One rule came out of this that I would apply to any agent-writable system: &lt;strong&gt;no write path without a human-visible undo.&lt;/strong&gt; If you cannot show the diff and offer Revert, do not ship the tool yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The boring part that keeps the audit log truthful
&lt;/h2&gt;

&lt;p&gt;An audit log is only useful if it reflects what actually happened, and two ordinary failure modes corrupt it: retries and races.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Retries.&lt;/strong&gt; Agents retry. Networks flake, clients time out, or the model decides to "try again". If &lt;code&gt;save_note&lt;/code&gt; and &lt;code&gt;save_link&lt;/code&gt; are not idempotent, one intended note becomes three, and the log dutifully records three writes. The protocol contract fixes this: the client generates a UUID &lt;em&gt;before&lt;/em&gt; the first attempt and reuses it on every retry. Submitting the same UUID with different content is rejected as an idempotency mismatch rather than silently accepted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Races.&lt;/strong&gt; Two agents, or an agent and a human, editing the same note concurrently. &lt;code&gt;update_note&lt;/code&gt;, &lt;code&gt;update_tags&lt;/code&gt;, and &lt;code&gt;delete_item&lt;/code&gt; all require an &lt;code&gt;expectedVersion&lt;/code&gt; taken from a fresh read. If the item moved on, the call fails with &lt;code&gt;VERSION_CONFLICT&lt;/code&gt;, and the agent's instructions say: re-read, retry once, then stop. Nobody silently overwrites anybody, and the revision history stays linear enough to remain human-readable.&lt;/p&gt;

&lt;p&gt;Neither pattern is novel. Both make the difference between "there is an audit log" and "the audit log is true".&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Don't touch what the human wrote
&lt;/h2&gt;

&lt;p&gt;Sensefold enriches captures automatically: a saved article gets a summary and tags, a YouTube video gets its transcript and a chapter guide, and an image or PDF gets OCR. Notes the user wrote directly are indexed, but never rewritten by that pipeline. I extended the same rule to agents in the runtime instructions the server sends them: never rewrite a user's note unless explicitly asked. That part is guidance the agent reads, not a server-side check; the server-side guarantee is the revision history and Revert underneath it. An agent with &lt;code&gt;edit&lt;/code&gt; access &lt;em&gt;can&lt;/em&gt; change a note, and the user can revert it, but the default posture is that the human's words are ground truth and the agent builds around them.&lt;/p&gt;

&lt;p&gt;This sounds like a product opinion, and it is, but it is also a safety property: the thing most likely to be wrong in your library is what an AI wrote, and the thing you most need to trust is what you wrote yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd tell anyone building an MCP server that writes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Give each agent connection its own identity. Never share the user's credential.&lt;/li&gt;
&lt;li&gt;Put the permission choice on the consent screen, and default to read-only.&lt;/li&gt;
&lt;li&gt;Shape &lt;code&gt;tools/list&lt;/code&gt; by permission, then enforce on every call anyway.&lt;/li&gt;
&lt;li&gt;Version every write. Show who made the change, show the diff, and offer undo. Soft-delete only.&lt;/li&gt;
&lt;li&gt;Make saves idempotent and updates version-checked, or your audit log will lie.&lt;/li&gt;
&lt;li&gt;State the rules clearly in tool descriptions and server instructions. Agents read them; that is the cheapest guardrail you have.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of this required anything exotic. It required deciding that the agent is a user, and that users get accountability, not just access.&lt;/p&gt;

&lt;p&gt;The scope of what flows through this keeps growing. Today it is web pages, social threads, YouTube videos with transcripts, PDFs, images, your own notes, and your AI conversations; TikTok and Douyin capture are on the roadmap, not shipped. Every new source is one more thing an agent can act on without you watching, which is why the identity and audit half had to come first.&lt;/p&gt;

&lt;p&gt;If you want to try the real thing, setup for Claude, ChatGPT, Claude Code, Codex, and Cursor is on &lt;a href="https://sensefold.app/for-agents" rel="noopener noreferrer"&gt;sensefold.app/for-agents&lt;/a&gt;, the tool schemas and error codes are in the &lt;a href="https://sensefold.app/docs/mcp-tools/" rel="noopener noreferrer"&gt;MCP tools reference&lt;/a&gt;, and the permission and undo model is written up in &lt;a href="https://sensefold.app/docs/connect/permissions/" rel="noopener noreferrer"&gt;agent permissions&lt;/a&gt;. I'd genuinely like to hear how other developers handle agent writes, especially anyone who found a case where soft-delete and revert weren't enough.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>webdev</category>
      <category>security</category>
    </item>
    <item>
      <title>I tested 9 read-it-later apps in 2026 (after Pocket died)</title>
      <dc:creator>Miles Ford</dc:creator>
      <pubDate>Sat, 04 Jul 2026 07:45:06 +0000</pubDate>
      <link>https://dev.to/gomilesf/i-tested-9-read-it-later-apps-in-2026-after-pocket-died-3fg9</link>
      <guid>https://dev.to/gomilesf/i-tested-9-read-it-later-apps-in-2026-after-pocket-died-3fg9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Disclosure up front: I build &lt;a href="https://sensefold.app" rel="noopener noreferrer"&gt;Sensefold&lt;/a&gt;, one of the apps below.&lt;/strong&gt; I'll try to be more useful than a marketing page, including telling you when a competitor is the better choice.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;September 2026 update.&lt;/strong&gt; This post first went up in July under the product's old name, Lexi. Since then the product became Sensefold, the pricing changed, the Chrome extension and Mac app shipped, and the "ask questions across your library" feature I described was removed in favour of something I now think matters more: letting the AI you already use read the library over MCP. I've rewritten the Sensefold parts, re-checked every competitor's pricing on September 3, 2026, and added one column to the table that wasn't on my radar in July.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why this list exists
&lt;/h2&gt;

&lt;p&gt;Mozilla shut down Pocket on July 8, 2025, and the export-only window closed that November. Omnivore, the open-source darling, went down even earlier, after ElevenLabs hired the team and gave users two weeks to export. Two of the most-recommended apps in the category vanished within a year.&lt;/p&gt;

&lt;p&gt;That reshuffled everything. Most "best read-it-later" articles you'll find still recommend dead software. So I spent time with every active option, as someone who both builds in this space and has a 2,000-item saved-links graveyard of my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question I didn't ask in July
&lt;/h2&gt;

&lt;p&gt;In July I judged these apps on capture, reading, and whether their built-in AI was any good. Two months later the question I actually care about is different: &lt;strong&gt;can the AI I already use, Claude, ChatGPT, Cursor, read what I saved?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every app now has an "AI" bullet. Almost all of it lives inside the app: a summary button, a per-article chat, a Q&amp;amp;A box over your library. That's fine until you're in Claude Code trying to remember the argument from a thread you saved three weeks ago, and the only way to get it there is copy-paste. So the new column in the table is "your own AI can read it", meaning an MCP server or equivalent, not a chat box inside the product.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;App&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Price (checked Sep 2026)&lt;/th&gt;
&lt;th&gt;Built-in AI&lt;/th&gt;
&lt;th&gt;Your own AI can read it?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Readwise Reader&lt;/td&gt;
&lt;td&gt;Power readers, heavy highlighters&lt;/td&gt;
&lt;td&gt;$9.99/mo billed annually or $12.99 month-to-month, no free tier&lt;/td&gt;
&lt;td&gt;Ghostreader, per document&lt;/td&gt;
&lt;td&gt;Not verified; highlights export to Obsidian/Notion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Matter&lt;/td&gt;
&lt;td&gt;Reading + listening on iPhone&lt;/td&gt;
&lt;td&gt;free tier; Premium $8/mo or $60/yr&lt;/td&gt;
&lt;td&gt;Co-Reader, per article&lt;/td&gt;
&lt;td&gt;Not verified&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Instapaper&lt;/td&gt;
&lt;td&gt;Calm, minimal article reading&lt;/td&gt;
&lt;td&gt;free tier; Premium $5.99/mo or $59.99/yr&lt;/td&gt;
&lt;td&gt;Summaries (5/mo free), TTS&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raindrop.io&lt;/td&gt;
&lt;td&gt;Visual bookmark organization&lt;/td&gt;
&lt;td&gt;generous free; Pro ~$28/yr&lt;/td&gt;
&lt;td&gt;AI tag suggestions; Stella chat (beta, Pro)&lt;/td&gt;
&lt;td&gt;Yes, Raindrop has an MCP server with read and write tools&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GoodLinks&lt;/td&gt;
&lt;td&gt;Apple-only, one-time purchase&lt;/td&gt;
&lt;td&gt;$9.99 once + optional yearly pass&lt;/td&gt;
&lt;td&gt;Minimal (BYO API key)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cubox&lt;/td&gt;
&lt;td&gt;AI reading across platforms&lt;/td&gt;
&lt;td&gt;Pro $29/yr; Pro+AI $49/yr&lt;/td&gt;
&lt;td&gt;Summaries + AI assistant (Pro+AI)&lt;/td&gt;
&lt;td&gt;Not verified&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;wallabag&lt;/td&gt;
&lt;td&gt;Self-hosters, data ownership&lt;/td&gt;
&lt;td&gt;self-host free; ~€11/yr hosted&lt;/td&gt;
&lt;td&gt;None, by design&lt;/td&gt;
&lt;td&gt;No MCP, but full export and a REST API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Omnivore&lt;/td&gt;
&lt;td&gt;⚰️ self-host only now&lt;/td&gt;
&lt;td&gt;free (AGPL) + your server&lt;/td&gt;
&lt;td&gt;Orphaned&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sensefold (mine)&lt;/td&gt;
&lt;td&gt;One library every AI you use can read and write&lt;/td&gt;
&lt;td&gt;Starter $16/mo or $13.33/mo billed annually; 14-day trial, no free tier&lt;/td&gt;
&lt;td&gt;Summaries, tags, OCR, transcripts on save&lt;/td&gt;
&lt;td&gt;Yes: remote MCP server, OAuth, read/edit/full tiers&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The quick takes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Readwise Reader&lt;/strong&gt; is the best power tool in the category, full stop. If your workflow is read → highlight → export to Obsidian/Notion → spaced repetition, nothing else comes close. The trade-offs: no free tier (30-day trial, then $9.99/mo billed annually), and it can feel like operating heavy machinery when you just want to stash a link.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Matter&lt;/strong&gt; has the most polished reading experience on iOS and genuinely great text-to-speech. Its Co-Reader answers questions about the article you're reading, per article only. No Android app.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instapaper&lt;/strong&gt; is the cockroach of this category, in the most complimentary sense: it has survived every platform shift since 2008 and keeps shipping. The free tier is real. Full-text search and PDFs are paywalled.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Raindrop.io&lt;/strong&gt; is what most people actually need if "read it later" really means "stop losing links." Collections, tags, apps everywhere, Pro around $28/year. It also quietly did the thing I'm arguing for: Raindrop ships an MCP server, so Claude or Cursor can search your bookmarks. What it doesn't do is capture the content: it's the link and your tags, not the article text, the thread, or the transcript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GoodLinks&lt;/strong&gt; is the best value on Apple platforms: $9.99 once, no account, no subscription treadmill, articles saved offline to iCloud, deep Shortcuts support. Apple-only, articles-only, no AI unless you bring your own API key.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cubox&lt;/strong&gt; is genuinely good: cross-platform, auto-summaries, and an AI assistant over your saved library. The honest caveat: the AI sits in the $49/year Pro+AI tier, and it stays inside Cubox.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;wallabag&lt;/strong&gt; deserves more respect than it gets. MIT-licensed, self-hostable, survived a decade while VC-backed competitors died, hosted version about €11/year. Web articles only, no PDFs, no OCR, no AI, but nothing else in this list gives you the same data ownership. After watching Pocket and Omnivore die, that argument writes itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Omnivore&lt;/strong&gt; is the cautionary tale. The code is still on GitHub and technically self-hostable, but development is maintenance-only, the mobile apps must be built from source, and the stack is heavy. I'd only recommend it to people who enjoy running infrastructure as a hobby.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sensefold&lt;/strong&gt; is mine, so calibrate accordingly. Here's what changed since July and why.&lt;/p&gt;

&lt;p&gt;The July version had a chat box over your library, with answers citing the saved items. I removed it. Not because it didn't work, but because the people I talked to already had a chat they preferred, and it wasn't mine. What they wanted was for &lt;em&gt;that&lt;/em&gt; chat to know what they'd saved.&lt;/p&gt;

&lt;p&gt;So Sensefold is now a personal context: the articles, X and Reddit threads, YouTube pages with transcripts, PDFs, your own notes, and the ChatGPT/Claude/Gemini/Grok conversations you capture, all stored as Markdown, enriched with a summary, tags, and OCR on save, and exposed through a remote MCP server at &lt;code&gt;https://api.sensefold.app/mcp&lt;/code&gt;. You paste that address into Claude, ChatGPT, Claude Code, Codex, or Cursor, sign in once in the browser, and pick a tier: read-only, edit, or full. With edit access an agent can also write a note back, and every agent write is versioned so you can revert it. The setup is documented at &lt;a href="https://sensefold.app/for-agents" rel="noopener noreferrer"&gt;sensefold.app/for-agents&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The other thing I got wrong in July was the roadmap. The Chrome extension and the Mac app have both shipped since, and the extension is now the main way in: one click on a ChatGPT or Claude conversation saves it with each turn labelled by speaker, which turned out to be the capture I use most.&lt;/p&gt;

&lt;p&gt;Pricing changed too, and not in the direction people like: there is no free tier any more. Saving is free, AI processing runs on monthly credits, and Starter is $16/month or $13.33/month billed annually after a 14-day trial. If you only want a reading queue, Instapaper or Raindrop will serve you better and cheaper. Sensefold makes sense when you're already paying for two or three AI tools and want them to share one memory that you own and can export as a Markdown ZIP.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned building in this category
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;"AI inside the app" is the wrong place for it.&lt;/strong&gt; Every app now has an AI button. The question worth asking is whether the AI you actually work in can reach your library. As of September 2026 only Raindrop and Sensefold answer yes with an MCP server; the rest keep the AI, and your data, inside their walls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The hosted-vs-self-hosted trade is real and personal.&lt;/strong&gt; Pocket users lost their archives. wallabag users didn't. But self-hosting has its own failure mode: the weekend your Postgres volume fills up. Pick which risk you'd rather own. Whatever you pick, make sure the thing exports as plain files.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Nobody needs 10 apps, match the tool to the job.&lt;/strong&gt; Calm reading → Instapaper or Matter. Highlight-and-export workflows → Readwise Reader. Link organization → Raindrop. Data ownership → wallabag. One library your AIs can read and write → Sensefold.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I've written up the head-to-head trade-offs in more detail: &lt;a href="https://sensefold.app/compare/sensefold-vs-pocket" rel="noopener noreferrer"&gt;Sensefold vs Pocket&lt;/a&gt;, &lt;a href="https://sensefold.app/compare/sensefold-vs-readwise" rel="noopener noreferrer"&gt;vs Readwise Reader&lt;/a&gt;, and &lt;a href="https://sensefold.app/compare/sensefold-vs-raindrop" rel="noopener noreferrer"&gt;vs Raindrop&lt;/a&gt;, and the full nine-app comparison with methodology lives on the &lt;a href="https://sensefold.app/blog/best-read-it-later-app" rel="noopener noreferrer"&gt;Sensefold blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you've got a read-later graveyard story from the Pocket/Omnivore shutdowns, or a setup that actually works, I'd genuinely like to hear it in the comments. I read all of them.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>ai</category>
      <category>tooling</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
