Socialmemory
Blog

X Bookmarks MCP: Connect Saved Posts to Codex and Claude Code

MCP gives AI tools a standard way to reach external context. For saved X posts, that means bookmarks and likes can become searchable memory for agents instead of staying trapped in the scroll.

Written and reviewed by socialmemory for X saved-post workflows, web library search, and Agent Access with Codex and Claude Code.

Diagram showing Codex and Claude Code connecting through MCP to a private socialmemory archive of saved X posts.

Quick answer

  • An X bookmarks MCP is a connector that lets an AI tool search or use saved X posts through the Model Context Protocol.
  • MCP stands for Model Context Protocol. "Model" means the AI model. "Context" means outside information the AI needs in order to help you. "Protocol" means an agreed way for two pieces of software to talk. In this case, MCP is the agreed connection format between an AI app such as Codex or Claude Code and a tool or data source such as a saved-post library.
  • socialmemory Agent Access currently focuses on Codex and Claude Code. Cursor belongs in the broader discussion because Cursor supports MCP, but it should be described as an MCP-compatible adjacent direction unless a first-class socialmemory Cursor setup has been shipped and tested.

What is an X bookmarks MCP?

An X bookmarks MCP is a way for an AI agent to reach a saved-X archive through MCP. The archive can contain X bookmarks, liked posts, post text, author information, source links, media metadata, notes, tags, favorites, sync history, and result sets. The agent does not become X. It gets a narrow set of tools for asking useful questions about the saved posts you already chose to keep.

Mental model:

  • X is where you discover and save posts.
  • socialmemory is the private library where those saved posts are synced and organized.
  • MCP is the local connection layer that lets an agent search that library.
  • Codex or Claude Code is the place where you ask the agent to use the memory while doing real work.

Model, context, and protocol in plain language

The phrase Model Context Protocol can sound more abstract than it is.

"Model" is the AI system that writes, reasons, or plans. In this article, that usually means the model inside Codex, Claude Code, Claude, or another agent app.

"Context" is the extra information the model needs. A model can answer general questions from its training, but it does not automatically know your saved X posts, your project notes, your favorite design examples, or the libraries you bookmarked last month. That outside information is context.

"Protocol" literally means a set of rules. In software, a protocol is an agreed format for communication. MCP gives AI apps a common way to ask external tools for information or actions.

So an X bookmarks MCP means an AI app can ask a saved-X connector for relevant posts using a shared tool format.

Client, server, and tool in plain language

MCP has a few technical words that are worth defining before they become confusing.

The client is the app where the agent runs. Codex, Claude Code, Claude Desktop, and Cursor can be MCP clients in the right context. "Client" just means the software asking for something.

The server is the connector that exposes actions. In socialmemory's case, the public package is @popoastier/socialmemory-mcp, a local MCP connector for saved X likes and bookmarks. "Server" does not always mean a big cloud machine. A local MCP server can run on your own computer and talk to the client through a controlled channel.

A tool is one action the server offers. Examples include searching saved X posts, reading one saved post, checking sync status, adding a note, merging tags, or creating a result-set link.

This split matters because a good MCP setup exposes specific tools with clear names and narrow jobs.

Why saved X posts are strong context for agents

Developers, designers, founders, writers, and researchers save X posts for many reasons: a library recommendation, a sharp product opinion, a UI screenshot, a pricing thread, a startup lesson, a bug fix, a launch checklist, a prompt idea, or a person worth following.

Those saves are not random. A bookmark usually means "I may need this later." A like can be softer, but it can still mark interest, agreement, taste, curiosity, or a future reference. Together, bookmarks and likes become a personal trail of what you noticed.

Your saved posts are already filtered by taste

Generic web search starts broad. Your saved X memory starts narrow. It contains things that already passed through your attention. That makes it especially useful for agents, because the agent can search inside your taste and history instead of searching the whole public web from scratch.

For example, "Search my saved X posts for onboarding examples, then suggest patterns that fit this app" is more personal than asking for generic onboarding advice.

Retrieval is the real problem

Retrieval means getting the right thing back later. Saving is easy. Retrieval is hard.

You may remember that you saved a post about a SQLite library, but not the author's name. You may remember a landing-page teardown, but not the exact phrase in the post. You may remember saving several posts about "AI agents with memory," but not whether you liked them, bookmarked them, or saw them inside a thread.

Native X search can help when you remember exact words, an author, or a time period. A saved-X library helps when you remember the idea but not the exact post. MCP matters when an agent should do that search during work.

What a saved-X MCP should let an agent do

A saved-X MCP should be useful without being dangerously broad. The goal is not to give an agent unlimited control over your X account. The goal is to let the agent search and use your private saved-post archive.

