npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

getmnemo-mcp

v0.4.0

Published

Model Context Protocol server for Mnemo Memory — exposes search/add/update/delete tools to Claude Desktop, Cursor, Windsurf, VS Code, Zed.

Readme

getmnemo-mcp

Model Context Protocol server for Mnemo Memory — exposes long-term memory tools to any MCP client (Claude Desktop, Cursor, Windsurf, VS Code, Zed).

Tools

| Tool | What it does | |---|---| | memory_search | Hybrid 7-strategy retrieval over the workspace memory store. Filter by polarity, searchMode (memories/documents/both), exclude already-seen ids, or opt into precise mode. | | memory_answer | Cited-answer pipeline: question in, synthesized answer + citations out (mode: "fast" for ~1-2s). | | memory_add | Store an atomic fact with optional metadata; polarity: "negative" marks a hard constraint. | | memory_get | Fetch one memory by ID within the configured container. | | memory_update | Patch an existing memory's content, metadata, or polarity. | | memory_delete | Soft-delete a memory by ID so it leaves retrieval. | | memory_restore | Undo a soft delete during its recovery window (API-key sessions only). | | memory_list | Paginate through memories (cursor-based). | | document_add | Ingest a raw document (up to 500,000 characters) into the async extraction lane; returns a jobId. | | job_status | Poll an ingestion job: queued / processing / completed / failed (API-key sessions only). |

Personal-memory tools (0.3.0, Mnemo API v0.3.0)

| Tool | What it does | Key scope(s) | API flag | |---|---|---|---| | daily_brief | Today's reminders, important dates, last-24h captures, follow-ups and meetings for one container. | brief:read | MEMORY_API_BRIEF_ENABLED | | memory_timeline | One container as a time-ordered stream of memories, reminders, documents (and optional events). | timeline:read | MEMORY_API_TIMELINE_ENABLED | | people_list | People the workspace remembers, with memory / open-reminder counts. | people:read | MEMORY_API_PEOPLE_ENABLED | | people_get | One person by slug (contact details, important dates, aliases). | people:read | MEMORY_API_PEOPLE_ENABLED | | people_upsert | Create a person, or update them when the slug already exists. | people:write | MEMORY_API_PEOPLE_ENABLED | | reminder_create | A reminder with a due time, filed under a person or a container. | reminders:write | MEMORY_API_PEOPLE_ENABLED | | reminders_upcoming | Overdue / due-today / upcoming reminders plus important dates, by local day. | reminders:read | MEMORY_API_PEOPLE_ENABLED | | reminder_complete | Mark a reminder done. | reminders:write | MEMORY_API_PEOPLE_ENABLED | | meetings_upcoming | Upcoming Google Calendar meetings with attendees resolved to people. | meetings:read | MEMORY_API_MEETINGS_ENABLED | | meeting_brief | Pre-meeting brief: reader answer with citations, matched people, previous meetings. | meetings:read + answer:read | MEMORY_API_MEETINGS_ENABLED | | memory_merge | Fold 2..20 duplicate memories into one survivor (idempotent on mergeKey). | memories:write + memories:delete | MEMORY_API_INBOX_ENABLED |

These scopes are opt-in: mint (or edit) the API key with them at https://app.mnemohq.com/settings/api-keys. Every feature is dark until the API operator sets its MEMORY_API_* flag; until then the tool returns a 503 FEATURE_DISABLED error that names the flag.

All personal-memory tools except memory_timeline are API-key only: the API rejects hosted OAuth MCP tokens on cross-container routes, so hosted OAuth sessions (https://mcp.mnemohq.com/mcp) do not list them.

Remote HTTP calls are scoped by the user's Mnemo OAuth grant. The user signs in, chooses a workspace and memory container, and the server derives that scope from the access token. The model cannot set or change it.

Install

Local stdio clients

npx -y getmnemo-mcp

Or wire it into the client config directly. Example for Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "getmnemo": {
      "command": "npx",
      "args": ["-y", "getmnemo-mcp"],
      "env": {
        "GETMNEMO_API_KEY": "prfly_live_...",
        "GETMNEMO_WORKSPACE_ID": "ws_...",
        "GETMNEMO_CONTAINER_TAG": "user:jane"
      }
    }
  }
}

Get an API key at https://app.mnemohq.com/settings/api-keys.

Hosted remote MCP clients

For clients that support remote MCP and OAuth 2.1, use:

https://mcp.mnemohq.com/mcp

The client should discover OAuth metadata, open Mnemo sign-in, and return to the client after the user selects a workspace and container. No API key, workspace header, or container configuration is required for this path.

Develop

npm install
cp .env.example .env   # fill in API-key/container values for stdio
npm run dev            # stdio
npm run dev:http       # Streamable HTTP on :8787
npm run build          # bundle to dist/
npm run lint && npm run typecheck && npm test

Architecture

  • stdio (src/cli.ts): one process per MCP client connection, env-configured.
  • Streamable HTTP (src/http.ts): hosted transport for public OAuth sessions, with private API-key compatibility for trusted deployments.
  • Both transports share src/server.ts (tool registration + dispatch), src/personal-tools.ts (personal-memory tools) and src/api-client.ts (typed REST wrapper).

The public hosted transport uses Mnemo's OAuth 2.1 authorization server and resource-bound tokens. Header-selected containers remain disabled by default; they are only a private compatibility path for a trusted gateway.

The server deliberately does NOT depend on getmnemo (the JS SDK) so it can ship independently.

License

MIT