Skip to main content
Glama
eranfinish

eranfinish/ezatwork-mcp

by eranfinish

EZ@Work MCP Server

Connect EZ@Work — all-in-one business management for freelancers, lawyers, agencies, and service businesses — to Claude, Gemini, Cursor, and any MCP-compatible AI.

Tools (v1)

Tool

Description

Type

list_clients

List your clients/customers

Read

list_projects

List your projects/cases/work orders

Read

log_time_entry

Log billable hours to a project

Write

create_invoice

Create a draft invoice (auto currency/language/VAT)

Write

Related MCP server: timely-mcp-server

Setup

Settings → Connectors → Add custom connector

  • URL: https://mcp.ezatwork.com/mcp

  • Authentication: OAuth (automatic)

Claude Code / Cursor / MCP Inspector (API token)

  1. Create a free EZ@Work account at https://app.ezatwork.com

  2. Generate an API token at https://app.ezatwork.com/settings/api-tokens

  3. Connect to https://mcp.ezatwork.com/mcp with header Authorization: Bearer ezw_pat_...

Local testing with MCP Inspector:

npx @modelcontextprotocol/inspector

Connect to http://localhost:8080/mcp with header Authorization: Bearer ezw_pat_...

Security

  • Your data stays in your EZ@Work account

  • OAuth mode: Google identity → EZ@Work account lookup; no credentials stored in the MCP

  • API token mode: scoped permissions — grant only what you need; mandatory expiration

  • Authorization is verified on every request

Privacy Policy

https://www.ezatwork.com/privacy

Universal Design

EZ@Work adapts to your business type: a lawyer sees "cases," a freelancer sees "projects," a service business sees "work orders." Currency, language (24 supported), and tax rules auto-detect from your profile — no configuration needed in the MCP.


Development

Run locally

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -e .

cp .env.example .env
# Edit .env: EZ_API_BASE=http://localhost:5000 for local backend

python -m ezatwork_mcp.server
# Server starts at http://localhost:8080/mcp

Run tests

pip install pytest pytest-asyncio
pytest tests/

Docker

docker build -t ezatwork-mcp .
docker run -p 8080:8080 -e EZ_API_BASE=https://api.ezatwork.com ezatwork-mcp

Deploy to Cloud Run

gcloud run deploy ezatwork-mcp \
  --source . \
  --region europe-west1 \
  --project ezatwork-production \
  --allow-unauthenticated \
  --port 8080 \
  --update-env-vars "EZ_API_BASE=https://api.ezatwork.com,MCP_BASE_URL=https://mcp.ezatwork.com" \
  --update-secrets "GOOGLE_CLIENT_ID=ezmcp-google-client-id:latest" \
  --update-secrets "GOOGLE_CLIENT_SECRET=ezmcp-google-client-secret:latest" \
  --update-secrets "EZ_MCP_MASTER_TOKEN=ezmcp-master-token:latest"

--allow-unauthenticated is correct — auth is enforced at the MCP layer (OAuth or API token), not at the Cloud Run IAM level.

Technical notes

  • Transport: Streamable HTTP (/mcp endpoint)

  • Library: fastmcp 3.3.1

  • Auth (OAuth): GoogleProvider from fastmcp.server.auth.providers.google

  • Auth (token): get_http_headers() from fastmcp.server.dependencies

  • Dual-auth: OAuth active when GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET + MCP_BASE_URL are set

  • Backend: GET /api/users/me for locale; GET /api/internal/users/by-email for OAuth→user mapping

  • Time entries: POST /api/timeentry with isBillable field

  • Invoices: POST /api/invoices with computed dueDate and total per item


Built by

EZ@Work — the business OS for independents.

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eranfinish/ezatwork-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server