mcp-server-things 1.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. mcp_server_things-1.1.2/LICENSE +36 -0
  2. mcp_server_things-1.1.2/PKG-INFO +471 -0
  3. mcp_server_things-1.1.2/README.md +415 -0
  4. mcp_server_things-1.1.2/pyproject.toml +234 -0
  5. mcp_server_things-1.1.2/setup.cfg +4 -0
  6. mcp_server_things-1.1.2/src/mcp_server_things.egg-info/PKG-INFO +471 -0
  7. mcp_server_things-1.1.2/src/mcp_server_things.egg-info/SOURCES.txt +36 -0
  8. mcp_server_things-1.1.2/src/mcp_server_things.egg-info/dependency_links.txt +1 -0
  9. mcp_server_things-1.1.2/src/mcp_server_things.egg-info/entry_points.txt +2 -0
  10. mcp_server_things-1.1.2/src/mcp_server_things.egg-info/requires.txt +33 -0
  11. mcp_server_things-1.1.2/src/mcp_server_things.egg-info/top_level.txt +1 -0
  12. mcp_server_things-1.1.2/src/things_mcp/__init__.py +1 -0
  13. mcp_server_things-1.1.2/src/things_mcp/__main__.py +6 -0
  14. mcp_server_things-1.1.2/src/things_mcp/config.py +559 -0
  15. mcp_server_things-1.1.2/src/things_mcp/context_manager.py +770 -0
  16. mcp_server_things-1.1.2/src/things_mcp/hybrid_tools.py +1003 -0
  17. mcp_server_things-1.1.2/src/things_mcp/locale_aware_dates.py +501 -0
  18. mcp_server_things-1.1.2/src/things_mcp/main.py +329 -0
  19. mcp_server_things-1.1.2/src/things_mcp/models/__init__.py +62 -0
  20. mcp_server_things-1.1.2/src/things_mcp/models/response_models.py +38 -0
  21. mcp_server_things-1.1.2/src/things_mcp/models/things_models.py +409 -0
  22. mcp_server_things-1.1.2/src/things_mcp/move_operations.py +530 -0
  23. mcp_server_things-1.1.2/src/things_mcp/operation_queue.py +455 -0
  24. mcp_server_things-1.1.2/src/things_mcp/pure_applescript_scheduler.py +1242 -0
  25. mcp_server_things-1.1.2/src/things_mcp/reliable_scheduling.py +339 -0
  26. mcp_server_things-1.1.2/src/things_mcp/response_optimizer.py +376 -0
  27. mcp_server_things-1.1.2/src/things_mcp/server.py +1578 -0
  28. mcp_server_things-1.1.2/src/things_mcp/server_outdated.py +503 -0
  29. mcp_server_things-1.1.2/src/things_mcp/services/__init__.py +14 -0
  30. mcp_server_things-1.1.2/src/things_mcp/services/applescript_manager.py +1657 -0
  31. mcp_server_things-1.1.2/src/things_mcp/services/cache_manager.py +107 -0
  32. mcp_server_things-1.1.2/src/things_mcp/services/error_handler.py +418 -0
  33. mcp_server_things-1.1.2/src/things_mcp/services/tag_service.py +313 -0
  34. mcp_server_things-1.1.2/src/things_mcp/services/validation_service.py +338 -0
  35. mcp_server_things-1.1.2/src/things_mcp/shared_cache.py +334 -0
  36. mcp_server_things-1.1.2/src/things_mcp/tools.py +3282 -0
  37. mcp_server_things-1.1.2/src/things_mcp/utils/__init__.py +1 -0
  38. mcp_server_things-1.1.2/src/things_mcp/utils/applescript_utils.py +50 -0
