Smart Things Planner
Provides read-only access to Gmail accounts to scan emails and suggest task creation based on content.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Smart Things PlannerScan my Gmail and preview task suggestions for this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Smart Things Planner
Turn Gmail and natural-language requests into reviewed, workload-aware Things 3 tasks. The same skill works in Codex and Claude Code.
What it does
Scans one or more Gmail accounts through a read-only local MCP server.
Reads message bodies instead of deciding from subject lines alone.
Suggests start dates from your existing Things workload over a default 14-day window.
Discovers your current Things Areas dynamically instead of hardcoding names.
Uses exactly one workload tag per task:
🍅,🍅🍅,🍅🍅🍅,☀️, or☀️☀️.Treats any dedicated trip away from home as at least
☀️.Shows a fixed preview table and requires approval before creating anything.
The Things bridge can list structure and open workload, find mail source markers, initialize the five workload tags with confirmation, and create approved tasks. It has no tools to complete, delete, cancel, or edit existing tasks. The Gmail bridge has no send, draft, label, archive, trash, or delete tools.
Related MCP server: Gmail MCP Server
Requirements
macOS with Things 3
Python 3.10+
Codex, Claude Code, or both
Google Workspace CLI (
gws) for Gmail scanning
Install gws with Homebrew:
brew install googleworkspace-cliInstall
Clone the repository, then run the installer from its root. The installer can launch any Python 3 available on your Mac and will automatically choose Python 3.10+ for its private environment. Gmail accounts are optional and can be repeated:
python3 scripts/install.py \
--gmail-profile personal=~/.config/gws-personal \
--gmail-profile school=~/.config/gws-schoolUse --client codex or --client claude to install for only one client. The installer creates a local virtual environment, links the shared skill into each client, and registers separate MCP processes for Things and each Gmail account. Existing matching entries are preserved; pass --force only when you intentionally want to replace them.
Restart Codex or Claude Code after installation.
Authorize Gmail
Each Gmail account uses an isolated configuration directory. You can either run gws auth setup for each profile or create a Google Cloud Desktop OAuth client yourself, enable the Gmail API, and place its downloaded JSON at client_secret.json inside each profile directory.
GOOGLE_WORKSPACE_CLI_CONFIG_DIR=~/.config/gws-personal gws auth setup
GOOGLE_WORKSPACE_CLI_CONFIG_DIR=~/.config/gws-school gws auth setupThen authorize each account read-only:
GOOGLE_WORKSPACE_CLI_CONFIG_DIR=~/.config/gws-personal gws auth login --readonly -s gmail
GOOGLE_WORKSPACE_CLI_CONFIG_DIR=~/.config/gws-school gws auth login --readonly -s gmailNever commit client-secret JSON or OAuth tokens. The included .gitignore blocks common credential filenames.
First use
Ask the agent to initialize the workload tags. This operation still requires an explicit confirmation:
Initialize the Things workload tags for Smart Things Planner.
Then try either mode:
Check both Gmail accounts for the last 14 days, preview candidate tasks, and do not write to Things yet.
Schedule three harmonica practice sessions over the next week.
Every candidate preview uses:
# | 标题 | 去向 | 负荷 | 开始日期 | 截止日期 | 依据与说明
Missing deadlines are always shown as N/A. Approval applies only to the displayed version.
Privacy and performance
Full Gmail messages are prefetched with eight workers and cached only in the MCP process memory.
Each account has its own cache, limited to 512 messages.
Email bodies are cleaned before being returned to the agent and are never written to disk by this project.
The cache disappears when the MCP process exits.
Things is controlled through AppleScript/JXA and Things URL schemes; the database and Things Cloud credentials are never accessed.
Development
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python -m unittest discover -s tests -vThe repository contains both Codex and Claude Code plugin metadata. The installer remains the recommended setup because it creates an isolated Python environment and supports multiple Gmail accounts.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Read, organise and send from your existing email accounts. Nothing sends without your approval.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables natural language interaction with Gmail, providing email search, categorized daily summaries, and Home Assistant integration through REST API with read-only access to your inbox.20MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Gmail accounts for reading unread emails, creating draft replies with proper threading, and managing messages, with optional professional writing guidelines, templates, and Google Docs/Calendar integration.-
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to interact with Gmail for classifying messages, extracting action items, and performing batch inbox triage. It supports automated labeling, smart replies, and task creation for external platforms like Linear, Jira, and Todoist.-
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered email management through Gmail, including search, send, drafts, labels, and an intelligent agent with human approval workflow and optional customer database integration.-