time-tracking-google-calendar-mcp
time-tracking-google-calendar-mcp
A Model Context Protocol (MCP) for managing a Google calendar with a set of non-overlapping events representing one person's time
Setup
Create and activate a virtual environment, then install dependencies.
macOS/Linux:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtWindows (PowerShell):
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txtRunning the server
With the virtual environment activated, run the server directly:
python server.pyOr launch it with the MCP Inspector for interactive testing:
mcp dev server.pymcp dev requires two tools outside the Python virtual environment: Node.js/npx (to launch the Inspector UI itself) and uv (the Inspector uses it to run the server in an isolated, on-the-fly environment). Neither is something pip/venv can provide — a venv only manages Python packages already on your machine, not other language runtimes or tools.
Installing Node.js (provides npx):
macOS:
brew install nodeWindows:
winget install OpenJS.NodeJS.LTS(or download the installer from nodejs.org)Linux: use your distro's package manager (e.g.
sudo apt install nodejs npm) or install via nvm
Installing uv:
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows:
winget install astral-sh.uv(orpowershell -c "irm https://astral.sh/uv/install.ps1 | iex")
After installing, restart your terminal and verify with:
npx --version
uv --versionIf you only need to run the server (not the Inspector), python server.py works without Node.js or uv.
server.py currently contains a minimal scaffold (an add tool and a greeting resource) from the MCP Python SDK quickstart, ready to be extended with Google Calendar-backed tools.