https://memex.garden/api/mcp
Use the same base URL for both OAuth and API-key clients. Do not point clients at /oauth/* directly unless the client explicitly asks for issuer metadata.
Before your first call
- Get credentials from Authentication.
- Fetch the latest parameter catalog from Available endpoints.
- Parse responses using Response shape.
- If credits run out, follow Buy credits.
Checkout
- Fetch the plan catalog from
POST https://memex.garden/api/get-available-plans. - Ask the human which plan they want.
- For one-time plans, obtain a Stripe Shared Payment Token from the runtime payment harness.
- Call
POST https://memex.garden/api/checkoutwith the user’s Memex bearer token and the token. - For subscription plans, send the user to
https://memex.garden/pricing.
Available tools
discover_actionsexecute_actionsearch_contentsave_content_by_urllist_subscribed_feedscreate_sharing_linklist_sharing_linkslist_handoffsdrain_handoffensure_tag_on_contents
discover_actions then execute_action for all new integrations. Discovery returns the small set of permitted, relevant action IDs with their current input summaries, effect, and approval requirements; every returned MCP action card names execute_action. Execution takes the chosen actionId and its input object. The other named tools below are compatibility aliases and are never returned by discovery; see the Action catalog.
This inventory is registered from the shared action catalogue. Tool identity, descriptions, schemas, ordering, and required scopes must be changed there rather than in the MCP server bootstrap.
REST clients can use the equivalent POST /actions/discover endpoint.
These wrap the Memex operations documented on Available endpoints.
REST-only operations are also documented in Available endpoints. For example, use authenticated REST calls to POST /list-auto-tagging-rules and POST /create-auto-tagging-rule when a client needs to read or create auto-tagging rules.
For search_content specifically:
- pass
responseMode: "lightweight"for discovery cards: each result has transport-onlycontentEntityIdandurl, plus a type-specific semanticcontextobject. URLs and IDs are not intended for model context. - pass
responseMode: "compact"for the existing LLM-ready source response, orresponseMode: "full"for the rich raw payload.responseModetakes precedence over the legacyrawboolean. - omit
rawor passraw: falseto get the default compact response array withtype,url,createdAt,title?,text, and optional slimmedia - pass
raw: trueto get the richer machine-readable payload withresults,referencesByResultId, and related entity lists - if the client asks for
llmorfull, usellmforraw: falseandfullforraw: true - compact
raw: falsesearch defaults reranking on when the query is eligible for rerank - raw
raw: truesearch defaults reranking off unless you setenableRerank: true contentTypesaccepts a list of exactcontent_entity.typevalues:web,pdf,youtube,twitter,instagram,tiktok,facebook,linkedin,pinterest,reddit,chatgpt,claude,annotation,image,transcribedMedia,audioRecording,selector,chatThread,twitterProfile,subreddit,youtubeChannel- to search inside private saved views from MCP or Claude, pass
viewIdswith one or more view IDs - to search specific feeds, pass
feedIdsusing IDs returned bylist_subscribed_feeds - to search across all subscribed feeds only, pass
feedScope: "all" - omit both
feedIdsandfeedScopeto search the full library - pass
feedReadStates: ["unread", "read","pending" \| "processing" \| "processed" \| "failed" \| "archived"]when archived feed entries should be included
- use
search_contentwithviewIdswhen an MCP or Claude client needs to search inside a private saved view - use
raw: falseor omitrawfor thellmresponse option - use
raw: truefor thefullresponse option - use authenticated REST
POST /create-viewandPOST /list-viewsto create or list saved views - use authenticated or public-token REST
POST /execute-view-searchonly when the full/raw shape is acceptable or when searching a public shared view token
list_subscribed_feeds, call with an empty argument object. The response returns feeds, the authenticated user’s subscribed RSS and YouTube feed list.
For list_handoffs:
- omit
statusto list pending/unprocessed handoffs, including items that are not ready for webhook delivery - pass
status: "processing","processed","failed", or"archived"only when the user asks beyond pending handoffs - use
referenceContentEntityIdto filter to handoffs that reference a specific Memex content entity - use
createdAtFromandcreatedAtTofor arbitrary ISO timestamp ranges, ordayfor a singleYYYY-MM-DDday - use
requestedDestinationTextto filter to a target app, agent, or person - the response includes
handoffs; these are operational queue records, not content entities - execute the discovered handoff-draining action only after an agent actually processed a pulled handoff
create_sharing_link:
- pass a saved
contentIdreturned bysearch_contentorsave_content_by_url - set
accesstoviewfor read-only sharing orcollaboratefor collaborative access - the response includes
shareUrl,publicToken,access, andaccessMode
list_sharing_links:
- omit arguments to list all public content sharing links
- optionally filter by
contentId,contentType, oraccess - each link includes
shareUrl,publicToken,access,accessMode,contentId, andcontentType
Choose an auth mode
Claude Code or raw MCP client
Use API-key auth when the MCP client can send custom headers or query parameters directly. Send the API key as either query parameters:Request shape
List tools
Call a tool
Call search_content in raw mode
Call search_content inside a saved view
Use this shape for the LLM-ready response:
Response parsing
For successful Memex MCP calls:- use
result.structuredContentas the parsed object - treat
result.content[0].textas the serialized text copy of the same payload
structuredContent exists, re-check the request against Available endpoints.
Related agent setups
- Copyable markdown skill: Skill.md
- Hosted plugin bundle for Codex: Codex plugin
- Claude plugin: Claude plugin
- GenSpark MCP setup: GenSpark MCP
- GBrain MCP setup: GBrain MCP
- GPT Researcher MCP setup: GPT Researcher MCP
- OpenClaw wiring notes: OpenClaw plugin
- Obsidian desktop integration: Obsidian plugin

