Things 3 MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_inboxB | Get todos from Inbox. |
| get_todayB | Get todos due today. |
| get_upcomingA | Get all upcoming todos (those with a start date in the future). |
| get_anytimeA | Get all todos from Anytime list. Note that this will return an extensive list of tasks. It is generally recommended to use get_todos with filters or search_todos instead. |
| get_random_inboxA | Get a random sample of todos from Inbox. |
| get_random_anytimeA | Get a random sample of items from the Anytime list. |
| get_somedayA | Get todos from Someday list. |
| get_logbookA | Get completed todos from Logbook, defaults to last 7 days. |
| get_trashB | Get trashed todos. |
| get_todosB | Get todos from Things, optionally filtered by project. |
| get_random_todosA | Get a random sample of todos, optionally filtered by project. |
| get_projectsB | Get all projects from Things. |
| get_areasA | Get all areas from Things. Use these names when assigning a task or project to an area. |
| get_tagsB | Get all tags. |
| get_tagged_itemsC | Get items with a specific tag. |
| search_todosA | Search todos by title or notes. |
| search_advancedC | Advanced todo search with multiple filters. |
| add_todoA | Create a new todo in Things. |
| add_projectA | Create a new project in Things. |
| update_todoA | Update an existing todo in Things. |
| update_projectA | Update an existing project in Things. |
| show_itemB | Show a specific item or list in Things. |
| search_itemsC | Search for items in Things. |
| get_recentB | Get recently created items. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 24 tools
Most tools have distinct purposes (e.g., get lists for different views, search tools with different scopes). Some overlap exists between search_items, search_todos, and search_advanced, but descriptions clarify the differences. Overall, an agent can reliably distinguish tools.
All tools follow a consistent verb_noun pattern in snake_case (add_, get_, update_, search_, show_). No mixing of styles or unpredictable patterns, making it easy to infer tool behavior from name.
With 24 tools, the server covers a wide range of task management operations. While slightly on the higher side, each tool serves a specific purpose and fits the domain of a full-featured task manager.
The server provides strong coverage for creating, reading, and updating tasks and projects. However, there is no explicit delete tool (only move to trash via update), and the search functionality has some redundancy. Minor gaps exist but core workflows are supported.