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

Listspace

by listspaceversion 2.0.0i★ –iRuns in the cloud
Registry nameapp.listspace/listspace

Install

Overview

Description from the maker (original English)

Project memory for AI agents: read and keep the user's Listspace boards up to date.

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 in the cloud
  • Transport: Streamable HTTP
  • Category: Search & AI memory

Install

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

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

Which app do you use?

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

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://mcp.listspace.app

Run this in your terminal

claude mcp add --transport http listspace https://mcp.listspace.app

Open in Cursor

Or copy the settings yourself

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

{
  "mcpServers": {
    "listspace": {
      "url": "https://mcp.listspace.app"
    }
  }
}

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": {
    "listspace": {
      "type": "http",
      "url": "https://mcp.listspace.app"
    }
  }
}

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.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://mcp.listspace.app

Menu names can differ slightly by plan and over time.

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

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

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

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 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain listspace.app (the registry checks domain ownership)

  • … 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 checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7235 servers in this category
  • Published to the registry more recently than 56% of the other 7235 servers in this category
  • Basic checks equal to or better than 100% of the other 7235 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 Listspace 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?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (2.0.0) reached the registry 29 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

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:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

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

Computer or cloud★ 64,224MITUpdated 3 days ago
Install

Codebase Memory

by DeusData

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

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

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

Runs in the cloud★ 5,213MITUpdated 44 days ago
Install

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.

Listspace for coding agents

The pieces that let an agent use a Listspace board as its project memory. This folder is public as github.com/listspace/agent, and the CLI is on npm as listspace. Install and sign in with:

npx listspace login     # paste a personal token from Listspace: Settings > Your AI > API tokens

npx listspace boards

