Recall API and MCP server Let your AI agent fill and tidy your Recall.

Read Recall cards, tags and review status with an AI agent or script. Use MCP or REST to build knowledge summaries, Markdown exports and review reports.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with Recall
Recall logo Recall Cloud Browser

13 tools Read and write

Save to clean up

What can you automate in Recall? Use an AI agent, a workflow or a script.

  • Save a reading list as cards

  • Tag cards that have no tag

  • Write a research note from your cards

  • Send a Friday digest of new saves

  • Back up cards as Markdown

  • Clear out cards from an old site

Official, read-only

Does Recall have an MCP server or an API? Yes, both free, and both only read.

Recall has had an official MCP server and REST API since April 2026, both on the Free plan. They search, list and read your cards, and nothing else: no saving, no notes, no tags, no deletes (checked 25 Oct 2026). Cotlet runs 13 Recall tools hosted, the reads plus the writes, over MCP for agents and REST for scripts.

  • Recall's MCP has 4 tools under one scope, kb:read. They cover 4 of our 13 tools in full and the tag list in part.
  • Recall lists "MCP 2.0 with write access" under "Coming Next" in its release notes of 19 Aug and 12 Sep 2026, with no date.
  • No Zapier app and no n8n node. A Zapier request on Recall's board has 75 votes since Feb 2024.
Recall's MCP server, its API and Cotlet compared
What you need Official MCPOfficial APICotlet
Search and read cards Yes Yes, in your code Yes
Tag list and knowledge base stats Yes No endpoint Yes
Save links and write notes No No Yes
Add or remove tags, delete cards No No Yes, deletes after your OK
Markdown export, connections, review No No Yes
The route Recall provides Yes, official Yes, official Uses the web app

Checked 25 Oct 2026. Sources: Recall Docs: API · Recall Docs: MCP Server · Recall changelog · Recall feature request: write API

Set up once

How does Cotlet connect to Recall? One account, two ways to connect.

  1. 1Sign in to Recall

    Use your own account in its Cotlet Cloud Browser.

  2. 2Choose MCP or REST

    Connect your agent or create a Cotlet API key.

  3. 3Run your workflow

    Ask your agent or send an HTTP request.

We never keep your Recall login, and no card is deleted until you approve it. Who can see your session

Any MCP client

Connect Recall to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

  1. 1

    Enable Recall for agents. Create a Cotlet account, sign in to Recall in its Cloud Browser and press Enable for agents.

  2. 2

    Add the Cotlet address. Put https://cotlet.dev/mcp/v1 into your agent as an MCP server or connector.

  3. 3

    Allow the connection. Chat apps send you to a Cotlet sign-in. Editors, n8n and scripts take an API key from the console.

The shared address, https://cotlet.dev/mcp/v1, carries Recall next to your other apps. Recall's own server can stay connected too; give it the reads and Cotlet the writes. Enabled Recall after connecting? Refresh the connector so the new tools appear.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-recall \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-recall": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet-recall]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: recall_write
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: recall_read
Scripts and HTTP

How to use the Recall REST API

Create your Cotlet API key

Create a Cotlet API key with access to Recall and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.

Sign in to Recall in its Cotlet Cloud Browser and enable the app for agents. Use your own Recall account; plan restrictions still apply to paid features.

Make your first Recall API request

cURL

curl "https://cotlet.dev/api/v1/recall/cards/search?q=pricing&mode=focused" \
  -H "Authorization: Bearer $COTLET_API_KEY"

Read matching cards and selected text chunks

A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt

{
  "status": "success",
  "app": "recall",
  "tool": "search_cards",
  "result": {
    "documents": [
      {
        "card_id": "card_8f2a61",
        "title": "How we price a B2B SaaS",
        "created_at": "Oct 14, 2026",
        "source_url": "https://blog.example.com/how-we-price",
        "chunks": [
          {
            "chunk_id": "chunk_004",
            "content": "Start with three tiers and anchor on the middle one.",
            "source": "page 2"
          }
        ]
      }
    ],
    "total_cards": 1,
    "total_chunks": 1
  }
}

Read result.documents, where text chunks are grouped by card. Focused search selects fewer cards with more chunks; exhaustive mode selects more cards with preview chunks.

Neither search mode exposes cursor pagination. Narrow card lists by date or tag; multiple tag IDs match with OR.

get_card returns selected chunks, defaulting to 20 with a maximum of 50. Use focus_query for a topic and do not treat selected chunks as guaranteed complete card text.

Recall workflows for agents and automations

Recall workflows you configure
ToolConnect throughExample workflow
n8nHTTP RequestSearch cards and read selected card chunks into a research brief that retains source references.
MakeHTTP > Make a requestRead selected cards and export their Markdown into your chosen knowledge archive.
Python or Node.jsREST APICombine knowledge-base stats and review status into a personal learning dashboard.

Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads Recall; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.

8 read, 5 write

Recall API endpoints and MCP tools

Cards and search5

Content comes back as text chunks with page numbers or timestamps. The whole-library zip export in Settings is not a tool; Markdown goes one card at a time.

  • search_cards Find cards by meaning or keyword, optionally within a tag, date range or source. read

    Runs Recall's combined semantic and keyword search over your cards and returns the matching text chunks grouped by card. mode focused returns fewer cards with more chunks each and suits answering a question; exhaustive returns more cards with a few preview chunks each and suits listing. Pass card_id to search inside one card. tag_ids match with OR logic. Read-only.

    MCP callrecall_read → search_cards

    REST endpointGET https://cotlet.dev/api/v1/recall/cards/search

    Parameters

    Parameters: search_cards
    NameTypeDescription
    q string required string Search query.
    mode enum enum focused or exhaustive. Default: focused.
    card_id string string Search inside this card only.
    tag_ids string[] string[] Only cards with one of these tags. IDs from list_tags.
    date_from date date Only cards saved on or after this date.
    date_to date date Only cards saved on or before this date.
    source_url_contains string string Only cards whose source URL contains this text, e.g. a domain.

    Example input

    {
      "q": "q"
    }

    Example response

    {
      "documents": [
        {
          "card_id": "card_8f2a61",
          "title": "How we price a B2B SaaS",
          "created_at": "Oct 14, 2026",
          "source_url": "https://blog.example.com/how-we-price",
          "chunks": [
            {
              "chunk_id": "chunk_004",
              "content": "Start with three tiers and anchor on the middle one.",
              "source": "page 2"
            }
          ]
        }
      ],
      "total_cards": 1,
      "total_chunks": 1
    }
  • list_cards Cards in your knowledge base, filtered by tag, date or source URL. read

    Returns the cards that match the filters, each with id, title, created_at and, when Recall has them, image and source_url. Without filters it returns all of your cards, so pass a date range or a tag on a large knowledge base. A card with no source URL (a note) is not matched by source_url_contains. Use card_id from the result in get_card and the write tools.

    MCP callrecall_read → list_cards

    REST endpointGET https://cotlet.dev/api/v1/recall/cards

    Parameters

    Parameters: list_cards
    NameTypeDescription
    tag_ids string[] string[] Only cards with one of these tags. IDs from list_tags.
    date_from date date Only cards saved on or after this date.
    date_to date date Only cards saved on or before this date.
    source_url_contains string string Only cards whose source URL contains this text, e.g. a domain.

    Example response

    {
      "results": [
        {
          "card_id": "card_8f2a61",
          "title": "How we price a B2B SaaS",
          "created_at": "Oct 14, 2026",
          "source_url": "https://blog.example.com/how-we-price"
        },
        {
          "card_id": "card_c40b19",
          "title": "Notes on onboarding calls",
          "created_at": "Oct 12, 2026"
        }
      ],
      "total_count": 2
    }
  • get_card The content of one card as text chunks, with its source. read

    Returns one card with its content chunks and source URL. Chunks carry a source such as a page number and, for video and podcasts, timestamps. Pass focus_query to get the chunks that match a topic instead of a generic selection, which helps on long cards. max_chunks defaults to 20 and goes up to 50. A card that does not exist returns APP_NOT_FOUND.

    MCP callrecall_read → get_card

    REST endpointGET https://cotlet.dev/api/v1/recall/cards/{card_id}

    Parameters

    Parameters: get_card
    NameTypeDescription
    card_id string required string Card ID from list_cards or search_cards.
    focus_query string string Return the chunks that match this query.
    max_chunks integer integer 1 to 50. Default: 20.

    Example input

    {
      "card_id": "card_8c41d2"
    }

    Example response

    {
      "card_id": "card_8f2a61",
      "title": "How we price a B2B SaaS",
      "created_at": "Oct 14, 2026",
      "source_url": "https://blog.example.com/how-we-price",
      "chunks": [
        {
          "chunk_id": "chunk_004",
          "content": "Start with three tiers and anchor on the middle one.",
          "source": "page 2"
        },
        {
          "chunk_id": "chunk_007",
          "content": "Annual billing at a 20% discount lifts retention.",
          "source": "page 3"
        }
      ]
    }
  • get_knowledge_base_stats Total cards, date range, top tags and common sources of your knowledge base. read

    Gives an overview of the whole knowledge base: the number of cards, the date of the oldest and newest card, the most used tags and the domains you save from most. Use it to decide where to look first. Read-only.

    MCP callrecall_read → get_knowledge_base_stats

    REST endpointGET https://cotlet.dev/api/v1/recall/knowledge-base-stats

    Parameters

    No parameters.

    Example response

    {
      "total_cards": 412,
      "oldest_card": "Mar 3, 2025",
      "newest_card": "Oct 24, 2026",
      "top_tags": [
        {
          "name": "Reading",
          "cards": 31
        },
        {
          "name": "Business/Pricing",
          "cards": 9
        }
      ],
      "top_sources": [
        {
          "domain": "youtube.com",
          "cards": 74
        },
        {
          "domain": "blog.example.com",
          "cards": 22
        }
      ]
    }
  • export_card_markdown The card as a Markdown file, the same as Export to Markdown in the card menu. read

    Returns one card as Markdown text. It is the single-card export from the card menu. The export of the whole knowledge base in Settings is a zip file and is not available as a tool. Nothing changes in Recall.

    MCP callrecall_read → export_card_markdown

    REST endpointGET https://cotlet.dev/api/v1/recall/cards/{card_id}/markdown/export

    Parameters

    Parameters: export_card_markdown
    NameTypeDescription
    card_id string required string Card ID from list_cards or search_cards.

    Example input

    {
      "card_id": "card_8c41d2"
    }

    Example response

    {
      "card_id": "card_8f2a61",
      "filename": "how-we-price-a-b2b-saas.md",
      "markdown": "# How we price a B2B SaaS\n\nStart with three tiers and anchor on the middle one.\n"
    }

