MCP Server Collection
Fifteen Model Context Protocol servers, most of them wrapping software that was never meant to be automated.
The servers
7 of 15, 63 tools
Point at one for the part that was actually hard.
- No write pathPython · 4
Figma Bridge
Hands a design to Figma as real, editable layers, then reads the colours back after they have been changed.
Figma's REST API reads and cannot write, and the variables write API is enterprise only. The one door left open is the plugin runtime, so a plugin inside Figma does the building.
- Private APIPython · 13
Tiimo
Time blocks the day in a visual planner, and keeps it in step with the task list that owns the work.
Tiimo publishes no API. The contract came out of mock handlers left behind in its own production bundle, and hitting each route unauthenticated proved which ones were real.
- Key in the KeychainPython · 22
Hevy
Reads and writes workouts, routines and measurements, and does the personal record maths on the history rather than asking for it.
The API key comes out of the macOS Keychain at startup. Nothing sits in a config file, nothing leaks into a backup, nothing needs redacting before a commit.
- OAuth per accountTypeScript · 11
Multi-Calendar
Google Calendar across several accounts at once: events, free and busy windows, and which calendar a thing belongs on.
Each account carries its own consent and its own refresh token, so adding one is a short dance rather than a rewrite. Access tokens are never stored.
- No API at allPython · 8
Apple Contacts
Searches, creates and updates contacts in the macOS address book, which puts them on the phone a moment later.
No HTTP API, so it drives Contacts.app's scripting dictionary and iCloud carries the write to the phone. Adding an email is its own tool: an update would replace the whole list.
- No API at allPython · 1
Apple Alarms
Sets an alarm when you ask for one, on an app Apple leaves entirely unscriptable.
Clock.app has no API and is not scriptable, so the server runs a Shortcut, which is the only supported way in. No account, no token, nothing leaves the machine.
- Paired deviceNode · 4
WhatsApp
Reads chats and unread messages, and sends one once it has been approved.
It authenticates as a linked device rather than with a key. The phone authorises it once and can unlink it, which is the right off switch for something that can send as you.
15 written, 12 running
The rest are personal accounts, a Gmail server I forked from someone else rather than wrote, and two that were written and never given credentials. Eight more are scoped and not built, which is a different thing from built.
A Model Context Protocol server is the adapter between an AI assistant and a real system. It is the difference between an assistant that can talk about your calendar and one that can actually read it. Written against a documented API, one of these is an afternoon's work. The ones worth showing are the systems that never meant to be automated at all.
This is the unglamorous half of every AI project I take on: an assistant is only as useful as the things it can reach, and most of what a business already runs on has no door in it. A design tool that refuses writes over the network, a planner app that publishes nothing, an alarm clock Apple leaves unscriptable. Each one needed a different way in, and finding the way in is most of the work.
The other half is failing honestly. A wrapper that reports success because the call came back 200 will eventually tell an assistant a message was sent when it was not, and the assistant will repeat that to you with total confidence. So two of these carry a tool whose only job is to answer whether the thing behind it is reachable and logged in right now, and any tool that cannot do its job says so rather than guessing.
Details worth knowing
- 01Figma's REST API reads a file and cannot write one, and its variables write API is enterprise only, so the bridge runs a plugin inside Figma and drives it through menu commands, which is the only write path Figma leaves open.
- 02The Tiimo API contract was recovered from mock handlers left behind in the app's own production bundle, then every route was confirmed against the live server: 401 means the route is real, 404 means it only ever existed in the mock.
- 03Two macOS apps with no API at all are reached through the doors Apple does leave open, Contacts through its scripting dictionary and Clock through a Shortcut.
- 04No credential sits in a config file. Keys come from the macOS Keychain, each Google account holds its own refresh token, and WhatsApp is a paired device the phone can revoke.
- 05Fifteen written, twelve running, seven of them on this page. The ones left off are personal accounts rather than interesting engineering.