Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Cosmos MCP

by teampolarityversion 0.7.1i★ –iRuns on your computer
Registry nameio.github.teampolarity/cosmos-mcp

Install

Overview

Description from the maker (original English)

Personal knowledge graph every MCP client reads from and writes to. Portable across agents.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Search & AI memory
  • You need to fill in: COSMOS_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: COSMOS_TOKEN

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "cosmos": {
      "command": "npx",
      "args": [
        "-y",
        "@polarity-lab/cosmos-mcp"
      ],
      "env": {
        "COSMOS_TOKEN": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add cosmos --env COSMOS_TOKEN=your-value -- npx -y @polarity-lab/cosmos-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "cosmos": {
      "command": "npx",
      "args": [
        "-y",
        "@polarity-lab/cosmos-mcp"
      ],
      "env": {
        "COSMOS_TOKEN": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "cosmos": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@polarity-lab/cosmos-mcp"
      ],
      "env": {
        "COSMOS_TOKEN": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • COSMOS_TOKEN secret env
    pmk_ key from https://cosmos.polarity-lab.com/connectors. Optional on macOS once the system keychain is provisioned via `npx -y @polarity-lab/cosmos-mcp provision pmk_...`.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account teampolarity, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 5692 servers in this category
  • Published to the registry more recently than 14% of the other 5692 servers in this category
  • Basic checks equal to or better than 100% of the other 5692 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Cosmos MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: COSMOS_TOKEN

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.7.1) reached the registry 6 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

by upstashWidely used↓ 972.7K/wk★ 64.2KUpdated 2 days ago

Computer or cloud

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

by DeusDataWidely used↓ 18K/wk★ 48.1KUpdated 22 days ago

Runs on your computer

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

by exa-labsGrowing★ 5.2KUpdated 2 months ago

Runs in the cloud✓ exa.ai

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

cosmos-mcp

One exocortex. Every agent.

MCP server for your Cosmos graph.


Every AI you use is building its own private graph of you. Claude has one. ChatGPT has one. Cursor has one. None of them talk to each other, and none of them are yours.

Cosmos inverts that. Your knowledge graph lives in one place, and any MCP-capable client (Claude Code, Claude Desktop, Cursor, Codex, Zed, Continue) reads and writes to the same one. When an agent notices something durable about you, it lands in the graph. When you switch tools, the graph follows. The user, not the platform, owns the integration layer.

The thing you carry is a .polarity file. Yours.

One-line install

curl -fsSL https://mcp.polarity-lab.com/install.sh | sh

On macOS this installs the MCP server, registers cosmos-mcp://, wires Claude Desktop, Claude Code, Cursor, Codex, Zed, and Continue, then installs Cosmos Sync.app so iMessage, browser history, calendar, Claude Desktop transcripts, and shell history can sync in the background. On linux and windows it installs the MCP server path only.

If you want to inspect before changing anything:

curl -fsSL https://mcp.polarity-lab.com/install.sh -o install.sh

bash install.sh --dry-run bash install.sh

Provisioning

There are two ways to get a pmk_… key onto your Mac.

Automatic. Sign in at cosmos.polarity-lab.com/connectors, tap "open in cosmos-mcp." The OS opens a one-shot handler that writes the key into your system keychain. You never see the raw key.

For that deep link to work, register the URL scheme once:

npx -y @polarity-lab/cosmos-mcp install-handler

This drops a tiny .app into ~/Library/Application Support/cosmos-mcp/ and registers cosmos-mcp:// with Launch Services. macOS-only.

Manual. If you already have a pmk_… key, or you do not want to install the handler:

npx -y @polarity-lab/cosmos-mcp provision pmk_xxx

The CLI validates the key against cosmos, then stores it in the macOS system keychain under service cosmos-mcp-key. Subsequent imessage sync, browser sync, calendar sync calls read from the keychain. No env var needed.

Confirm iMessage access.

npx -y @polarity-lab/cosmos-mcp imessage probe

Verifies Full Disk Access is granted and reports how many chats are visible. If you see an EACCES message, open System Settings, Privacy & Security, Full Disk Access, and add Terminal (or whichever app runs the CLI).

CI. Set COSMOS_TOKEN=pmk_… in env. It takes precedence over the keychain, so existing pipelines keep working untouched.

Manual MCP config

The installer handles this for common clients. If you want to wire a client by hand, point it at the package.

npx -y @polarity-lab/cosmos-mcp init

This opens your browser. Sign in at cosmos.polarity-lab.com, approve a per-user key, and the token lands at ~/.config/cosmos-mcp/token (0600). Then point any MCP client at it:

{

"mcpServers": { "cosmos": { "command": "npx", "args": ["-y", "@polarity-lab/cosmos-mcp"] } } }

That config drops into ~/Library/Application Support/Claude/claude_desktop_config.json for Claude Desktop, your .cursor/mcp.json for Cursor, the equivalent for whichever client.

What you get

Eleven tools, four read, seven write.

Read

ToolCallsWhat it returns
polarity_whoamiGET /api/polarity/whoamiBound user + scopes. Cheap probe.
polarity_exportPOST /api/polarity/exportFull personal graph as polarity/v1 JSON.
polarity_get_graphGET /api/polarityGraph view, scoped by entity (user, cosmos, polarity).
polarity_askPOST /api/polarity/askNL question synthesized over the graph.

Write

ToolCallsWhat it does
polarity_observePOST /api/polarity/observeFreeform observation. Cosmos extracts.
polarity_record_eventPOST /api/polarity/observe (kind=event)Something happened at a point in time.
polarity_record_preferencePOST /api/polarity/observe (kind=preference)A like, dislike, working-style rule.
polarity_capture_turnPOST /api/polarity/capture-turnHand a whole user/assistant exchange to cosmos. Pulls every durable observation in one call. Prefer over multiple polarity_observe calls.
polarity_reconstruct_hoursPOST /api/polarity/reconstruct-hoursPersist life-hour receipts onto the skill-map sky (per user only). Use from Cursor/Cosmos IDE after substantive work.
polarity_dumpPOST /api/polarity/dumpLocation-anchored short message.
polarity_checkinPOST /api/polarity/checkinCheck-in at a waypoint. Triggers co-presence detection.
polarity_declarePOST /api/polarity/declareDeclare future presence at a waypoint.

Sources

The MCP server is one way to write to the graph. Cosmos accepts source pages from anywhere you keep notes, and the MCP read tools see all of it through the same view.

SourceHow it connectsWhat lands
iMessageLocal CLI: npx -y @polarity-lab/cosmos-mcp imessage sync. Mac only. Grant Terminal Full Disk Access first.Conversational turns from chat.db, with text content. People appear as person nodes in your graph, sized by conversation weight, named via your local AddressBook, dated by your real message timestamps.
Claude DesktopLocal CLI: npx -y @polarity-lab/cosmos-mcp claude-desktop sync. Reads Claude Code session transcripts at ~/.claude/projects/.Every Claude Code session becomes a thread node; user and assistant turns land in conversation_turns with full text. Tool-use plumbing is stripped client-side.
Shell historyLocal CLI: npx -y @polarity-lab/cosmos-mcp shell-history sync. Reads ~/.zsh_history (falls back to bash/fish) with a byte-offset watermark.Each sync window lands as one source_page keyed by shell-history: , body = newline-joined commands. Trivial commands (ls, cd .., single chars) and consecutive duplicates are filtered client-side.
NotionOAuth at cosmos.polarity-lab.com/connectors. Pick the pages and databases you want shared.Each Notion page becomes a source_page node, keyed by Notion id, kept fresh by a daily sync.
ObsidianCommunity plugin: polarity-lab/obsidian-cosmos. Paste your pmk_ key, point at your vault.Each note becomes a source_page node keyed by vault-relative path. Tags and wikilinks resolve into edges.
MCP clientsThis package.Observations, events, preferences, location dumps, check-ins, declarations.
Direct APIPOST /api/polarity/observe with your key.Anything you can express as an observation.

Unchanged pages are skipped server-side, so re-syncing a quiet vault or stable Notion workspace costs almost nothing. The iMessage sync is incremental too, watermarked on the last successful run, so re-running it is a no-op until new messages arrive.

iMessage sync

cosmos-mcp ships an imessage subcommand that reads your local Messages database and lands every conversation in your graph.

# default: incremental sync, 90-day window on first run

npx -y @polarity-lab/cosmos-mcp imessage sync

re-sync the original 90-day window regardless of watermark

npx -y @polarity-lab/cosmos-mcp imessage sync --backfill

pull everything since a specific date

npx -y @polarity-lab/cosmos-mcp imessage sync --since 2024-01-01

check what the last run did

npx -y @polarity-lab/cosmos-mcp imessage status

A three-rule slop filter (no-reply senders, short-code numbers, low-volume contacts) keeps the graph clean. Your AddressBook resolves phone numbers and emails into real contact names. The reading is local to your Mac; only the extracted, normalized turns go into your cosmos graph, which is your account.

Claude Desktop sync

cosmos-mcp ships a claude-desktop subcommand that watches Claude Code session transcripts and lands each turn in your graph. The desktop chat surface itself stores conversations server-side, so the live, watchable on-disk source is ~/.claude/projects/ / .jsonl.

# default: incremental, watermarked per session

npx -y @polarity-lab/cosmos-mcp claude-desktop sync

limit to recent activity

npx -y @polarity-lab/cosmos-mcp claude-desktop sync --since 2026-05-01

scan and report without shipping

npx -y @polarity-lab/cosmos-mcp claude-desktop sync --dry-run

see what the last run did

npx -y @polarity-lab/cosmos-mcp claude-desktop status

Tool-use blocks, hook plumbing, and sub-agent (sidechain) turns are stripped client-side; only the visible text the user and the assistant exchanged is shipped. Each session id becomes its own thread node, keyed by (user_id, "claude-desktop", session_id).

Background sync (macOS)

cosmos-mcp daemon install drops a LaunchAgent that ticks every four hours and runs the browser, iMessage, calendar, claude-desktop, and shell-history syncs back-to-back. The agent fires a signed, notarized Cosmos Sync.app bundle that ships inside the npm package and gets copied into ~/Applications/Cosmos Sync.app at install time.

npx -y @polarity-lab/cosmos-mcp daemon install

After install, grant the bundle Full Disk Access once:

  1. open System Settings → Privacy & Security → Full Disk Access
  2. click +, then drag ~/Applications/Cosmos Sync.app into the list
  3. make sure the checkbox next to it is on
  4. run cosmos-mcp daemon kick to fire a tick now

Browser sync works without that step. iMessage and Calendar need it because they read TCC-protected SQLite databases on the user side. cosmos-mcp daemon status reports the signing team id, the plist + runner paths, and whether launchd has the agent loaded. cosmos-mcp daemon uninstall removes the plist, runner, and ~/Applications/Cosmos Sync.app.

Configuration

Env varDefaultWhen you set it
COSMOS_URLhttps://cosmos.polarity-lab.comOverride the cosmos API endpoint.
COSMOS_TOKEN(from keychain)pmk_... per-user key for CLI subcommands. Takes precedence over the macOS keychain entry. Set this in CI.
COSMOS_MCP_KEY(from token file)pmk_... per-user key. Honored for back-compat.
COSMOS_USER_ID(from token file)Polarity user id.
COSMOS_SYSTEM_KEY(unset)Single-tenant mode. Sends X-System-Key instead of X-MCP-Key. Requires COSMOS_USER_ID. For internal testing before per-user keys are deployed.

The pitch in three lines

Your AI tools each know fragments of you. They are not allowed to share.

Cosmos is the layer that lets them. You hold the key. The graph is portable.

When you leave, you take the understanding with you.

License

MIT.

Ask PopNx