Assignments sliced four ways, by person, project, role and team, is what lets it answer the questions people actually ask about who is free and who is overloaded. Actuals sit alongside them, so the plan can be checked against what was really logged.
A standalone server for the Runn API, covering resource-planning data such as people, projects, clients, assignments and logged actuals, with simple reporting helpers on top. It runs over stdio or streamable-http, locally or from a published container image.
- People, projects and clients listed (list_people, list_projects, list_clients)
- Assignments listed outright (list_assignments) or sliced by person, project, role or team (list_assignments_by_person, list_assignments_by_project, list_assignments_by_role, list_assignments_by_team)
- Logged actuals read back (list_actuals)
- Both transports: stdio for a desktop client, streamable HTTP — the default — for a hosted one
- A container image published to ghcr.io/gemini2026/runn-mcp-server, runnable with the API key passed in as an environment variable
Python 3.10 or higher with requirements.txt installed, and a Runn API key in RUNN_API_KEY. The Docker path takes the same variable and exposes port 8000.
One command plus a key — docker pull ghcr.io/gemini2026/runn-mcp-server:main, then supply credentials
