Model Context Protocol server for Things3 — gives AI agents read/write access to your tasks via things-api
Project description
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 |
All projects |
list_tasks_by_tag |
Tasks with a specific tag |
list_all_tasks |
Every non-trashed task across the library |
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 |
trigger_sync |
Sync changes to Things Cloud |
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file things_cloud_mcp-0.3.2.tar.gz.
File metadata
- Download URL: things_cloud_mcp-0.3.2.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53462347f782b76d0000952cb29ded25b7a3fadace1eca69647d0b531b948cba
|
|
| MD5 |
e4c81b9f540e381f2d10975c07c2e7eb
|
|
| BLAKE2b-256 |
98b45de0a9d90f3ef3120c455882c02bd6e7ae875bbf5057f897d61148d252c6
|
Provenance
The following attestation bundles were made for things_cloud_mcp-0.3.2.tar.gz:
Publisher:
release.yml on nkootstra/things
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
things_cloud_mcp-0.3.2.tar.gz -
Subject digest:
53462347f782b76d0000952cb29ded25b7a3fadace1eca69647d0b531b948cba - Sigstore transparency entry: 1397882978
- Sigstore integration time:
-
Permalink:
nkootstra/things@1b18aa44c327e09394df286a0822dffbfcd6f3d5 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/nkootstra
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1b18aa44c327e09394df286a0822dffbfcd6f3d5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file things_cloud_mcp-0.3.2-py3-none-any.whl.
File metadata
- Download URL: things_cloud_mcp-0.3.2-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e48bc17526af5dae8eae7679c4e97aef2661c5a3cb1e801a8073baa997a567be
|
|
| MD5 |
b2cc169f5403772f8d3e67475e1364bf
|
|
| BLAKE2b-256 |
2a9eeea750ec346bbdd5e00ed5115eae9d70890dda8bcaef7e328277e67c6849
|
Provenance
The following attestation bundles were made for things_cloud_mcp-0.3.2-py3-none-any.whl:
Publisher:
release.yml on nkootstra/things
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
things_cloud_mcp-0.3.2-py3-none-any.whl -
Subject digest:
e48bc17526af5dae8eae7679c4e97aef2661c5a3cb1e801a8073baa997a567be - Sigstore transparency entry: 1397883142
- Sigstore integration time:
-
Permalink:
nkootstra/things@1b18aa44c327e09394df286a0822dffbfcd6f3d5 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/nkootstra
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1b18aa44c327e09394df286a0822dffbfcd6f3d5 -
Trigger Event:
push
-
Statement type: