boq-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BOQ_API_URL | No | The base URL of the BOQ API instance | https://boq.jehadbim.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | Authenticate against the BOQ backend and store the JWT for this session. Must be called before any other tool unless BOQ_API_TOKEN was provided. |
| whoamiA | Return the currently authenticated user's profile. |
| list_projectsA | List all projects visible to the authenticated user. |
| list_chaptersC | List chapters of a project. |
| list_sectionsC | List sections of a chapter. |
| list_itemsC | List items of a section. |
| get_project_treeA | Return the full project hierarchy (chapters -> sections -> items). Use this before adding data so you don't create duplicate chapters/sections. |
| create_projectC | Create a new project. Only status: draft|active|on_hold|completed|cancelled. currency: ILS|USD|EUR|JOD|SAR. |
| update_projectB | Update a project. Pass only the fields you want to change. status: draft|active|on_hold|completed|cancelled. currency: ILS|USD|EUR|JOD|SAR. |
| create_chapterB | Create a chapter under a project. |
| create_sectionC | Create a section under a chapter. |
| create_itemB | Create a BOQ item under a section.
|
| bulk_create_itemsA | Create many items under one section in a single call. Each item dict needs: code (2 digits), name, unit (+ optional quantity, unit_price, description, order, notes). section_id is applied to all. |
| add_calculation_lineC | Add a quantity calculation line to an item (count x dim_1 x dim_2 x dim_3 - deduction). |
| create_contractorC | Create a contractor. name_en required. contractor_type: main|sub|supplier|consultant. |
| create_contractC | Create a contract linking a contractor to a project. contract_type: lump_sum|unit_price|cost_plus|time_materials. |
| create_billB | Create a bill against a contract. bill_type: progress|final|variation|retention_release. |
| add_material_costC | Add a material cost line to an item's price breakdown. |
| get_pricing_breakdownB | Return the full price breakdown (materials/labor/equipment/subcontracting) for an item. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
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.
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.
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.
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.