Saving and deleting3

One link per save. On the Free plan each new card's summary counts toward Recall's 10 a month. A deleted card is gone for good.

  • save_url Save a web page, YouTube video, podcast or PDF link as a new card. write

    Does what Add > paste a URL does: it creates a card from one link. Recall adds a tag on its own and, by default, writes a concise summary into the Notebook; both follow your Recall settings. On the Free plan a summary counts toward the 10 AI summaries per month. Returns the new card_id. Saving reaches no one and one delete_card call removes the card, so it does not wait for your OK.

    MCP callrecall_write → save_url

    REST endpointPOST https://cotlet.dev/api/v1/recall/url/save

    Parameters

    Parameters: save_url
    NameTypeDescription
    url string required string The link to save. One URL per call.

    Example input

    {
      "url": "https://blog.example.com/pricing-psychology"
    }

    Example response

    {
      "card_id": "card_e91d07",
      "title": "Pricing psychology for SaaS",
      "source_url": "https://blog.example.com/pricing-psychology",
      "status": "saved",
      "tags": [
        "Business/Pricing"
      ]
    }
  • create_note Create a new note card with a title and text. write

    Does what the pen button does: it creates a card with an empty Notebook and fills it with your text. The text is plain, without images or tables. The note gets the same tags, connections and AI features as any card. Writing a note reaches no one and delete_card undoes it, so it does not wait for your OK.

    MCP callrecall_write → create_note

    REST endpointPOST https://cotlet.dev/api/v1/recall/notes

    Parameters

    Parameters: create_note
    NameTypeDescription
    title string required string Title of the note.
    body string required string Text of the note.

    Example input

    {
      "title": "title",
      "body": "body"
    }

    Example response

    {
      "card_id": "card_5a3c88",
      "title": "Pricing pages compared",
      "status": "created"
    }
  • delete_card Permanently delete one card. writeasks first

    Deletes one card with its Notebook, summary and connections. Recall has no recycle bin, so a deleted card cannot be recovered, and Cotlet cannot bring it back. Use export_card_markdown first if you may want it later. Returns the deleted card_id and title. By default you confirm each call; you can switch that off for this tool.

    MCP callrecall_write → delete_card

    REST endpointDELETE https://cotlet.dev/api/v1/recall/cards/{card_id}

    Parameters

    Parameters: delete_card
    NameTypeDescription
    card_id string required string Card ID from list_cards or search_cards.

    Example input

    {
      "card_id": "card_8c41d2"
    }

    Example response

    {
      "card_id": "card_c40b19",
      "title": "Notes on onboarding calls",
      "status": "deleted"
    }

