loading…
Search for a command to run...
loading…
SupaThings MCP is a macOS server that enables AI agents to read and manage Things 3 data by combining SQLite-based queries with official URL-scheme commands. It
SupaThings MCP is a macOS server that enables AI agents to read and manage Things 3 data by combining SQLite-based queries with official URL-scheme commands. It provides over 30 tools for project structural analysis and task placement, allowing agents to understand and interact with tasks while maintaining safe interoperability.
SupaThings MCP is a Things 3 MCP server for macOS.
It was built to solve a practical gap: AI agents can write to Things via things:///, but they cannot reliably understand your real project structure from URL commands alone.
SupaThings combines SQLite-based reads with official URL-scheme writes, so agents can both understand and act safely.
npx -y supathings-mcp
npm install -g supathings-mcp
Alias also available:
things-mcp
npm install
npm run build
node dist/index.js
{
"mcpServers": {
"supathings": {
"command": "npx",
"args": ["-y", "supathings-mcp"]
}
}
}
Codex:
codex mcp add supathings -- npx -y supathings-mcp
Claude Code:
claude mcp add --transport stdio supathings -- npx -y supathings-mcp
Gemini CLI:
gemini mcp add -s user supathings npx -y supathings-mcp
MCP servers expose tools over a standard protocol so AI clients can call them programmatically.
In Things, there are two realities:
things:/// URL scheme is excellent for creating/updating/navigating items.SupaThings was built to bridge that split.
Technical approach:
things:/// URL actions for safe interoperability.Why this is useful in practice:
Current release: 0.4.0
Shipped scope today:
37 MCP toolsthings:/// URL schemeCurrent boundaries:
Three-layer model:
things:/// layer for writes, updates, moves, and navigationshow-quick-entry, log-completed, empty-trash)This split is deliberate: read from local truth, write through supported Things APIs.
SupaThings is opinionated here: Things should be treated like Things.
Headings are modeled as semantic groupings (categories, work blocks, deliverables), not as a Jira-style workflow board by default.
That changes:
Use when the project does not exist yet:
suggest-headingscreate-project-with-headingsget-projects or get-project-structureUse when the project already exists but needs structure:
get-headings or suggest-headingsvalidate-headingsWhy: creating headings is most reliable during brand-new project creation.
get-project-structuresummarize-projectsuggest-task-placementCurrent exposed tools: 37
| Category | Tools |
|---|---|
| Read and inspection | app-status, version, get-areas, get-tags, get-projects, get-headings, get-project-structure, get-todos, get-inbox, get-today, get-upcoming, get-anytime, get-someday, get-logbook, get-trash, get-tagged-items, get-recent, search-todos, search-items, search-advanced |
| Semantic planning | suggest-headings, validate-headings, suggest-task-placement, summarize-project |
| Write and navigation | add-todo, add-project, create-project-with-headings, update, update-project, update-todo, show, show-item, search, json |
| Optional AppleScript | show-quick-entry, log-completed, empty-trash |
If Apple Events are unavailable, these fail gracefully.
SupaThings is designed to reduce context burn in AI workflows.
Current efficiency features:
detail: "compact" | "full" on major read/search toolslimit on major list/search toolsget-project-structure for lightweight structural inspectionsummarize-project for planning-focused summariessuggest-task-placement for semantic placement suggestionsnpm run build
npm run smoke
npm run smoke:mcp
Smoke coverage includes:
suggest-headings, get-project-structure, suggest-task-placement, summarize-project)npm pack
See:
docs/PUBLISHING_GUIDE.mdQuick release summary:
v0.4.0).npm publish --access public).npx -y supathings-mcp and client setup commands.This project builds on prior work and ideas from:
Licensing and attribution details are included in LICENSE and NOTICE.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"supathings-mcp": {
"command": "npx",
"args": []
}
}
}