Listspace

app.listspacev2.0.0Updated Oct 8, 2026

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

VerifiedStreamable HTTPWeb executableDeveloper ToolsProductivity & Workflow

Overview

AI-generated overview

Lets an AI assistant read and update the user's Listspace boards as project memory for coding work.

What it does
Listspace is a remote MCP server that exposes the user's Listspace boards to an assistant, so a board can act as project memory. The README describes a companion skill and a Node CLI over the same REST API, with commands such as login, whoami, session, add and attach. The CLI can add items and attach files from disk, and every command supports JSON output.
When to use it
Use it when a coding agent should keep a Listspace board up to date as it works, or read that board for context. It suits teams already using Listspace boards for project tracking.
Requirements
A remote endpoint at mcp.listspace.app; no packages, environment variables or headers are declared in the manifest. The README says sign-in is OAuth through the MCP client, or a personal token from Listspace Settings > API for the CLI. The CLI needs Node 20 or later; LISTSPACE_TOKEN and LISTSPACE_API_URL are optional overrides.
Before you install
The CLI stores a personal token in credentials.json in the OS config directory, and LISTSPACE_TOKEN can override it. The server can write to boards, adding items and attaching files, so changes should be reviewed. The README notes the plugin deliberately ships no token headers because a token would reach every user.

Installation

In SourceWeft

  1. Open Listspace in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

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

README

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:

bash
npx listspace login     # paste a personal token from Listspace: Settings > APInpx listspace boards
PathWhat it is
skills/listspace/The skill: SKILL.md (the work loop) plus reference/ (tools, freedom levels, 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 over the REST API (https://api.listspace.app/v1) for agents without the MCP server. 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 their 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:

bash
node agent/scripts/sync-skill.mjsnode 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

bash
cd agent/clinpm cinpm run buildnode dist/listspace.mjs login            # paste a token from Listspace: Settings > APInode dist/listspace.mjs whoaminode dist/listspace.mjs session "<board title or id>"node dist/listspace.mjs add "<board>" 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 points 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:

bash
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:

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

Or as a local marketplace, which keeps it installed:

bash
claude plugin marketplace add ./agentclaude 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.

What is left out, and why

  • comment: the API has it (POST /v1/items/:id/comments, MCP add_comment), but the CLI does not yet. Agents on the CLI log progress in a Project info item (the skill says so). attach is in the CLI since 0.2.0, because a file on disk is the one thing an agent cannot send reliably through MCP.
  • Device pairing for login: comes with sign-up (PR 9). 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.1.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).

Source: README.md at commit c98198a

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v2.0.0LatestOct 8, 2026