@@ -0,0 +1,36 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Eric Bowman
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ ATTRIBUTION NOTICES:
26
+
27
+ This software is built using the FastMCP framework, which is licensed under
28
+ the Apache License 2.0. For full FastMCP license terms, see:
29
+ https://github.com/jlowin/fastmcp/blob/main/LICENSE
30
+
31
+ This software integrates with Things 3 by Cultured Code using official
32
+ AppleScript APIs. Things 3 is a trademark of Cultured Code GmbH & Co. KG.
33
+ This project is not affiliated with or endorsed by Cultured Code.
34
+
35
+ AppleScript is a technology by Apple Inc. This project uses AppleScript
36
+ in accordance with Apple's terms and conditions for automation.
@@ -0,0 +1,471 @@
1
+ Metadata-Version: 2.4
2
+ Name: mcp-server-things
3
+ Version: 1.1.2
4
+ Summary: Model Context Protocol server for Things 3 task management integration
5
+ Author-email: MCP Developer <developer@example.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/ebowman/mcp-server-things
8
+ Project-URL: Bug Reports, https://github.com/ebowman/mcp-server-things/issues
9
+ Project-URL: Source, https://github.com/ebowman/mcp-server-things
10
+ Keywords: mcp,things3,applescript,task-management,productivity
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: MacOS
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Office/Business :: Scheduling
22
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
23
+ Requires-Python: >=3.8
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: fastmcp>=2.0.0
27
+ Requires-Dist: pydantic>=2.0.0
28
+ Requires-Dist: pydantic-settings>=2.0.0
29
+ Requires-Dist: asyncio-mqtt>=0.11.0
30
+ Requires-Dist: things.py>=0.0.15
31
+ Provides-Extra: config
32
+ Requires-Dist: python-dotenv>=0.19.0; extra == "config"
33
+ Provides-Extra: dev
34
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
35
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
36
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
37
+ Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
38
+ Requires-Dist: pytest-benchmark>=4.0.0; extra == "dev"
39
+ Requires-Dist: black>=23.0.0; extra == "dev"
40
+ Requires-Dist: isort>=5.0.0; extra == "dev"
41
+ Requires-Dist: flake8>=6.0.0; extra == "dev"
42
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
43
+ Requires-Dist: pre-commit>=3.0.0; extra == "dev"
44
+ Requires-Dist: python-dotenv>=0.19.0; extra == "dev"
45
+ Provides-Extra: test
46
+ Requires-Dist: pytest>=7.0.0; extra == "test"
47
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
48
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
49
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
50
+ Requires-Dist: coverage>=7.0.0; extra == "test"
51
+ Provides-Extra: docs
52
+ Requires-Dist: sphinx>=5.0.0; extra == "docs"
53
+ Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
54
+ Requires-Dist: myst-parser>=1.0.0; extra == "docs"
55
+ Dynamic: license-file
56
+
57
+ # Things 3 MCP Server
58
+
59
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
60
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
61
+ [![macOS](https://img.shields.io/badge/macOS-12+-green.svg)](https://www.apple.com/macos/)
62
+
63
+ A Model Context Protocol (MCP) server that connects Claude and other AI assistants to Things 3 for natural language task management.
64
+
65
+ ## Installation
66
+
67
+ ### Option 1: From PyPI (Recommended)
68
+
69
+ 1. Create and activate a virtual environment:
70
+ ```bash
71
+ python3 -m venv venv
72
+ source venv/bin/activate # On macOS/Linux
73
+ ```
74
+
75
+ 2. Install the package:
76
+ ```bash
77
+ pip install mcp-server-things
78
+ ```
79
+
80
+ ### Option 2: From Source (Development)
81
+
82
+ 1. Clone the repository:
83
+ ```bash
84
+ git clone https://github.com/ebowman/mcp-server-things.git
85
+ cd mcp-server-things
86
+ ```
87
+
88
+ 2. Create and activate a virtual environment:
89
+ ```bash
90
+ python3 -m venv venv
91
+ source venv/bin/activate # On macOS/Linux
92
+ ```
93
+
94
+ 3. Install dependencies:
95
+ ```bash
96
+ pip install -r requirements.txt
97
+ ```
98
+
99
+ 4. Install in development mode:
100
+ ```bash
101
+ pip install -e .
102
+ ```
103
+
104
+ ## Claude Desktop Configuration
105
+
106
+ ### For PyPI Installation
107
+
108
+ Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
109
+
110
+ ```json
111
+ {
112
+ "mcpServers": {
113
+ "things": {
114
+ "command": "/path/to/your/venv/bin/python",
115
+ "args": ["-m", "things_mcp"],
116
+ "env": {
117
+ "THINGS_MCP_LOG_LEVEL": "INFO",
118
+ "THINGS_MCP_APPLESCRIPT_TIMEOUT": "30"
119
+ }
120
+ }
121
+ }
122
+ }
123
+ ```
124
+
125
+ ### For Source Installation
126
+
127
+ Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
128
+
129
+ ```json
130
+ {
131
+ "mcpServers": {
132
+ "things": {
133
+ "command": "/path/to/mcp-server-things/venv/bin/python",
134
+ "args": ["-m", "things_mcp"],
135
+ "env": {
136
+ "PYTHONPATH": "/path/to/mcp-server-things/src",
137
+ "THINGS_MCP_LOG_LEVEL": "INFO",
138
+ "THINGS_MCP_APPLESCRIPT_TIMEOUT": "30"
139
+ }
140
+ }
141
+ }
142
+ }
143
+ ```
144
+
145
+ **Notes:**
146
+ - **PyPI**: Replace `/path/to/your/venv/bin/python` with your virtual environment's Python path
147
+ - **Source**: Replace `/path/to/mcp-server-things` with your actual installation path and include the `PYTHONPATH`
148
+ - Use the full path to the Python executable in your virtual environment
149
+ - See Configuration section below for environment variable options
150
+
151
+ ![Demo showing Claude creating tasks in Things 3](demo.gif)
152
+ *Creating tasks with natural language through Claude*
153
+
154
+ ## 📚 Documentation
155
+
156
+ - **[User Examples](docs/USER_EXAMPLES.md)** - Rich examples of how to use Things 3 with AI assistants
157
+ - **[Architecture Overview](docs/ARCHITECTURE.md)** - Technical design and implementation details
158
+ - **[Troubleshooting](docs/TROUBLESHOOTING.md)** - Common issues and solutions
159
+
160
+ ## Features
161
+
162
+ ### Core Todo Operations
163
+ - **Create**: Add todos with full metadata (tags, deadlines, projects, notes, reminders)
164
+ - **Read**: Get todos by ID, project, or built-in lists (Today, Inbox, Upcoming, etc.)
165
+ - **Update**: Modify existing todos with partial updates
166
+ - **Delete**: Remove todos safely
167
+ - **Search**: Find todos by title, notes, or advanced filters
168
+
169
+ ### Project & Area Management
170
+ - Get all projects and areas with optional task inclusion
171
+ - Create new projects with initial todos
172
+ - Update project metadata and status
173
+ - Organize todos within project hierarchies
174
+
175
+ ### Built-in List Access
176
+ - **Inbox**: Capture new items
177
+ - **Today**: Items scheduled for today
178
+ - **Upcoming**: Future scheduled items
179
+ - **Anytime**: Items without specific dates
180
+ - **Someday**: Items for future consideration
181
+ - **Logbook**: Completed items history
182
+ - **Trash**: Deleted items
183
+
184
+ ### Advanced Features
185
+ - **Reminder Support**: Create todos with specific reminder times (e.g., "today@14:30")
186
+ - Uses hybrid approach: AppleScript for regular todos, URL scheme for reminders
187
+ - This works around AppleScript API limitation (cannot set reminder times)
188
+ - **Tag Management**: Full tag support with AI creation control
189
+ - **Date-Range Queries**: Get todos due/activating within specific timeframes
190
+ - **URL Schemes**: Native Things 3 URL scheme integration
191
+ - **Health Monitoring**: System health checks and queue status monitoring
192
+ - **Error Handling**: Robust error handling with configurable retries
193
+ - **Logging**: Structured logging with configurable levels
194
+ - **Concurrency Support**: Multi-client safe operation with operation queuing
195
+ - **Input Validation**: Configurable limits for titles, notes, and tags
196
+
197
+ ## Requirements
198
+
199
+ - **macOS**: This server requires macOS (tested on macOS 12+)
200
+ - **Things 3**: Things 3 must be installed and accessible
201
+ - **Python**: Python 3.8 or higher
202
+ - **Permissions**: AppleScript permissions for Things 3 access
203
+
204
+ ## Quick Start
205
+
206
+ Once installed, Claude (or other MCP clients) can automatically discover and use all available tools. No additional setup required.
207
+
208
+ ## Configuration
209
+
210
+ The server uses environment variables for configuration. You can set these variables in three ways:
211
+ 1. System environment variables
212
+ 2. A `.env` file (automatically loaded from the current directory)
213
+ 3. A custom `.env` file specified with `--env-file`
214
+
215
+ ### Using the .env File
216
+
217
+ 1. **Review the example configuration:**
218
+ ```bash
219
+ cat .env.example
220
+ ```
221
+
222
+ 2. **Create your own .env file:**
223
+ ```bash
224
+ cp .env.example .env
225
+ # Edit .env to customize settings
226
+ ```
227
+
228
+ 3. **Or use a custom location:**
229
+ ```bash
230
+ cp .env.example ~/my-things-config.env
231
+ python -m things_mcp --env-file ~/my-things-config.env
232
+ ```
233
+
234
+ ### Key Configuration Options
235
+
236
+ ```bash
237
+ # Server identification
238
+ THINGS_MCP_SERVER_NAME=things3-mcp-server
239
+ THINGS_MCP_SERVER_VERSION=1.0.0
240
+
241
+ # AppleScript execution
242
+ THINGS_MCP_APPLESCRIPT_TIMEOUT=30.0 # Timeout in seconds (1-300)
243
+ THINGS_MCP_APPLESCRIPT_RETRY_COUNT=3 # Retry attempts (0-10)
244
+
245
+ # Tag management - Control AI tag creation
246
+ THINGS_MCP_AI_CAN_CREATE_TAGS=false # false = AI can only use existing tags
247
+ THINGS_MCP_TAG_VALIDATION_CASE_SENSITIVE=false
248
+
249
+ # Logging
250
+ THINGS_MCP_LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR, CRITICAL
251
+ THINGS_MCP_LOG_FILE_PATH=/path/to/file.log # Optional: log to file instead of console
252
+
253
+ # Validation limits
254
+ THINGS_MCP_MAX_TITLE_LENGTH=500
255
+ THINGS_MCP_MAX_NOTES_LENGTH=10000
256
+ THINGS_MCP_MAX_TAGS_PER_ITEM=20
257
+ THINGS_MCP_SEARCH_RESULTS_LIMIT=100
258
+ ```
259
+
260
+ ### Command Line Options
261
+
262
+ The server supports several command-line options:
263
+
264
+ ```bash
265
+ # Start with debug logging
266
+ python -m things_mcp --debug
267
+
268
+ # Use a custom .env file
269
+ python -m things_mcp --env-file ~/my-config.env
270
+
271
+ # Check system health
272
+ python -m things_mcp --health-check
273
+
274
+ # Test AppleScript connectivity
275
+ python -m things_mcp --test-applescript
276
+
277
+ # Show version
278
+ python -m things_mcp --version
279
+
280
+ # Customize timeout and retry settings
281
+ python -m things_mcp --timeout 60 --retry-count 5
282
+ ```
283
+
284
+ ### Claude Desktop Environment Variables
285
+
286
+ You can set environment variables directly in your Claude Desktop configuration:
287
+
288
+ ```json
289
+ {
290
+ "mcpServers": {
291
+ "things": {
292
+ "env": {
293
+ "THINGS_MCP_LOG_LEVEL": "DEBUG",
294
+ "THINGS_MCP_AI_CAN_CREATE_TAGS": "true",
295
+ "THINGS_MCP_APPLESCRIPT_TIMEOUT": "60"
296
+ }
297
+ }
298
+ }
299
+ }
300
+ ```
301
+
302
+ ## Available MCP Tools
303
+
304
+ ### Todo Management
305
+ - `get_todos(project_uuid?, include_items?)` - List todos
306
+ - `add_todo(title, ...)` - Create new todo with optional reminder time
307
+ - `update_todo(id, ...)` - Update existing todo
308
+ - `get_todo_by_id(todo_id)` - Get specific todo
309
+ - `delete_todo(todo_id)` - Delete todo
310
+
311
+ ### Project Management
312
+ - `get_projects(include_items?)` - List projects
313
+ - `add_project(title, ...)` - Create new project
314
+ - `update_project(id, ...)` - Update existing project
315
+
316
+ ### Area Management
317
+ - `get_areas(include_items?)` - List areas
318
+
319
+ ### List Access
320
+ - `get_inbox()` - Get Inbox todos
321
+ - `get_today()` - Get Today's todos
322
+ - `get_upcoming()` - Get upcoming todos
323
+ - `get_anytime()` - Get Anytime todos
324
+ - `get_someday()` - Get Someday todos
325
+ - `get_logbook(limit?, period?)` - Get completed todos
326
+ - `get_trash()` - Get trashed todos
327
+
328
+ ### Date-Range Queries
329
+ - `get_due_in_days(days)` - Get todos due within specified days
330
+ - `get_activating_in_days(days)` - Get todos activating within days
331
+ - `get_upcoming_in_days(days)` - Get todos due or activating within days
332
+
333
+ ### Search & Tags
334
+ - `search_todos(query)` - Basic search
335
+ - `search_advanced(...)` - Advanced search with filters
336
+ - `get_tags(include_items?)` - List tags
337
+ - `create_tag(name)` - Create a new tag
338
+ - `get_tagged_items(tag)` - Get items with specific tag
339
+ - `add_tags(todo_id, tags)` - Add tags to a todo
340
+ - `remove_tags(todo_id, tags)` - Remove tags from a todo
341
+ - `get_recent(period)` - Get recently created items
342
+
343
+ ### Bulk Operations
344
+ - `move_record(record_id, to_parent_uuid)` - Move single record
345
+ - `bulk_move_records(record_ids, to_parent_uuid)` - Move multiple records
346
+
347
+ ### System & Utilities
348
+ - `health_check()` - Check server and Things 3 status
349
+ - `queue_status()` - Check operation queue status and statistics
350
+ - `get_server_capabilities()` - Get server features and configuration
351
+ - `get_usage_recommendations()` - Get usage tips and best practices
352
+ - `context_stats()` - Get context-aware response statistics
353
+
354
+
355
+ ## Troubleshooting
356
+
357
+ ### Common Issues
358
+
359
+ #### Permission Denied Errors
360
+ ```bash
361
+ # Grant AppleScript permissions to your terminal/IDE
362
+ # System Preferences > Security & Privacy > Privacy > Automation
363
+ # Enable access for your terminal application to control Things 3
364
+ ```
365
+
366
+ #### Things 3 Not Found
367
+ ```bash
368
+ # Verify Things 3 is installed and running
369
+ python -m things_mcp.main --health-check
370
+
371
+ # Check if Things 3 is in Applications folder
372
+ ls /Applications/ | grep -i things
373
+ ```
374
+
375
+ #### Connection Timeouts
376
+ ```bash
377
+ # Increase timeout value via environment variable
378
+ export THINGS_MCP_APPLESCRIPT_TIMEOUT=60
379
+
380
+ # Or in your .env file
381
+ THINGS_MCP_APPLESCRIPT_TIMEOUT=60
382
+ ```
383
+
384
+ ### Debug Mode
385
+
386
+ ```bash
387
+ # Enable debug logging
388
+ python -m things_mcp.main --debug
389
+
390
+ # Check logs
391
+ tail -f things_mcp.log
392
+ ```
393
+
394
+ ### Health Diagnostics
395
+
396
+ ```bash
397
+ # Comprehensive health check
398
+ python -m things_mcp.main --health-check
399
+
400
+ # Test specific components
401
+ python -m things_mcp.main --test-applescript
402
+ ```
403
+
404
+ ## Performance
405
+
406
+ - **Startup Time**: Less than 2 seconds
407
+ - **Response Time**: Less than 500ms for most operations
408
+ - **Memory Usage**: 15MB baseline, 50MB under concurrent load
409
+ - **Concurrent Requests**: Serialized write operations to prevent conflicts
410
+ - **Throughput**: Multiple operations per second depending on complexity
411
+ - **Queue Processing**: Less than 50ms latency for operation enqueuing
412
+
413
+ ## Security
414
+
415
+ - No network access required (local AppleScript only)
416
+ - No data stored outside of Things 3
417
+ - Minimal system permissions needed
418
+ - Secure AppleScript execution with timeouts
419
+ - Input validation on all parameters
420
+
421
+ ## Contributing
422
+
423
+ Contributions are welcome! Please follow these guidelines:
424
+
425
+ - Set up a virtual environment and install dependencies
426
+ - Follow existing code style and patterns
427
+ - Add tests for new features
428
+ - Submit pull requests with clear descriptions
429
+
430
+ ## Documentation
431
+
432
+ - [Troubleshooting Guide](docs/TROUBLESHOOTING.md) - Common issues and solutions
433
+ - [Development Roadmap](docs/ROADMAP.md) - Implementation status and missing features
434
+
435
+ ## License
436
+
437
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
438
+
439
+ ## Support
440
+
441
+ - **Issues**: [GitHub Issues](https://github.com/ebowman/mcp-server-things/issues)
442
+ - **Discussions**: [GitHub Discussions](https://github.com/ebowman/mcp-server-things/discussions)
443
+ - **Email**: ebowman@boboco.ie
444
+
445
+ ## Roadmap
446
+
447
+ ### Phase 1: Core Stability (Current)
448
+ - Complete MCP tool implementation (Completed)
449
+ - Robust error handling and logging (Completed)
450
+ - Comprehensive testing suite (Completed)
451
+ - Documentation and examples (Completed)
452
+
453
+ ### Phase 2: Enhanced Features
454
+ - Multi-client concurrency support with operation queuing (Completed)
455
+ - Configurable tag creation policies (Completed)
456
+ - Reminder support with datetime scheduling (Completed)
457
+ - Date-range query tools (Completed)
458
+ - Bulk move operations (Completed)
459
+ - Real-time sync with Things 3 changes (Planned)
460
+ - Advanced natural language processing (Planned)
461
+ - Integration with calendar and email (Planned)
462
+
463
+ ### Phase 3: Advanced Integration
464
+ - Multi-user support (Planned)
465
+ - API rate limiting (Planned)
466
+ - Webhook support (Planned)
467
+ - Analytics and reporting (Planned)
468
+
469
+ ---
470
+
471
+ Built for the Things 3 and MCP community.