things-cloud-mcp
Model Context Protocol (MCP) server for Things3. Gives AI agents full read/write access to your tasks through a running things-api instance.
Setup
Prerequisites
A running things-api instance with an API key configured.
Install
uvx things-cloud-mcp
Or install from source:
pip install things-cloud-mcp
Environment Variables
| Variable | Description | Default |
|---|---|---|
THINGS_API_URL |
URL of your things-api instance | http://localhost:8000 |
THINGS_API_KEY |
API key for authentication | (required) |
Agent Configuration
Claude Code
Add to your .claude/settings.json:
{
"mcpServers": {
"things": {
"command": "uvx",
"args": ["things-cloud-mcp"],
"env": {
"THINGS_API_URL": "http://localhost:8000",
"THINGS_API_KEY": "your-api-key"
}
}
}
}
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"things": {
"command": "uvx",
"args": ["things-cloud-mcp"],
"env": {
"THINGS_API_URL": "http://localhost:8000",
"THINGS_API_KEY": "your-api-key"
}
}
}
}
Codex
{
"mcpServers": {
"things": {
"command": "uvx",
"args": ["things-cloud-mcp"],
"env": {
"THINGS_API_URL": "http://localhost:8000",
"THINGS_API_KEY": "your-api-key"
}
}
}
}
Available Tools
Read Tools
| Tool | Description |
|---|---|
list_inbox |
Tasks not yet scheduled |
list_today |
Tasks for today or earlier |
list_upcoming |
Tasks scheduled for the future |
list_anytime |
Tasks available anytime |
list_someday |
Low-priority ideas |
list_logbook |
Completed tasks (last 30 days) |
list_trash |
Trashed tasks |
get_task |
Single task by UUID |
list_areas |
All areas |
list_tags |
All tags |
list_projects |
Active projects (with include_completed opt-in) |
list_tasks_by_tag |
Tasks with a specific tag |
list_all_tasks |
Every non-trashed task across the library |
search_tasks |
Full-text search across title, notes, and checklist items |
search_advanced |
Multi-predicate filter (status, type, schedule, area, project, tag, date ranges, modified/completed since) |
Pagination is opt-in. Every list tool exposes
limitandoffsetarguments, but they default to unset — calling a list tool with no arguments returns the full result set in one response. Agents that need every task should leave the parameters unset; only page (incrementoffsetbylimituntil the response is shorter thanlimit) when a result set is too large to handle in one chunk.
Write Tools
| Tool | Description |
|---|---|
create_task |
Create a new task |
update_task |
Update task fields |
complete_task |
Mark task as completed |
cancel_task |
Cancel a task |
delete_task |
Move task to trash |
schedule_task |
Schedule for today/anytime/someday/date |
move_to_project |
Move task into a project |
assign_tags |
Set tags on a task |
create_tag |
Create a new tag |
add_checklist_item |
Add a sub-task to a task |
complete_checklist_item |
Tick a checklist item |
uncomplete_checklist_item |
Untick a checklist item |
create_project |
Create a new project |
update_project |
Update project fields |
complete_project |
Mark a project as completed |
delete_project |
Move a project to trash |
trigger_sync |
Sync changes to Things Cloud |
License
Apache-2.0
Metadata
Release files for things-cloud-mcp 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| things_cloud_mcp-0.3.3.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| things_cloud_mcp-0.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / things_cloud_mcp-0.3.3.tar.gz
| Download URL | things_cloud_mcp-0.3.3.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6b8990bd7922317c8b7372ddacbce672cc061369874dc34d17276d1ea7697a1
|
|
BLAKE2b-256 checksum How to use checksums |
1dc9e34c7e35f469f6cdeafd4bfb3c39b08308b8b740a8677943daeeae8ff8b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 28, 2026.
Transparency logRelease files / things_cloud_mcp-0.3.3-py3-none-any.whl
| Download URL | things_cloud_mcp-0.3.3-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b0c618d6046ff79db8eb9a0dd56d81dc461405150edbfd528e51f9ad1cb6f306
|
|
BLAKE2b-256 checksum How to use checksums |
6b3dd60b62555d98b238153b52b613ace5101d19f52fd5e4f6d37f2f98f74e70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 28, 2026.
Transparency log