Tags and connections4

A slash nests a tag, as in Business/Pricing. Removing a tag from a card leaves the tag itself in place.

  • list_tags Your tags with the number of cards under each; nested tags appear as Parent/Child. read

    Returns every tag in your knowledge base with its ID and how many cards carry it. Nested tags are written with a slash, for example Movies/Thrillers. Use the IDs as tag_ids in list_cards and search_cards. Check this list before tagging so the agent reuses a tag instead of creating a near-duplicate.

    MCP callrecall_read → list_tags

    REST endpointGET https://cotlet.dev/api/v1/recall/tags

    Parameters

    No parameters.

    Example response

    {
      "tags": [
        {
          "tag_id": "3b7e2f10-6c1a-4f55-9d3e-2a8c1f0b7d41",
          "name": "Business/Pricing",
          "cards": 9
        },
        {
          "tag_id": "9d1c5a22-4e7b-41a8-b6f3-0c5e8a1d2b93",
          "name": "Reading",
          "cards": 31
        }
      ]
    }
  • add_tags_to_card Add one or more tags to a card; an unknown tag is created. write

    Adds tags to one card. If a tag with that name exists, Recall uses it; otherwise it creates it. Type a slash to nest a tag, so Movies/Thrillers puts Thrillers under Movies. A card can have many tags, and the tags already on it stay. Returns the full tag list of the card. Tagging reaches no one and remove_tags_from_card undoes it, so it does not wait for your OK.

    MCP callrecall_write → add_tags_to_card

    REST endpointPOST https://cotlet.dev/api/v1/recall/cards/{card_id}/tags-to-cards

    Parameters

    Parameters: add_tags_to_card
    NameTypeDescription
    card_id string required string Card ID from list_cards or search_cards.
    tags string[] required string[] Tag names. Use / to nest, e.g. Business/Pricing.

    Example input

    {
      "card_id": "card_8c41d2",
      "tags": [
        "tags"
      ]
    }

    Example response

    {
      "card_id": "card_e91d07",
      "tags": [
        "Business/Pricing",
        "Reading"
      ]
    }
  • remove_tags_from_card Take one or more tags off a card. write

    Removes the named tags from one card. The card, its other tags and the tags themselves stay. A name the card does not carry is skipped and listed in not_found. Returns the tags left on the card. Reaches no one and add_tags_to_card undoes it, so it does not wait for your OK.

    MCP callrecall_write → remove_tags_from_card

    REST endpointDELETE https://cotlet.dev/api/v1/recall/cards/{card_id}/tags-from-cards

    Parameters

    Parameters: remove_tags_from_card
    NameTypeDescription
    card_id string required string Card ID from list_cards or search_cards.
    tags string[] required string[] Tag names to remove.

    Example input

    {
      "card_id": "card_8c41d2",
      "tags": [
        "tags"
      ]
    }

    Example response

    {
      "card_id": "card_e91d07",
      "tags": [
        "Reading"
      ],
      "not_found": []
    }
  • list_card_connections The keywords and linked cards in a card's Connections tab. read

    Returns what the Connections tab of a card shows: its keywords, each with the number of other cards that mention it. Recall extracts the keywords itself when a card is created, and links you added with [[ in the Notebook show up here too. A card that only just got saved can show few keywords until Recall finishes processing it.

    MCP callrecall_read → list_card_connections

    REST endpointGET https://cotlet.dev/api/v1/recall/card-connections

    Parameters

    Parameters: list_card_connections
    NameTypeDescription
    card_id string required string Card ID from list_cards or search_cards.

    Example input

    {
      "card_id": "card_8c41d2"
    }

    Example response

    {
      "card_id": "card_8f2a61",
      "connections": [
        {
          "keyword": "Pricing tiers",
          "cards": 7
        },
        {
          "keyword": "Annual billing",
          "cards": 4
        },
        {
          "keyword": "Anchoring",
          "cards": 2
        }
      ]
    }

Review1

Reads the Review dashboard only. It does not answer questions or start a quiz.

  • get_review_status Questions ready for review now, due this week and how many sit in each knowledge stage. read

    Returns what the Review dashboard shows: how many questions are ready now, how many are due this week and your streak. by_stage counts every question in the five stages Recall uses: New, Learning, Practiced, Confident and Mastered. It only reports; it does not answer or start a review.

    MCP callrecall_read → get_review_status

    REST endpointGET https://cotlet.dev/api/v1/recall/review-status

    Parameters

    No parameters.

    Example response

    {
      "ready_now": 18,
      "due_this_week": 42,
      "streak_days": 6,
      "total_questions": 120,
      "by_stage": {
        "new": 14,
        "learning": 22,
        "practiced": 31,
        "confident": 36,
        "mastered": 17
      }
    }
Encrypted, revocable

Who can see my Recall session, and how do I revoke it?

  • What we store

    Your signed-in Recall profile, encrypted with AES-256-GCM, in Finland. No password or code.

  • What your agent gets

    The 13 Recall tools. Never the cookie or your Recall API keys.

  • What the session sees

    Your whole library: cards, notebooks, tags, review questions.

  • What no tool touches

    Plan and billing, API keys, chats, personas, full export, tag deletion.

  • If Recall asks to sign in

    Recall can mail a one-time code. You type it in, we never do.

  • How to cut access

    Disable for agents, reset the browser, or log out of Recall there.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). We have no SOC 2 report or third-party pentest yet.

Fair use applies

Is it against Recall's terms? Account safety Their rule targets automation that runs up usage.

"Automated Usage: Using scripts, bots, or automation tools to artificially increase usage."
Recall Fair Use Policy, Prohibited Use Cases, read 25 Oct 2026

The Terms of Service repeat it as "automation to artificially generate excessive usage" and let Recall suspend accounts that break the policy. The first step the policy names is a talk and a paused subscription, not a ban. One more line matters: Recall may refuse a refund in the first 30 days for "automation". Recall ships its own API and MCP, so an agent in your library is expected; a loop that saves hundreds of links a day to burn summaries is not. We found no public case of a Recall account paused or closed for automation (checked 25 Oct 2026).

How we keep your account looking like you

  • Your own Recall account, signed in by you
  • One Cloud Browser with its own IP and cookies, like one more device
  • One link per save call, no bulk summary runs
  • Card deletes wait for your OK
  • If Recall objects, we pause the Recall tools for everyone within 24 h

Recall says it is built for one user and that heavy use across many devices can cause trouble. Keep big imports to its own CSV import (up to 1,000 links) and let the agent tag and file after.

Tested every 12 h

What happens when Recall changes? We repair the tool; your prompts stay the same.

between tests of the Recall tools
12 h
for a call to a Recall tool paused for repair
$0

Recall ships release notes every two weeks or so (changelog, Jun to Oct 2026), and a moved menu or renamed field is ours to fix. When Recall's own MCP gets write access, the "MCP 2.0" it lists as coming next, we will say here which tools it covers. status.cotlet.dev watches the site, console and API every 3 minutes.

1 tool asks first

Approvals, undo and mistakes Only a delete waits for you; Recall has no bin.

  1. 01 Lists the cards Filtered by site and date, titles only.
  2. 02 Offers a Markdown copy Exports the cards you may want later.
  3. 03 Waits for your OK Each delete shows up in your Cotlet console first.
  4. 04 Reports what went Deleted titles, kept ones, files saved.
Which Recall actions can be undone
ActionUndo
Save a linkDelete the card; a Free summary already used stays used
Create a noteDelete the card
Add tagsRemove them with remove_tags_from_card
Remove tagsAdd them back with add_tags_to_card
Delete a cardNo, Recall has no recycle bin

1 of 13 tools asks first: delete_card. Saves, notes and tags reach nobody and undo with one call, so they run at once. You can switch the wait off for a scheduled cleanup.

A recycle bin is an open request on Recall's feedback board. Until it ships, export before you delete.

MCP call
{
  "name": "save_url",
  "arguments": {
    "url": "https://blog.example.com/pricing-psychology"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/recall/url/save \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://blog.example.com/pricing-psychology"}'
Tool output
{
  "card_id": "card_e91d07",
  "title": "Pricing psychology for SaaS",
  "source_url": "https://blog.example.com/pricing-psychology",
  "status": "saved",
  "tags": [
    "Business/Pricing"
  ]
}

A cron job or script reaches the same tools over REST at /api/v1/recall, with the same key and price. It can sit next to Recall's own read API in one script: Recall for search, Cotlet for saving. The tools table lists the REST path of each tool.

Pay per call

How much does the Recall MCP server cost?

About $21 a monthfor one reader saving about 30 links a month, 3,580 credits. Your Recall plan stays with Recall.

A month of Recall jobs for one reader, in credits
JobCallsCredits
Save a reading list and tag it, weekly17 × 4680
Friday digest of new cards11 × 4440
Research note from saved cards7 × 4280
Markdown backup of the week, weekly11 × 4440
Tag cards that have no tag18 × 1180
Clear out cards from one old site6 × 160
Cloud Browser, 30 days1,500
Total3,580
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Works on Recall Free, Plus ($10) and Max ($38), yearly prices

The month is our example: Recall publishes no typical library size. If your agent only reads, Recall's own MCP does it for free. On Recall Free, 8 saves a week would pass the 10 summaries a month, so Plus fits this reader. Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

Recall MCP server on GitHub, Zapier or hosted: which to use Every other route reads; none writes yet.

Other Recall MCP and automation options, checked 25 Oct 2026
OptionWhat it doesWhere it stops
Recall MCP serverOfficial, free, OAuth in the browser. 4 tools: search, filter, read a card, stats and tags.Read-only. Writes are announced as "MCP 2.0", no date.
Recall APIThree read endpoints with an sk_ key from Settings.No tags endpoint, no writes, code you host.
mcp-dir/recall-mcpHosted wrapper on the official API, MIT, 0 stars, last commit 21 Aug 2026.The same reads as the official server.
Zapier, n8nNo Recall app or node.Nothing to connect.
Recall extension and CSV importSaves the page you are on, or up to 1,000 links from a file.By hand; an agent cannot call them.

For search and reading, Recall's own server is free and is the route Recall backs; use it. To save, write, tag, export or delete from an agent, nothing but Cotlet does it today. Both fit in the same agent, and when Recall ships writes of its own, switch the overlap back to Recall.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273), runs Cotlet. It has worked since 2019 and was founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Send questions about the Recall tools to contact@cotlet.dev.

Recall API and MCP: questions

Can I use the Recall API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

How do I get access?

Sign up at https://cotlet.dev, open Recall under Integrations in the console and sign in to Recall in its Cloud Browser. The trial starts with your first app, with no card.

Does Recall allow an agent to work in my account?

Recall's Fair Use Policy and Terms of Service ban scripts, bots or automation that artificially increase usage, for example to run up summaries. Saving, tagging and reading your own cards at a normal pace is not that. Keep bulk loops modest, because Recall can suspend an account for excessive automated usage.

Can I get back a card my agent deleted?

No. Recall has no recycle bin, and a deleted card cannot be recovered (Recall Docs: Deleting Content). That is why delete_card asks for your OK on each call by default. Export the card as Markdown first if you may want it.

Will Recall's own MCP server get write access?

Recall says so. Its release notes of 19 Aug and 12 Sep 2026 list "MCP 2.0 with write access" under "Coming Next", without a date. On 25 Oct 2026 its docs still call the server read-only.

Does Recall have webhooks?

No. Nothing tells an agent that you saved a card. Run the agent on a schedule instead, for example a weekly list_cards from the last 7 days.

Is the MCP server different from the REST API?

Only the way in differs. Both carry the same 13 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

Is Cotlet affiliated with Recall?

No. Cotlet is independent and not affiliated with Recall or recall.it.

Give your agent write access to Recall.

Free 7-day trial with 2,000 credits, no card needed.