Spreo
FreeNot checkedMCP server for read-only access to Spreo (formerly Ludi (formerly Metro Retro)) boards
About
MCP server for read-only access to Spreo (formerly Ludi (formerly Metro Retro)) boards
README
MCP server that gives AI assistants access to Spreo boards (formerly Ludi / Metro Retro): read board content, and create new boards from templates.
Rename note: the product was renamed Ludi → Spreo (July 2026). The API now lives at
spreo.io(ludi.costill 301-redirects) and the API-key env var isSPREO_API_KEY(the oldLUDI_API_KEYis still accepted as a fallback).
Tools
| Tool | Description |
|---|---|
list_boards |
Search and browse boards by name or workspace |
get_board_content |
Read full board content — parsed into sections with stickies, text, cards. Supports filtering by item type and section name. |
list_workspaces |
List all workspaces |
get_board_participants |
See who's on a board |
resolve_users |
Look up users by name or ID |
list_tasks |
List action items for a workspace |
list_templates |
Search board templates by keyword (title, description, tags) — e.g. find a template for a meeting or retro |
create_board |
Create a new board from a template (or blank) in a workspace |
The read tools are unrestricted. The only write capability is creating boards (blank or from a template). The server cannot add individual items to a board, nor edit or delete existing boards or their content — board content is only editable in the Spreo app itself.
Setup
1. Get your Spreo API key
Log in to https://spreo.io/developers and copy your API key.
2. Build
git clone https://github.com/s1st/spreo-mcp-server.git
cd spreo-mcp-server
npm install
npm run build
3. Configure in Claude Code
Add to ~/.claude/.mcp.json:
{
"spreo": {
"command": "node",
"args": ["/path/to/spreo-mcp-server/dist/index.js"],
"env": {
"SPREO_API_KEY": "your-api-key-here"
}
}
}
Restart Claude Code. The tools will be available automatically.
Usage examples
Once connected, just talk to Claude naturally:
- "What boards do we have in Team AIthena?"
- "Show me the content of the Kick-Off board"
- "Extract the action items and contacts from that board"
- "Who participated in the last retro?"
- "Show me only the stickies from the Risks section"
- "Find a good template for a customer discovery meeting and create a board from it in Team AIthena"
How it works
boards.list2 → find board by name/workspace
boards.info → get podId for a board
pods.snapshots → get full board content as flat JSON
The snapshot contains all items (Stickies, Text, Shapes, IndexCards, Tokens, etc.) with their positions and hierarchical relationships.
The parser identifies sections by:
- Finding labeled Shape headers (e.g. "#1 Introduction")
- Finding unlabeled container Shapes at the same y-level that hold the actual content
- Using
childLinksto recursively collect all items inside those containers
This matches how Spreo organizes boards — items placed inside a zone Shape become its children.
Known limitations
- Floating items: Stickies placed outside any zone container show up as "Ungrouped"
- Reactions: Emoji reactions show as unicode codepoints (e.g.
2705instead of ✅) - Tasks API: The
list_tasksendpoint currently returns a 500 error on Spreo's side — the tool will work once they fix it
Tech
- TypeScript + MCP SDK
- Spreo API v2 (Bearer token auth)
- ~200 lines of code
Spreo API docs
Full API reference (requires login): https://spreo.io/developers
Installing Spreo
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/s1st/spreo-mcp-serverFAQ
Is Spreo MCP free?
Yes, Spreo MCP is free — one-click install via Unyly at no cost.
Does Spreo need an API key?
No, Spreo runs without API keys or environment variables.
Is Spreo hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Spreo in Claude Desktop, Claude Code or Cursor?
Open Spreo on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Spreo with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