Agent actionWhy it is usefulGuardrail
Search saved X likes and bookmarksFinds relevant posts for a task without manual scrollingDefault to read-only search
Read one saved postLets the agent inspect the exact item before using itReturn only the item requested
Check sync statusHelps the agent know whether the archive is freshMake freshness visible before relying on results
Add a noteLets the user or agent attach context to a saved postAppend notes instead of overwriting existing notes
Merge tagsKeeps organization additive and recoverableAdd tags without deleting prior tags
Create a result-set linkLets the user open the exact posts the agent foundLink to the selected result set, not the whole archive
Run a recent syncRefreshes the archive from the local browser sessionTreat full resync as an advanced recovery action
Add arbitrary new saved itemsUsually not core to the jobAvoid making the connector a general write-anything tool

The useful pattern is search first, inspect second, then optionally annotate or organize. Most saved-post workflows do not need broad X account control.

How socialmemory Agent Access works today

Socialmemory starts with X likes and bookmarks. The product has three important surfaces, and each one has a different job.

Chrome extension sync is the primary consumer sync path. It collects saved X items from the local browser session and fills the private archive.

The web library is the normal place to browse, search, filter, inspect, organize, tag, and annotate saved X memory. If you just want to find a post yourself, the web library should still feel complete without an agent.

Agent Access is the power layer. It lets local agent apps such as Codex and Claude Code search and use saved X memory while you work.

Codex setup command context

The normal Codex setup path is one copied setup prompt from Agent Access. The verified command shape is:

npx -y --package @popoastier/socialmemory-mcp@latest socialmemory setup codex --base-url https://socialmemory.dev

In plain language:

  • npx runs a package from npm without making you manually install it first.
  • @popoastier/socialmemory-mcp@latest is the public socialmemory MCP package.
  • socialmemory setup codex tells the package to configure Codex.
  • --base-url https://socialmemory.dev points the connector at the production socialmemory app.

The setup flow should install the bundled Codex plugin and MCP server config, open browser-approved login, store the credential privately, run setup checks, and show status. A credential is a private proof that the connector is allowed to access your socialmemory account. It should not be pasted into chat.

The setup check matters. A successful setup is not only "the browser opened." It should also prove that server access works and the archive status can be checked.

Claude Code setup context

Claude Code has its own MCP setup path. The socialmemory web app should provide a separate setup prompt for Claude Code, using Claude Code's MCP command format plus browser-approved socialmemory login.

The article should not imply the Codex command is also the Claude Code command. The practical copy can say: Codex has a one-command setup path, and Claude Code has a separate generated setup path in Agent Access.

Chrome extension sync and agent sync should agree

Agent Access should not create a second, lower-quality archive. Chrome extension sync and agent sync should produce the same saved-post quality over time.

Normal refresh should be incremental. A full resync should be treated as an advanced recovery action, not the everyday "Sync Now" behavior.

Codex, Claude Code, Claude, and Cursor: what to say accurately

MCP is now part of a broader agent ecosystem, so the article should name the tools readers are likely searching for. The wording needs to separate "the client supports MCP" from "socialmemory has a verified first-class setup for that client."

ToolHow to describe it in this articleCurrent socialmemory wording
CodexA coding agent surface where MCP can give tools and context to the agentCurrent first Agent Access target
Claude CodeA local coding-agent surface with MCP supportCurrent first Agent Access target
Claude / Claude DesktopPart of the broader MCP ecosystem and useful context for readers learning MCPMention as ecosystem context unless a specific socialmemory setup is verified
CursorMCP-compatible editor/agent direction that developers will search forAdjacent direction; do not claim first-class socialmemory support unless tested
Generic MCP clientsAny app that can connect to compatible MCP serversPossible future direction, not a promise that every client works today

This distinction protects trust. A reader searching for "Cursor MCP bookmarks" should learn why the idea makes sense, but the article should not pretend socialmemory has a polished Cursor onboarding path until that is real.

Practical workflows for saved X posts through MCP

The strongest use cases are not abstract. They happen when an agent is already helping with work and needs your saved context.

Project kickoff research

Before starting a new project, ask the agent to search saved posts for the domain, technology, or product pattern.

Example prompt:

> Search my saved X posts for anything about onboarding, activation, and first-run UX. Group the results into patterns, examples, warnings, and posts worth opening.

That gives the agent a personal research pack before it starts making suggestions. For a coding project, Codex can combine the repo context with the saved-post context. For Claude Code, the same idea applies inside a local development workflow.

Code and library recall

Builders often save posts about libraries, framework patterns, command-line tools, database tips, browser APIs, or debugging threads.