PathWhat it is
skills/listspace/The skill: SKILL.md (the work loop) plus reference/ (tools, agent access, CLI), loaded only when needed. Follows the Agent Skills format, so npx skills add can install it. This is the source copy.
cli/listspace, a small Node CLI for agents without the MCP server: short commands over the REST API (https://api.listspace.app/v1), and call for every MCP tool through the MCP server (https://mcp.listspace.app). TypeScript bundled into one ESM file, no runtime dependencies, Node 20 or later.
claude-code-plugin/A Claude Code plugin: the skill (a copied file set) and .mcp.json, which registers the remote MCP server https://mcp.listspace.app.
.claude-plugin/marketplace.jsonA marketplace file listing the plugin, so this folder can be added as a local marketplace now and as a GitHub one later.
AGENTS.md.snippetLines a user pastes into a repo's AGENTS.md or CLAUDE.md to point agents at the right board.
scripts/sync-skill.mjs copies the skill into the plugin; check-agent.mjs (in CI) checks the copy, the frontmatter, the versions and the MCP entry.

The MCP server is also listed in the MCP Registry as app.listspace/listspace and on Smithery.

Editing the skill

Edit skills/listspace/ only, then run:

node agent/scripts/sync-skill.mjs

node agent/scripts/check-agent.mjs

The plugin gets a real copy, not a symlink, so the plugin folder still works when it is copied or downloaded on its own. CI fails when the two differ. Keep SKILL.md short: steps and rules there, detail in reference/.

One version runs through cli/package.json, cli/src/version.ts, plugin.json and the skill's metadata.version; the check fails when they differ.

Try it locally

The CLI
cd agent/cli

npm ci npm run build node dist/listspace.mjs login # paste a token from Listspace: Settings > Your AI > API tokens node dist/listspace.mjs whoami node dist/listspace.mjs session " " node dist/listspace.mjs add " " ideas "Try dark mode" --description "Seen in settings"

npm link in agent/cli puts listspace on the PATH. LISTSPACE_TOKEN overrides the saved token for one run, and LISTSPACE_API_URL and LISTSPACE_MCP_URL point the CLI at another server. Every command takes --json. The token is saved in the OS config directory (%APPDATA%\listspace on Windows, ~/Library/Application Support/listspace on macOS, ~/.config/listspace elsewhere) as credentials.json, mode 600.

Tests: npm test (node:test with a fake fetch, no network). npm run typecheck runs the strict type check.

The skill on its own

Any agent that reads Agent Skills:

npx skills add ./agent -s listspace     # the skills CLI reads skills/ in a local folder

or copy agent/skills/listspace to ~/.claude/skills/listspace for Claude Code. Connect the MCP server separately (claude mcp add --transport http listspace https://mcp.listspace.app), or use the CLI above.

The Claude Code plugin

For one session:

claude --plugin-dir ./agent/claude-code-plugin

Or as a local marketplace, which keeps it installed:

claude plugin marketplace add ./agent

claude plugin install listspace@listspace

Then run /mcp, pick the listspace server and sign in (OAuth through Listspace). The skill shows up as /listspace:listspace and Claude loads it on its own when the project has a board. claude plugin validate ./agent/claude-code-plugin checks the manifest.

If you already added the Listspace MCP server yourself, Claude Code may show both; remove one.

The decision check

The plugin also has a small check that runs at the end of each of Claude's turns (hooks/hooks.json, hooks/decision-check.mjs). When the user picks an option, says yes to a proposal or corrects a fact, and Claude records no decision in that turn, Claude is sent back once with one line: if it was a decision that affects future work, record it with record_decision as Proposed; otherwise end the turn without comment.

The rules lean to silence. A yes to an offer to act ("Want me to commit?" "yes"), a maybe, and a bug report or a place in the code ("no, it's still failing", "the bug is in the parser") are not decisions. A yes counts only when Claude's last message offered a choice or made a proposal (recommend, suggest, propose, options, which one, a lettered list).

  • It does nothing in a session that has not used a Listspace tool, and never blocks twice in a turn (stop_hook_active), so it cannot loop.
  • It is plain rules on the user's words, with no model call and no network, so it costs nothing and answers in milliseconds (timeout 5 seconds).
  • It needs Node.js 18 or later on the computer (Windows, macOS or Linux). Each command ends in ; exit 0, so without Node.js the check does nothing and Claude Code shows no hook error (sh, Git Bash and PowerShell).
  • It keeps a few small files per session in the plugin's data folder (CLAUDE_PLUGIN_DATA, readable only by the user) and removes them after a week. An ordinary prompt writes nothing. A prompt that reads like a decision leaves its first line, cut at 80 characters, for that turn only. Of Claude's last message it keeps only whether it offered a choice. Without the data folder the check does nothing.
  • Tests: node --test agent/scripts/decision-check.test.mjs. check-agent.mjs checks hooks.json.
The progress check

A second check at the end of each turn (hooks/progress-check.mjs) keeps the board in step with the work. When a turn changed files (Edit, Write, MultiEdit, NotebookEdit), committed, pushed or merged with git, opened or merged a pull request with gh, or deployed, and Claude made no Listspace write after that work, Claude is sent back once with one line: "Update the Listspace board: what did you start or finish this turn? Move the item, add a short comment."

  • It does nothing in a session that has not used a Listspace tool, and never blocks twice in a row (stop_hook_active), so it cannot loop.
  • After a nudge it waits at least 3 turns before the next one, and only nudges again for new work, so it does not nag.
  • Any Listspace write counts as the update (move_item, add_comment, complete_item, record_decision, capture and the rest); reads do not.
  • It keeps only the facts (work done, board updated, the turn of the last nudge) in the plugin's data folder, never a command or a file name, and removes them after a week. Same Node.js and ; exit 0 rules as the decision check.
  • Tests: node --test agent/scripts/progress-check.test.mjs.
Board context

The board rules arrive with the Listspace server's instructions at the start of a session, and a long session, most of all one whose conversation was compacted, can lose them. hooks/board-hooks.mjs adds them back to Claude's context at the moments that matter. It only adds context: it never blocks anything and never changes a command or its output.

  • Session start (SessionStart: startup, resume, clear): one line that names the project's board and says to start with get_account and start_session, update the items in unfinished_from_last_sessions first, and keep the board current.
  • After a compaction (SessionStart with source compact): the board rule, and to call get_account (or start_session) before going on, since claimed_by_you and started_by_you list the items Claude was working on.
  • After a pull request or a deploy (PostToolUse on Bash and PowerShell): after gh pr create, gh pr merge or a deploy command that worked, one line says to move the matching item (to Doing for a new pull request, to Done after a merge or a deploy) and add a short comment.
  • It does this only in a project whose CLAUDE.md or AGENTS.md has a Listspace board: line (in the folder or one above it, up to the repository root), or in a session that used a Listspace tool (the progress check's note). From the file it takes only a link to a Listspace board, never other text.
  • It writes nothing and makes no network call. Same Node.js and ; exit 0 rules as the decision check.
  • Tests: node --test agent/scripts/board-hooks.test.mjs.

What is left out, and why

  • Device pairing for `login`: the API has it (POST /auth/device), but the CLI does not use it yet. login already separates "how the token is obtained" from saving it; a TODO in cli/src/cli.ts marks where pairing goes. --token and a piped token stay for scripts.
  • A token in the plugin: .mcp.json has no headers on purpose. A token would ship to every user; sign-in through /mcp is per user. The check script refuses headers there.
  • The CLI inside the plugin (bin/): left out, because claude.ai and Cowork do not install plugins with a top-level bin/ and the MCP server covers Claude Code.

Publishing

  1. Skill via `npx skills add`: published. The public repository listspace/agent holds this folder at its root, so npx skills add listspace/agent works.
  2. CLI on npm: published as the unscoped listspace (0.6.0). To release a new version: bump the one version (see "Editing the skill"), check the package contents with npm pack --dry-run, then npm publish from agent/cli with an npm account with 2FA. prepublishOnly runs the type check, tests and build.
  3. Claude Code plugin: the public repo doubles as a marketplace (.claude-plugin/marketplace.json), so users run /plugin marketplace add listspace/agent and /plugin install listspace@listspace. Listing in Anthropic's plugin directory is a separate submission; the owner decides on it, with privacy policy and terms URLs for that listing.

Sources: Claude Code plugin manifest reference (https://code.claude.com/docs/en/plugins-reference), plugin loading and --plugin-dir (https://code.claude.com/docs/en/plugins/loading), marketplace reference (https://code.claude.com/docs/en/plugins/marketplace-reference), skills (https://code.claude.com/docs/en/skills), Agent Skills specification (https://agentskills.io/specification), the skills CLI (https://github.com/vercel-labs/skills), and Postiz's agent repo as the model (https://github.com/gitroomhq/postiz-agent).

Ask PopNx