estimate-maestro
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ESTIMATE_MAESTRO_STORE | No | Path to the store directory. Default: $XDG_DATA_HOME/estimate-maestro, falling back to ~/.local/share/estimate-maestro. | $XDG_DATA_HOME/estimate-maestro (falls back to ~/.local/share/estimate-maestro) |
| ESTIMATE_MAESTRO_DAY_END | No | End of the working day (ISO 8601 time). | 17:00 |
| ESTIMATE_MAESTRO_WORKDAYS | No | Comma-separated weekdays counted as working days (Monday 0 … Sunday 6). | 0,1,2,3,4 |
| ESTIMATE_MAESTRO_DAY_START | No | Start of the working day (ISO 8601 time). | 09:00 |
| ESTIMATE_MAESTRO_LUNCH_END | No | End of the daily lunch break (ISO 8601 time). | 13:00 |
| ESTIMATE_MAESTRO_LUNCH_START | No | Start of the daily lunch break, excluded from working seconds (ISO 8601 time). | 12:00 |
| ESTIMATE_MAESTRO_MINIMUM_EFFORTS | No | Minimum number of recorded efforts before summary reports figures rather than an honest refusal. | 5 |
| ESTIMATE_MAESTRO_DERIVE_LEAD_IN_MINUTES | No | Time added before the earliest commit in a session rebuilt from commits. Must not exceed ESTIMATE_MAESTRO_DERIVE_SESSION_GAP_MINUTES; the server refuses to start otherwise. | 30 |
| ESTIMATE_MAESTRO_DERIVE_SESSION_GAP_MINUTES | No | Working-time gap between commits that ends a session rebuilt from commits. | 120 |
| ESTIMATE_MAESTRO_OFF_HOURS_SESSION_CAP_MINUTES | No | Maximum length given to a forgotten timer that started outside working hours. | 240 |
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 |
|---|---|
| start_effortC | Create an effort from a plan artefact and an initial PERT estimate. |
| add_sliceC | Add a slice. One added while the effort is active is scope growth. |
| close_sliceC | Close a slice against its pull request. |
| drop_sliceC | Drop a slice that turned out to be unnecessary. |
| rename_sliceD | Rename a slice. |
| clock_inC | Start an interval. Refused if one is already open. |
| clock_outC | Close the open interval. |
| annotate_intervalC | Attach meeting participants or a note to an interval after the fact. |
| repair_intervalB | Correct an interval's bounds. Appends; never rewrites. |
| record_absenceC | Declare time not spent working. Retroactive by design. |
| record_revisionC | Record a revised estimate, typically when a slice is inserted. |
| record_final_planD | Record the final plan and the counterfactual estimate against it. |
| harvest_commitsC | Copy commit metadata from a working tree into the store. |
| record_landed_commitC | Record the durable commit that landed on the default branch. |
| remap_commitsC | Map a rewritten commit id onto its replacement. |
| finish_effortC | Mark an effort done. |
| reference_effortsC | Prior efforts with their summaries and estimates, for comparison. No actuals. |
| currentB | What is clocked in, and since when. |
| effort_tableC | One near-raw row per effort: estimates, wall hours, slice counts. |
| effort_detailC | One effort's full event history. |
| summaryB | Aggregate calibration, or an honest refusal when there is too little data. |
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 21 tools
Every tool has a clearly distinct purpose. Even overlapping domains like commits (harvest, record, remap) and intervals (clock, annotate, repair) are separated by specific actions and targets. No two tools could be easily confused for the same operation.
The majority of tools follow a consistent verb_noun pattern (e.g., repair_interval, start_effort, add_slice). A few query tools are named as nouns (current, summary, effort_table, effort_detail), which is a minor deviation but still readable and sensible for retrieval operations.
With 21 tools, the surface is substantial but justified by the domain's complexity—covering efforts, intervals, slices, commits, estimates, and queries. Each tool adds distinct functionality, though the count is on the higher end and could feel heavy for simpler use cases.
The toolset provides comprehensive lifecycle coverage: starting and finishing efforts, managing slices (add/close/drop/rename), tracking time (clock in/out, absence), revising estimates, recording commits, and rich reporting (current, table, detail, summary). No obvious gaps or dead ends are apparent.