Example prompt:

> Search saved X posts for SQLite, local-first, and sync libraries. Return the posts that look relevant to this app, then explain which ones are worth reading first.

The agent should retrieve candidates, summarize why each may matter, and let you decide.

Design and product swipe files

Saved X posts often contain screenshots, landing pages, app flows, teardown threads, and product positioning ideas. An MCP search can turn that into a working swipe file.

Example prompt:

> Find saved posts about pricing pages and explain the repeated patterns. Create a result-set link with the strongest examples.

That result-set link lets the human inspect the same source material.

Launch, pricing, and strategy research

Founders often save advice that is hard to categorize in the moment: launch stories, pricing experiments, positioning examples, growth loops, hiring lessons, and investor notes.

Example prompt:

> Search my saved X posts for launch advice, waitlists, and founder-led distribution. Pull out concrete tactics, then separate strong examples from vague advice.

That last instruction tells the agent not to treat every saved post as equally true.

Security and privacy guardrails

MCP is powerful because it connects agents to real tools and data. That is also why the connector should be narrow and clear.

Least privilege in plain language

"Least privilege" means giving software only the access it needs for the job. If the job is searching saved posts, the connector should not need broad permissions to modify unrelated data.

For saved X memory, a safe default is read-first:

  • Search saved posts.
  • Read selected posts.
  • Check status.
  • Create a result-set link.
  • Ask before notes, tags, sync, or anything that changes state.

Least privilege also reduces damage if something goes wrong. A narrow connector is easier to reason about than a tool that can do everything.

Credentials and tokens should stay out of chat

A token is a secret text key that proves access. A credential is the broader private access proof stored by the setup flow. The important rule is simple: do not paste secrets into normal agent chat.

The socialmemory setup should prefer browser-approved login and local credential storage. On macOS, the CLI can store the credential in Keychain. Keychain is Apple's private credential storage system. If a visible raw token exists, it should remain an advanced fallback, not the normal consumer setup path.

Good article wording:

  • "The setup flow stores the credential privately."
  • "Do not paste tokens into chat."
  • "Use the raw-token setup only as an advanced fallback."

Risky article wording:

  • "Copy your token into Codex."
  • "Paste this secret into Claude."
  • "Give the agent full access to your X account."

Sync should check the local browser session first

Socialmemory sync depends on the local X/browser session when collecting saved posts from the user's machine. A good setup check should confirm that the browser is signed into X and readable before starting sync work. That prevents misleading failed sync records caused by a local browser problem.

This is especially important for first sync. The first sync should be full, newest-first, and progressive so the library can fill over time. After that, normal sync should be incremental.

MCP vs API vs browser extension vs web library

MCP is not the same thing as an API, a browser extension, or a web app. They can work together, but each has a different role.

LayerPlain meaningsocialmemory jobWhat not to claim
Browser extensionA small browser add-on that can work with the signed-in browser sessionPrimary consumer sync path for X likes and bookmarksDo not call it Agent Access
Web libraryThe normal website UI for humansBrowse, search, filter, inspect, tag, note, and organize saved postsDo not imply agents are required for basic search
APIA data/service interface software can callBackend access to saved archive actionsDo not make the fallback API more powerful than MCP
MCP serverThe agent-facing connector that exposes toolsLet Codex and Claude Code search and use saved X memoryDo not imply MCP controls the client's visual UI
MCP clientThe AI app that calls MCP toolsCodex and Claude Code today; broader clients as ecosystem contextDo not imply every MCP client is tested

One useful boundary: API controls the data interface, MCP controls the agent tool interface, and the client UI controls what the user sees. An MCP server can return structured data, but it cannot force every client to render rich cards or custom visual components.

When MCP is not the first step

MCP is not always necessary.

If you need one saved post and you remember exact words, start with X search or the socialmemory web library.

MCP matters when the saved posts should shape a larger task:

  • "Before editing this onboarding page, find my saved posts about onboarding."
  • "Before choosing a vector database, find saved posts about embeddings and search."
  • "Before writing this launch post, find saved posts about launches in this market."
  • "Before building this agent feature, find saved posts about tool calling, MCP, and memory."

The agent is useful when retrieval is part of a workflow, not when you simply want to click around.

Troubleshooting an X bookmarks MCP setup

If an X bookmarks MCP setup does not work, separate the problem into small checks.

First, check whether the connector is installed in the agent app. In Codex, the setup command should install the bundled plugin and MCP server config. In Claude Code, the generated command should add the MCP server to the correct Claude Code scope.

Second, check whether login succeeded. Browser approval alone is not enough. The CLI should be able to show status afterward.

