# A Project Management MCP Server for AI Agents

> Mahaam is open-source project management with a built-in MCP server: agents read the board, start issues and log time under the same permissions as people.

*2026-10-19T12:49:02Z*

# A Project Management MCP Server for AI Agents

Mahaam is an open-source project management system with a built-in project management MCP server. AI agents such as Claude and Cursor can read your board, start an issue, log time and ask for review, using the same permission checks as a person.

![A project management MCP server for AI agents](https://mahaam.app/uploads/sites/b22b78ba-acc1-4bd8-825d-44b585d0fc1f/media/mahaam-mcp-project-management-en.png)

## The problem

Agencies keep projects in one tool, hours in another and invoices in a third. Add AI agents and a fourth problem appears: the agent works in a terminal, and the board does not know. Someone retypes what the agent did, or nobody does and the board drifts.

## How it works

Mahaam keeps projects, issues, time and invoices in one place, and exposes the same operations to agents over MCP.

- **One domain layer.** The web app and the MCP server call the same code, so an agent cannot do anything a person in the same role could not.
- **Scoped tokens.** You mint a token in the app with the scopes you choose. The agent's effective access is narrowed to its human's role in the workspace.
- **Time and cost per issue.** An agent can start a timer, log time and record its token usage against the issue, so the cost shows up next to the hours.
- **Invoices from time.** Tracked time, AI usage and subscriptions can be turned into an invoice draft.
- **A customer portal.** Clients see their projects, accept or reopen issues and see invoices without a staff seat.
- **Multi-tenant by construction.** Every tenant row carries `workspace_id`, enforced by Postgres row-level security. The [ToGO case study](https://to-go.dev/en/blog/mahaam-togo-case-study) shows how.

There are two MCP servers: one for users at `/api/mcp` and one for platform admins at `/api/admin/mcp`. The user server exposes 119 tools across 34 scopes (counted from the `master` branch on 2026-10-19).

## Screenshots

![Mahaam project board](https://mahaam.app/uploads/sites/b22b78ba-acc1-4bd8-825d-44b585d0fc1f/media/mahaam-gallery-01-hero.png)

![Mahaam feature overview](https://mahaam.app/uploads/sites/b22b78ba-acc1-4bd8-825d-44b585d0fc1f/media/mahaam-gallery-02-feature.png)

![Mahaam time tracking](https://mahaam.app/uploads/sites/b22b78ba-acc1-4bd8-825d-44b585d0fc1f/media/mahaam-gallery-03-feature.png)

![Mahaam agents and MCP](https://mahaam.app/uploads/sites/b22b78ba-acc1-4bd8-825d-44b585d0fc1f/media/mahaam-gallery-04-feature.png)

## Videos

Short intro (Voice-over: AI-generated):

https://youtu.be/1IouAXC15rM

Full walkthrough (Voice-over: AI-generated):

https://youtu.be/4sPgLYvmDV8

## Getting started

The quickest way is the hosted app at [mahaam.app](https://mahaam.app). To self-host you need Docker with Compose v2:

```bash
git clone https://github.com/fadymondy/mahaam.git && cd mahaam
cp .env.selfhost.example .env.selfhost
# fill in POSTGRES_PASSWORD, MAHAAM_APP_DB_PASSWORD, AUTH_SECRET, MAHAAM_SECRET_KEY
# (generate each with: openssl rand -base64 32)
docker compose -f docker-compose.selfhost.yml --env-file .env.selfhost up -d --build
```

Open `http://localhost:3010`, register and create a workspace. Make the first user a platform admin:

```bash
docker compose -f docker-compose.selfhost.yml --env-file .env.selfhost exec api /app/mahaam-admin promote you@example.com
```

Then create a scoped token in the app and point your MCP client at `https://<your-host>/api/mcp`, sending the token as a bearer token. Give the agent only the scopes it needs.

## Limits

- Agents can only do what their scopes and their human's role allow. That is the point, but it means you set the scopes.
- The self-host stack needs Postgres 16 and the secrets above. Mail, OAuth integrations, push and billing are optional and documented in `.env.example`.
- I have no usage numbers to share yet.

## FAQ

**What is an MCP server for project management?** It is an endpoint that lets an AI client call project operations as tools: list issues, start an issue, log time, request review. Mahaam ships one.

**Which agents work with it?** Any MCP client that can send a bearer token. Claude and Cursor are named in the README.

**Can an agent see other customers' data?** No. Every tenant table is protected by Postgres row-level security, and the agent's token is tied to one workspace.

**Is Mahaam open source?** Yes, under AGPL-3.0, at [github.com/fadymondy/mahaam](https://github.com/fadymondy/mahaam).

**Is it built on ToGO?** Yes. The case study covers the architecture, the real numbers and the framework limits we hit.

## Links

- Case study: [Multi-tenant SaaS in Go with Postgres RLS: how Mahaam is built on ToGO](https://to-go.dev/en/blog/mahaam-togo-case-study)
- Founder post: [Why I built Mahaam](https://fadymondy.com/en/blog/why-i-built-mahaam)
- [GitHub](https://github.com/fadymondy/mahaam) · [Product Hunt](https://www.producthunt.com/products/mahaam) · [Discord](https://discord.gg/a59RzxnB2H)

---

Source: https://mahaam.app/en/blog/project-management-mcp-server-for-ai-agents
