Skip to main content
Glama
README.md
# BOQ MCP Server

Let Claude fill data into your **BOQ / Tendix** projects in plain language — create
projects, chapters, sections, items, quantity calculations, contractors, contracts,
bills, and pricing. It talks to the BOQ REST API, so all your permissions, subscription,
and audit rules stay enforced. You only see and touch the data your account is allowed to.

## Install in one step

### Claude Code

Just tell Claude:

> Install the MCP server from https://github.com/jehadbaniodeh/boq-mcp

Claude will run the registration for you. (Or run it yourself:)

```bash
claude mcp add boq -- uvx --from git+https://github.com/jehadbaniodeh/boq-mcp boq-mcp
```

### Claude Desktop

Settings → Developer → Edit Config, then add:

```json
{
  "mcpServers": {
    "boq": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/jehadbaniodeh/boq-mcp", "boq-mcp"]
    }
  }
}
```

Restart Claude Desktop. Done.

## First use

In any chat, log in once with your BOQ account:

> Log in to BOQ as me@example.com

Then talk to it naturally:

> Create a project "Villa A" with a Concrete chapter (code 03), a Foundations
> section (code 10), and an item "Reinforced concrete C30" in m3 at 250/unit.

If your account lacks a permission, Claude is told exactly why (e.g. a 403), so it can
explain it instead of silently failing.

## Requirements

- **[uv](https://docs.astral.sh/uv/) installed** (provides `uvx`). One-time:
  `curl -LsSf https://astral.sh/uv/install.sh | sh`
  `uvx` then downloads and runs the server automatically — no manual clone or `pip install`.
- A BOQ account on https://boq.jehadbim.com.

By default the server targets `https://boq.jehadbim.com`. To point at a different
instance, set `BOQ_API_URL` in the server's `env` block.

## Tools

| Area | Tools |
|------|-------|
| Auth / read | `login`, `whoami`, `list_projects`, `get_project_tree`, `list_chapters`, `list_sections`, `list_items` |
| BOQ hierarchy | `create_project`, `update_project`, `create_chapter`, `create_section`, `create_item`, `bulk_create_items`, `add_calculation_line` |
| Commercial | `create_contractor`, `create_contract`, `create_bill` |
| Pricing | `add_material_cost`, `get_pricing_breakdown` |

## Notes

- Chapter / section / item **codes are exactly 2 digits** (e.g. `03`) — the full path
  code is composed up the tree.
- Item **units**: `m, m2, m3, unit, kg, ton, lm, ls, No., set`.
- Your login token lives only in memory for the running session; it is never written to disk.

## License

MIT

TDQS

B3/5.0

Scored across 19 tools

Disambiguation5/5

Each tool maps to a distinct resource/action: auth, hierarchical reads, creation, pricing costs, and contract/bill creation are clearly separated. The list_* and get_* read tools are distinguishable by level/aggregation, and create_* tools differ by target entity. No two tools appear to do the same job.

Naming Consistency4/5

Almost all tools follow snake_case verb_noun conventions: list_projects, create_chapter, bulk_create_items, add_material_cost. Minor inconsistencies are login/whoami as standalone verbs and the mix of list_* for collections versus get_* for aggregate/singular reads, but the overall pattern is predictable.

Tool Count3/5

19 tools is in the 16-25 range that feels heavy, though the BOQ domain spans hierarchy, pricing, and contracts so each tool has a distinct role. It is not egregiously over-scoped but exceeds the ideal 3-15 range for tight coherence.

Completeness2/5

The hierarchy has create/read coverage, but chapters/sections/items lack update/delete, and contractors/contracts/bills are write-only with no list/get tools. Pricing breakdown mentions labor/equipment/subcontracting, yet only material costs can be added. These gaps create dead ends for agents trying to verify or maintain created data.

Maintenance

ActivityInactive
ResponsivenessNo issues