Third, check whether the server can reach socialmemory. If server access fails, the problem may be authentication, network access, the base URL, or account state.

Fourth, check whether the local browser is signed into X when sync is needed. Search can work against an existing archive even if the current browser session cannot sync new posts. Sync needs the browser side to be readable.

Fifth, check freshness before assuming the connector is broken.

Useful checks to describe in the article:

  • socialmemory status shows archive and credential status.
  • socialmemory doctor checks the local setup.
  • get_socialmemory_status is the agent tool that should prove the archive is reachable inside an MCP session.

Avoid printing secrets while troubleshooting. A setup log can say where a credential is stored without revealing it.

The bigger direction: personal memory MCPs

X bookmarks are one practical starting point for a larger idea: personal memory that agents can use during work.

Agents become more useful when they can retrieve the right personal context at the right time. That context might be saved X posts today. Later it could include notes, project decisions, saved articles, relationship context, recommendations, meeting notes, or research libraries. The category is larger than X, but socialmemory's current product truth is specific: it starts with saved X likes and bookmarks.

That focus is a strength. X is where many builders already collect high-signal material: tools, examples, opinions, screenshots, debates, lessons, and people. Turning those saves into agent-readable memory is a concrete step toward a private memory layer.

The important product promise is not "your agent remembers everything." The better promise is narrower and more believable: "your agent can search the saved X posts you already collected when those posts are relevant to the work."

Sources for X Bookmarks MCP: Connect Saved Posts to Codex and Claude Code

  1. modelcontextprotocol.ioOfficial MCP introduction. Use for the plain-language definition of MCP as a standard way AI applications connect to external systems, tools, data sources, and workflows.
  2. modelcontextprotocol.ioOfficial MCP security guidance. Use for least-privilege, scope-minimization, local server, and authorization guardrails.
  3. www.anthropic.comAnthropic MCP launch context. Use for ecosystem background and the idea that MCP was introduced to connect AI tools with data sources.
  4. code.claude.comClaude Code MCP docs. Use for Claude Code support and setup concepts.
  5. developers.openai.comOpenAI Codex MCP docs. Use for Codex MCP support and the description that MCP gives Codex access to third-party tools and context.
  6. cursor.comCursor MCP docs. Use only to support Cursor as MCP-compatible adjacent context, not current first-class socialmemory support.
  7. docs.x.comX API bookmark docs. Use for the fact that X bookmark endpoints can view/add/remove bookmarked posts for the authenticated user and that bookmarks are private to the user.
  8. www.npmjs.comPublic npm package reference. Current npm check on 2026-06-29 showed version 0.1.0, description "Local MCP connector for socialmemory X likes and bookmarks," repository https://github.com/popoastier/socialmemory-mcp, and homepage https://socialmemory.dev.
  9. github.comPublic MCP-only repository. Use as a technical source if the README is needed during integration.

FAQ

What does X bookmarks MCP mean?

It means an MCP connector that lets an AI tool search or use saved X bookmarks through a standard tool interface. In socialmemory's case, the useful archive includes saved X bookmarks and liked posts.

Is MCP the same as an API?

No. An API is the service or data interface. MCP is the agent-facing connection layer that lets an AI client call tools in a standard way. In practice, an MCP server may call an API behind the scenes, but the AI app talks to the MCP tools.

Does socialmemory support Cursor today?

The safe current wording is that socialmemory Agent Access focuses on Codex and Claude Code. Cursor supports MCP, so it is relevant as an adjacent ecosystem direction. Do not describe Cursor as a current first-class socialmemory setup unless that setup has shipped and been tested.

Can Claude use saved X bookmarks through MCP?

Claude Code is a current first Agent Access target. Claude and Claude Desktop belong in the broader MCP ecosystem discussion, but the article should be precise about which Claude surface is being described.

Is it safe to connect saved X posts to an agent?

It can be, if the connector uses narrow permissions, stores credentials privately, avoids printing tokens, and makes tool actions clear. Read-only search is a safer default than broad account control.

Does MCP let an agent post on X for me?

That is not the point of this article or the core socialmemory workflow. The saved-X MCP path should focus on searching, reading, syncing, noting, tagging, and sharing result sets for saved posts. It should not require broad X write access.

Do I need MCP to search my saved X posts?

No. MCP is useful when an agent should search saved posts during work. If you are searching manually, the socialmemory web library is the first-class surface.

What should I do if setup succeeds but search results look old?

Check status before assuming search is broken. The archive may be reachable while sync is stale, blocked, cooling down, or waiting for a readable local X browser session.

Private X memory

Use your saved X memory inside Codex or Claude Code

Sync your liked and bookmarked X posts into a private library, then let your agent search and use them when you need the right context.