Skip to main content

Unofficial mymind API client, CLI, and MCP server

Project description

mymind-api

Unofficial Python API client, CLI, and MCP server for mymind.

Your mymind is full of things that define how you think — the articles that shaped your perspective, the tweets that resonated, the snippets you highlighted, the ideas you saved at 2am. It's the richest, most personal context you have. When you're working with Claude Code or Obsidian, that context is what makes AI actually useful to you specifically, not just generically.

mymind doesn't have a public API. So this project reverse-engineers their internal endpoints — giving you a Python client, a CLI, and an MCP server so Claude Code (or any AI tool) can search, read, and manage your mymind.

Install

pip install mymind-api

Login

mymind login

This opens mymind in your default browser. Sign in with Google or Apple as usual.

Once you're signed in and can see your cards:

  1. Open DevTools (Cmd+Option+I on Mac, F12 on Windows)
  2. Go to the Network tab
  3. In the Network tab's filter bar at the top, type cards — this filters out noise so you can spot the right request
  4. Now refresh the page (Cmd+R / Ctrl+R) — a request called cards will appear in the list
  5. Right-click the cards request → Copy as cURL
  6. Go back to your terminal where mymind login is waiting, paste it, and wait 2 seconds

Note: The cards request only fires on page load, which is why you need to set up the filter before refreshing. If you refresh first, you'll miss it.

You can also click the cards request, copy the raw request headers, and paste those instead — the parser extracts tokens from either format.

Tokens are stored in your system keychain (macOS Keychain / Windows Credential Locker), never in plaintext files. If they expire, you'll be prompted to re-authenticate.

Python API

from mymind_api import MyMind

mind = MyMind()

# Cards
cards = mind.get_all_cards()
card = mind.get_card_content(card_id)
obj = mind.get_object(card_id)

# Search & filter
results = mind.search("startup ideas")
mind.filter_cards(tag="design", domain="x.com")
mind.filter_cards(card_type="Snippet", text="quote")

# Images
image_bytes = mind.get_card_image(card_id)        # raw bytes (webp)
image_url = mind.get_card_image_url(card_id)      # authenticated URL

# Create
mind.create_note("# Hello", title="My Note", tags=["idea"])
mind.save_url("https://example.com", tags=["reading"])

# Update
mind.update_object(card_id, {"title": "New Title"})
mind.delete_card(card_id)

# Tags
mind.get_tags()                       # all tags
mind.get_object_tags(card_id)         # tags on a card
mind.add_tag(card_id, "important")
mind.remove_tag(card_id, "old-tag")

# Spaces
mind.get_spaces()
mind.create_space("Research")
mind.create_smart_space("AI Articles", ["ai", "type:webpage"])
mind.delete_space(space_id)

CLI

mymind list                              # list all cards
mymind search "AI"                       # search cards
mymind note "# My idea" -t "Title" --tags "startup,ai"
mymind save "https://example.com" --tags "reading"
mymind delete <card-id>
mymind tag <card-id> "new-tag"
mymind test                              # test connection
mymind logout                            # remove tokens

MCP Server (Claude Code, Claude Desktop, Cursor, etc.)

mymind-mcp

Add to Claude Code:

claude mcp add --transport stdio mymind -- mymind-mcp

Or Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
    "mcpServers": {
        "mymind": {
            "command": "mymind-mcp"
        }
    }
}

MCP tools

Tool Description
search_mymind Search and filter cards by text, tag, domain, and/or content type
list_recent_cards List most recently saved cards
get_card Get full card metadata
get_card_content Get card content (prose, notes, tags, source)
get_card_image Get a card's image so the LLM can see it
create_note Create a note with markdown content
save_url Save a URL/bookmark
update_card Update a card's title
delete_card Delete a card
list_tags List all tags sorted by usage
get_card_tags Get tags on a specific card
add_tag Add a tag to a card
remove_tag Remove a tag from a card
list_spaces List all spaces
create_space Create a manual space
create_smart_space Create a smart space with filters
delete_space Delete a space

Syncing with Obsidian

You can use this API to move cards between mymind and Obsidian. A few conventions that help:

  • mymind → Obsidian: Tag imported notes with mymind in Obsidian so you know where they came from. When tagging, use your Obsidian vault's existing tag taxonomy — not the tags from mymind. mymind's tags are AI-generated and tend to be noisy, while your Obsidian tags are a curated system built to create specific connections and clusters. Let your vault's structure dictate how the content gets organized.

  • Obsidian → mymind: Tag imported cards with obsidian in mymind so you can filter them later.

This keeps both systems clean and makes it easy to trace where content originated.

Disclaimer

This is an unofficial project. mymind does not provide a public API — this may break if they change their internal endpoints.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mymind_api-0.1.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mymind_api-0.1.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file mymind_api-0.1.0.tar.gz.

File metadata

  • Download URL: mymind_api-0.1.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for mymind_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9766df030f4acb4029c2e2b37e777e154a118383307b8d1336b8b7f5061af6c2
MD5 325e0ff0a7531d9b041dbb2db884de10
BLAKE2b-256 7d80870ec79c4b9f3efa78adef423b95c65921359ccca16ded81fc1bc0a3e089

See more details on using hashes here.

File details

Details for the file mymind_api-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mymind_api-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for mymind_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 69e178256d644d5eb3d7a63c414c296e973a8e9420d0d3097b9420e83d40be3c
MD5 761816f71c34368c23950b3c761ef6e7
BLAKE2b-256 52aad7ec7082a32525c670d5d0954648f91e0120aee50e72d6074c24e592bd3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page