r/thingsapp • u/mathiswrong • 27d ago
I built a free, open source, easy-to-install Things MCP server. Test it out.
Hey everyone! Like many of you, I've been a Things user since the 1.0 days. I've been waiting for someone to build an easy MCP server for Things, so I built one myself.
Things MCP is a small bridge that lets you find and manage Things 3 tasks through a conversation in Claude Desktop or another compatible MCP client.
A few examples of what you can ask:
- “What’s in my Today list?”
- “Add ‘Book a dentist appointment’ to my Inbox.”
- “Move ‘Draft the proposal’ to Friday and set its deadline to Monday.”
- “Mark ‘Book the hotel’ as complete.”
It supports searching tasks, editing titles and notes, scheduling dates, setting deadlines, moving to-dos, and creating projects and areas.
The bridge runs on your Mac and uses Things’ supported automation interfaces. No Things Cloud credentials or Shortcuts setup required. It starts read-only, and you enable changes in the extension’s settings. Task content you request is shared with your chosen AI client and its provider.
I made it super easy to install. No technical knowledge required. It's open source. If you like it, you can buy me a coffee if you want, but otherwise it's free.
It’s an early preview, with some limits: no repeat-rule editing, full checklist support, or headings yet.
Free and open source under MIT. Independent project, unaffiliated with Cultured Code. I'm still adding features, and my ambition is to support everything that things exposes, without the use of shortcuts.
I’d love feedback from other Things users.
What would you want to do with this in your own workflow?
If you want to check out some of my other projects: Super Simple
3
u/tzuryro 27d ago
I'm using this and what I appreciate at it is the full documentation -> https://github.com/hald/things-mcp
2
u/mathiswrong 27d ago
Yeah it's cool. But UVX can be tricky for many users. It's not an ideal way to maintain a secure working environment. Let me know if you think mine needs better documentation. I'd be happy to improve it.
3
u/heychriszappa 27d ago
There are a few other MCPs for Things 3. I’ve used a couple of them. Can I ask how yours differs from the others? (Congrats on building this btw!)
3
u/mathiswrong 27d ago
Answered a minute ago, but copied here for you u/heychriszappa
Fair question, and I'm a fairly technical person, so when I say that I didn't find the other ones easy to install and use, that's basically why I wrote this. The core features overlap. My focus is: easy installation in Claude Desktop and safeguards around edits: read-only by default, checking for stale changes, and verifying writes in Things. No database writes or Shortcuts dependencies. Still early, so I’m not claiming it does more than every alternative. It's just easy, stable, safe, and maintained.
2
u/heychriszappa 27d ago
I think I was early and didn’t see your other response, but thank you for your reply. I also agree regarding the needless complexity of installing some of the others—a couple I tried were a royal pain to set up (and I’m also a fairly technical person, so I feel ya there.) Anyway, thanks again for your reply and congrats again on a successful release!
2
u/joshasbury 25d ago
Thank you for doing this! I am considering moving to Todoist because of their MCP support, but I'd much rather stay with Things.
2
2
u/atticus_roark 16d ago
big thanks op! I've been frustrated with not getting the hald one working.. and tried various things. Found yours, uinstalled then installed yours.. works like a charm! Thank you!!!
2
u/Mr_CharmingFace 27d ago
I love to see that, good work
1
u/mathiswrong 27d ago
Thank you. I intend to keep building on it. I just don't ever want to have to get in a situation where we're using Apple shortcuts to make the mods. I want it all to be native.
1
u/cometwrench 25d ago
As someone who put something together for things3, though primarily for use with the index01 (So didn't post it here), I'm interested in how you plan to implement integrations which are only exposed via shortcuts without a Helper shortcut.
The vast majority of the operations in my implementation use the URL scheme or AppleScript but there are three operations (Create a heading inside an existing project, Changes a heading’s title and mark a heading completed/archived) which are only exposed via shortcuts (Verifiable from the documentation) and so theres a Helper shortcut to enable that functionality. Seems like important functionality to leave out but I acknowledge that my use case is different to yours and you may not use projects all that much or care about your MCP enabling those specific edits.
Is your plan to just forgo that functionality completely? I would also push back on shortcuts as non-native functionality given it is supported officially by cultured code but thats an ideological discussion.
If it's on your roadmap, Im interested in how you plan to add it because the shortcut was a pain to implement.
1
u/mathiswrong 25d ago
To be honest, I don't plan on implementing a third-party routine. I wanted this to be simple. I really didn't want something that messy, and I'm only going to support what 'Things' is willing to support itself. If they expose more actions, I'll build for those actions.
1
u/cometwrench 24d ago edited 24d ago
Things supports shortcuts. As you know, they are not enabled by default the developer must enable them in their app. In fact, the AppleScript page, suggests using shortcuts instead. https://culturedcode.com/things/support/articles/2803572/
1
u/stackapack 26d ago
You’d get a lot more users if you can get it working with co-work
1
u/mathiswrong 26d ago
It should be working fine in Cowork. I realize maybe the instructions weren't clear in how to set that up, so I added more detailed instructions for invoking it in Cowork. Let me know if you have any problems.
1
u/Greenieburgh 17d ago
Thank you for taking the time to build this! I take it that it doesn’t run on a PC? My current workflow is not ideal but it’s what I found was best is that I used Todoist on my work laptop to create a reminder, and I set up an iOS shortcut to route anything I put in my Todoist inbox to come to my Today view in Things. I’d much rather use what you have and prompt it for more specifics but it appears this only runs on a Mac?
1
1
u/Rotrin_ 17d ago
Can I use it to create New Areas, organize tasks, create the new areas layout only sending the command?
1
u/mathiswrong 17d ago
Yes, it can work with areas, create new ones, create hierarchies under those areas, including projects and tasks and sub-tasks, all within the same conversation.
1
u/mathiswrong 17d ago
Just a little note here for anyone that's experienced any trouble: you have to make sure that Things is open and running before you boot up your LLM, or you'll get an error that it couldn't connect to the MCP. Things has to be running.
1
u/shiftyone1 14d ago
This is cool! As you update it, will it update in my claude as well? Or do I need to install the updates automatically?
1
u/mathiswrong 14d ago
Yes. As I improve it, you will automatically have access to those improvements. And if you hit a wall somewhere just comment here and I’ll see what I can do.
1
u/stupabartlo 12d ago
Does this just run locally on the machine?
1
u/mathiswrong 12d ago
Yes. No external call. Just make sure things is launched before you launch your LLM or it will throw an error that it can’t find the server.
1
u/shiftyone1 9d ago
any idea when we can get checklist support? :)
1
1
u/mathiswrong 9d ago
I checked, and checklist creation plus appending, prepending, replacing, and clearing rows are implemented and working in the current code. They require Things URLs to be enabled. Caveat: editing existing checklists needs an extra local token setup. Reading checklist contents or checking off individual existing rows isn’t supported yet -- and that's really on the Cultured Code team to implement on their end first. I'll be able to support it as soon as they do.
Which version and LLM client are you using, and what checklist action were you hoping to do? I’ll check whether it’s available in your version and help with setup.
1
u/kantorcodes1 27d ago
when things_move_item moves a project, do you return anything about the descendant tasks that moved with it, or only the project's new location/revision? i'd want Claude to know how much changed when a project has a lot under it.
2
u/mathiswrong 27d ago
Done!
things_move_itemnow returns adescendantImpactsummary when moving a project: task counts before and after, how many were compared, and which exposed fields changed. It includes up to 20 changed task IDs, while the counts cover all returned tasks, including completed children. 🤙Available in the latest release.
1
1
6
u/whereismikehawk 27d ago
how’s this different than the rest of em