Skip to main content
Glama

estimate-maestro

개인용 MCP 서버이자 명령줄 도구로, 추정치와 실제 소요 시간을 기록하여 추정치를 나중에 감정이 아닌 결과와 대조할 수 있게 합니다.

이것은 추정 보정을 위한 데이터 수집 도구이지, 추정기가 아닙니다. 어떤 것도 추정해 주지 않습니다. 작업에 대해 추정한 값, 계획이 실제로 어떻게 되었는지, 작업에 실제로 걸린 벽시계 시간을 기록합니다. 그 기록으로 무엇을 할지 — 비교, 편향 관찰, 특정 종류의 작업에 대해 일관되게 낙관적이었다고 판단하는 것 — 는 여러분과 나중에 저장소를 읽는 무엇이든 몫입니다. 도구의 역할은 정직하게 기록하는 데서 끝납니다.

모델

네 종류의 것이 기록됩니다:

  • Effort — 자체적으로 추적할 가치가 있는 작업 조각: 풀 리퀘스트, 메가 PR, 계획과 크기가 있는 모든 것. effort는 계획 산출물(스펙, .PR.md, 계획이 담긴 무엇이든)과 초기 추정치가 생기는 순간부터 존재합니다. 그 이전에는 아직 기록할 것이 없습니다.

  • Slice — effort의 조각, 보통 하위 PR. 슬라이스는 추가되거나, 풀 리퀘스트에 대해 닫히거나, 삭제되거나, 이름이 바뀝니다. effort가 시작되기 전에 추가된 슬라이스는 원래 계획의 일부이고, 이후에 추가된 것은 범위 증가이며, 둘은 기록에서 구분 가능하게 유지됩니다.

  • Interval — 일반적으로 슬라이스에 대해 시계를 켜둔 시간 범위. 인터벌은 수동으로 닫히거나, 세션이 시계가 여전히 돌아가는 상태로 끝나면 자동으로 닫히거나, 아무것도 시계를 켜지 않았을 때 커밋 타임스탬프에서 사후에 파생됩니다.

  • Absence — 전혀 작업하지 않은 시간: 휴일, 약속, 관련 없는 회의. 부재는 소급하여 기록되며 그렇게 하는 것이 예상됩니다. 겹치는 인터벌에서 차감됩니다.

Related MCP server: Tempo MCP Server

추정치: 스토리 포인트의 3점 추정

모든 추정치는 PERT 트리플 — 낙관적, 가능, 비관적 — 이며 추상적인 포인트 척도로 주어지고 절대 시간 단위가 아닙니다. 기대값과 표준편차는 읽을 때 트리플에서 파생됩니다. "추정치는 N이다"라는 단일 숫자는 저장되지 않습니다. 단일 숫자는 추정치를 사실이 아닌 추정치로 만드는 불확실성을 버리기 때문입니다.

포인트는 손에 있는 작업을 비슷한 형태의 이전 effort와 비교하여 고정되며, 느껴지는 시간 수를 머릿속에서 포인트로 변환하는 것이 아닙니다. 추상적인 척도의 핵심은 실제 기간을 아직 모르는 effort들 간에 같은 것끼리 비교하는 것입니다.

effort는 두 번 추정됩니다:

  • 초기 추정치는 처음 작성된 계획에 대해, 계획이 시작된 슬라이스 수와 동일한 슬라이스 수로 만들어집니다.

  • 최종 추정치는 회고에서 실제로 드러난 계획에 대해 만들어집니다 — 그 과정에서 삽입된 모든 슬라이스를 포함합니다. 이것은 반사실적입니다: "이것이 실제로 어떻게 진행되었는지 지금 아는 모든 것을 고려하면, 무엇으로 추정했을까?" — 결코 "얼마나 걸렸나?"가 아니며, 어떤 것의 측정도 아닙니다.

추정을 두 번으로 나누는 것은 추정이 잘못될 수 있는 두 가지 방식을 사후에 분리할 수 있게 만듭니다. 초기 추정은 재고 오류 때문에 잘못될 수 있습니다 — 아무도 몰랐던 작업이 존재했거나, 존재한다고 가정한 작업이 실제로는 없었던 경우. 실제로 드러난 계획에 대해 만들어진 최종 추정은 크기 오류를 분리합니다 — 처음부터 알려져 있었지만 단순히 잘못 판단된 항목들. effort당 단일 숫자는 둘을 혼동합니다. 패스당 두 개의 숫자는 둘을 분리합니다.

수정된 추정치는 effort 중간에도 기록될 수 있습니다 — 일반적으로 원래 계획에 없던 슬라이스가 삽입될 때 — 회고를 기다리지 않고.

시간 모델: 정상적인 하루가 가정됩니다

정상적인 근무일이 기본적으로 가정되며, 그로부터의 편차만 기록됩니다. 출퇴근 기록은 예외이지 일상이 아닙니다 — 도구는 매일 8시간 동안 스톱워치가 돌아가기를 기대하지 않습니다. 구체적으로:

  • 수동으로 기록된 시간은 그 시간대가 무엇이든 전부 계산됩니다. 저녁과 주말 포함: 토요일 22:00에 출근 기록을 했다면 그것은 실제 시간이며 그대로 기록되며, 근무 시간 조정이 적용되지 않습니다.

  • 근무 시간 모델은 실제로 기록된 시간이 없는 곳에만 적용됩니다. 정확히 두 곳에서 사용됩니다:

    • 잊은 타이머 고정. 세션이 시계가 여전히 돌아가는 상태로 끝나면, 인터벌은 구성된 근무일 종료 시점(또는 구성된 근무일과 시간 밖에서는 고정된 세션 길이로 상한)에서 닫히며, 무기한 열려 있거나 분 단위로 추측되지 않습니다.

    • 커밋 타임스탬프에서 인터벌 재구성 슬라이스에 대해 아무것도 시계를 켠 적이 없을 때. 가까운 커밋 무리는 파생된 작업 세션이 되며, 근무 시간 모델을 사용하여 그 사이의 시간 중 얼마가 작업으로 간주되고 밤샘 간격으로 간주되지 않는지 결정합니다.

기록된 부재는 겹치는 인터벌 — 시계가 켜진 것이든 파생된 것이든 — 에서 차감되며, 수동으로 시계가 켜진 인터벌에서는 전액, 파생된 인터벌에서는 근무 시간 모델을 통해 차감됩니다.

도구 범주와 오염 규칙

MCP 서버가 노출하는 모든 도구는 정확히 한 범주에 속합니다:

  • recordingstart_effort, add_slice, close_slice, drop_slice, rename_slice, clock_in, clock_out, annotate_interval, repair_interval, record_absence, record_revision, record_final_plan, harvest_commits, record_landed_commit, remap_commits, finish_effort.

  • estimationreference_efforts, 추정을 하는 동안 비교를 위해 이전 effort를 보여줍니다.

  • statuscurrent, 현재 시계가 켜져 있는 것과 언제부터인지 보고합니다.

  • calibrationeffort_table, effort_detail, summary, 누적된 기록을 다시 읽어냅니다.

recording, estimation, status 도구는 절대 기간이나 집계를 반환하지 않습니다. calibration 도구만 가능합니다. 이것은 구조적으로 강제됩니다: recording, estimation, status 도구가 사용하는 모든 응답 모델은 hours, minutes, duration, wall, average, share 같은 단어를 포함하는 필드 이름이 있는지 검사되며, 발견되면 검사가 실패합니다.

이유는 단지 정돈 때문이 아닙니다. 실제 작업 기간을 본 후에 만든 추정치는 그 기간의 고정된 메아리이지 독립적인 판단이 아닙니다 — 방금 답을 본 후에 만들어내는 숫자는 오염됩니다. 오염 규칙은 추정을 하거나 시계를 돌리는 동안 벽시계 시간 수치가 도구 응답에 절대 표면화되지 않도록 하여, 초기 대 최종 비교가 정직하게 유지되도록 합니다. calibration 도구는 예외인데, 그 전체 목적이 추정이 끝난 후 정확히 그 수치를 보고하는 것이기 때문입니다.

환경 변수

모두 선택 사항입니다. 모든 변수에는 기본값이 있습니다. 둘이 충돌하면 이 목록이 아니라 src/estimate_maestro/config.py를 읽으십시오.

변수

기본값

의미

ESTIMATE_MAESTRO_STORE

$XDG_DATA_HOME/estimate-maestro, ~/.local/share/estimate-maestro로 폴백

저장소 디렉터리 경로.

ESTIMATE_MAESTRO_DAY_START

09:00

근무일 시작 (ISO 8601 시간).

ESTIMATE_MAESTRO_DAY_END

17:00

근무일 종료 (ISO 8601 시간).

ESTIMATE_MAESTRO_LUNCH_START

12:00

매일 점심 휴식 시작, 작업 초에서 제외.

ESTIMATE_MAESTRO_LUNCH_END

13:00

매일 점심 휴식 종료.

ESTIMATE_MAESTRO_WORKDAYS

0,1,2,3,4

근무일로 계산되는 쉼표로 구분된 요일 (월요일 0 … 일요일 6).

ESTIMATE_MAESTRO_OFF_HOURS_SESSION_CAP_MINUTES

240 (4시간)

근무 시간 창 밖에서 시작하는 고정된 세션에 주어지는 최대 길이.

ESTIMATE_MAESTRO_DERIVE_LEAD_IN_MINUTES

30

파생된 세션에서 가장 이른 커밋 전에 추가되는 시간, 첫 커밋 전에 수행된 작업을 포함.

ESTIMATE_MAESTRO_DERIVE_SESSION_GAP_MINUTES

120 (2시간)

커밋 사이의 작업 시간 간격으로, 이를 초과하면 파생된 세션이 종료되고 새 세션이 시작된 것으로 간주.

ESTIMATE_MAESTRO_MINIMUM_EFFORTS

5

summary가 수치를 보고하기 전에 필요한 최소 기록 effort 수. 정직한 거부 대신.

ESTIMATE_MAESTRO_DERIVE_LEAD_IN_MINUTESESTIMATE_MAESTRO_DERIVE_SESSION_GAP_MINUTES를 초과해서는 안 됩니다. 그렇지 않으면 서버가 시작을 거부합니다.

명령줄 도구

estimate-maestro-cli는 대화가 필요 없는 일상적인 기록 작업을 다룹니다: clock-in, clock-out, current, record-absence, effort-table, summary. 추정 대화의 일부로만 의미가 있는 작업 — effort 시작, 추정 수정, 최종 계획 기록, 커밋 수집 — 은 의도적으로 MCP 도구일 뿐 CLI 명령이 아닙니다. 그런 작업은 비교 가능한 이전 effort를 보여주는 세션 안에서 일어나도록 되어 있으며, 그 맥락 없이 입력하는 단순한 명령이 아닙니다.

종료 코드

코드

의미

0

성공.

1

오류 발생.

3

clock-out 전용: 시계가 켜져 있지 않음. 예상되고 빈번한 상황이며 실패가 아님 — clock-out을 자동 훅에 연결하는 스크립트는 30과 동일하게 처리해야 합니다.

설치

다음 중 어떤 것도 여러분을 위해 실행되지 않았습니다 — 아래 명령을 복사하여 직접 실행하십시오.

MCP 서버를 등록하십시오:

claude mcp add --scope user maestro-estimate -- uv --directory ~/mcp/estimate-maestro run estimate-maestro

두 스킬을 개인 스킬 디렉터리에 심볼릭 링크하십시오:

ln -s ~/mcp/estimate-maestro/skills/recording-work-time ~/.claude/skills/recording-work-time
ln -s ~/mcp/estimate-maestro/skills/estimating-work ~/.claude/skills/estimating-work

스토어를 git 저장소로 만드세요. 그 파일들은 일반 텍스트이고 추가 전용(append-only)이어서 커밋하고 여러 머신 사이로 옮겨 다닐 수 있으며, 기록하는 내용의 유일하게 남는 사본입니다. 그 안에서 잃어버리거나 잘못된 숫자는 다른 어디에서도 재구성할 수 없습니다. 비공개로 유지하세요. 프로젝트 이름, 브랜치 이름, 작업에 걸린 시간이 들어 있으며, 이 중 어느 것도 공개 저장소에 있어서는 안 됩니다.

mkdir -p ~/.local/share/estimate-maestro
git -C ~/.local/share/estimate-maestro init

기본 스토어 위치는 XDG Base Directory Specification을 따르며 구성이 필요 없습니다. ESTIMATE_MAESTRO_STORE는 스토어를 다른 곳에 두고 싶을 때만 설정하세요. 예를 들어 다른 개인 저장소 옆에 두면 커밋하고 푸시하는 것을 기억하기 더 쉽습니다. 서버와 셸 모두에서 보여야 하므로, 둘 다 읽는 곳(보통 셸 프로파일)에 두세요.

export ESTIMATE_MAESTRO_STORE=~/somewhere/else

두 훅 스크립트를 ~/.claude/settings.json에 연결하세요. hooks/session-end.shSessionEnd 훅으로(잊은 타이머를 닫고, 설정된 근무일로 제한), hooks/session-start.shSessionStart 훅으로(이미 실행 중인 타이머가 있는지 보고):

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          { "type": "command", "command": "~/mcp/estimate-maestro/hooks/session-start.sh" }
        ]
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          { "type": "command", "command": "~/mcp/estimate-maestro/hooks/session-end.sh" }
        ]
      }
    ]
  }
}

~/.claude/settings.json에 이미 hooks 블록이 있다면 덮어쓰지 말고 기존 블록에 병합하세요.

개발

uv sync --locked
uv run ruff format --check
uv run ruff check
uv run pyright
uv run pytest src/ -v

Available Tools

21 tools
add_sliceC

Add a slice. One added while the effort is active is scope growth.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
effortYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only reveals that adding while the effort is active is scope growth, but says nothing about side effects, reversibility, permission requirements, or what happens to existing slices. For a mutating operation, this is insufficient transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two short sentences that both contribute information. The first defines the action; the second adds a relevant caveat. However, it is too sparse, and the structure lacks any emphasis on the parameters or usage context. Still, it is efficient and not padded with filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity is low (2 parameters) and an output schema exists, the description need not detail returns, but it still must explain parameter semantics and usage context. It does neither, and it omits key behavioral details beyond the single scope-growth note. The description is inadequate for an agent to confidently invoke the tool without additional guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain either parameter ('title' or 'effort'). The agent must rely solely on the schema's field names, which are generic and could refer to IDs, names, or other identifiers. The description adds no meaning to the parameters, failing to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Add') and resource ('a slice'), which clearly distinguishes it from sibling tools like close_slice, drop_slice, and rename_slice. The added note about scope growth when the effort is active provides meaningful context about the action's implication, going beyond a bare restatement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention any preconditions, alternatives, or situations where this tool is preferred. The scope-growth note is a behavioral warning, not a usage guideline, leaving the agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

annotate_intervalC

Attach meeting participants or a note to an interval after the fact.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
effortYes
externalNo
internalNo
intervalYes
participantsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only states that the tool attaches participants or a note after the fact, but it does not mention side effects, permission requirements, whether the operation is reversible, or how it interacts with existing data. For a mutation tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that conveys the core action efficiently. It is not bloated, but it sacrifices necessary detail for brevity. The structure is front-loaded with the verb and resource, which is appropriate for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given six parameters, two required, and no annotations, the description is incomplete. It does not explain the required parameters or the roles of external and internal, and it assumes the agent understands what an 'interval' is in this context. The presence of an output schema helps, but the description alone leaves too much to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'meeting participants' and 'note', which map to the participants and note parameters, but it provides no meaning for the required parameters 'effort' and 'interval', nor for 'external' and 'internal'. Agents are left guessing about the purpose of half the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('attach') and resource ('interval'), and clarifies it is a post-hoc action ('after the fact'). It also names two of the key entities (participants, note). However, it does not differentiate from sibling tools like repair_interval or start_effort, so an agent might not know which to pick without further exploration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. There is no mention of prerequisites, disambiguation from siblings, or conditions that make this tool the right choice. The agent must infer usage entirely from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clock_inC

Start an interval. Refused if one is already open.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNowork
noteNo
effortYes
externalNo
internalNo
work_sliceNo
participantsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the sole source of behavioral disclosure. It reveals one behavior: refusal when an interval is open. However, it provides no details on side effects, success behavior, idempotency, permissions, or what happens to the provided parameters. For a write operation, this is insufficient transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief (two sentences) and front-loads the main action. It is not verbose, but it sacrifices utility for brevity. The refusal condition adds value, but the lack of any parameter or usage context makes it under-specified rather than concise in a helpful way.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no annotations, and no parameter descriptions, the description is far from complete. An agent cannot confidently invoke this tool without additional knowledge about the arguments. The output schema exists but does not compensate for the missing parameter semantics and behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 7 parameters with 0% description coverage. The description adds no meaning to any parameter (effort, kind, note, external, internal, work_slice, participants). An agent cannot infer which fields are required, what 'effort' expects, or how 'external' vs 'internal' influence the interval. The description completely fails to compensate for the schema's lack of explanations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Start an interval') and a key constraint ('Refused if one is already open'). It clearly indicates what the tool does, though it doesn't explicitly differentiate from sibling tools like start_effort or clock_out. The resource (interval) and verb are precise enough for basic selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. It only implies that it should not be used when an interval is already open. No mention of scenarios where start_effort or other siblings would be more appropriate. An agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clock_outC

Close the open interval.

ParametersJSON Schema
NameRequiredDescriptionDefault
atNo
noteNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without explaining consequences, side effects, prerequisites, or failure behavior (e.g., what happens if no interval is open). This is severely inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words, placing the key action at the start. It achieves maximum conciseness, though this is at the expense of substance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is insufficient for a tool in a domain with numerous sibling tools (clock_in, start_effort, etc.). It does not explain what an open interval is, when to call this tool, or what the output signifies. Given the optional parameters and presence of an output schema, much needed context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not mention either parameter ('at' or 'note') and adds no meaning beyond the schema's type definitions. With 0% schema description coverage, the description fails to compensate for the missing parameter explanations, leaving the agent without hints about timestamps or note content.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Close' and object 'the open interval', clearly indicating the action of ending an interval. However, it does not define what an interval is or differentiate it from sibling tools like clock_in or start_effort, leaving some ambiguity for an agent without domain context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool, such as whether an interval must be open first, nor does it mention any alternative tools or conditions for exclusion. It is a bare statement with no decision aid.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close_sliceC

Close a slice against its pull request.

ParametersJSON Schema
NameRequiredDescriptionDefault
effortYes
work_sliceYes
pull_requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only says 'close' without disclosing side effects, whether it is destructive, requires specific permissions, or is reversible. The agent gets no insight into consequences beyond the bare action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, which is appropriately minimal and avoids verbosity. However, it is so brief that it lacks structure or distinction; it is efficient but not informative, earning a mid-to-high score for conciseness alone.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter tool with no annotations and no parameter descriptions, the description is severely incomplete. It does not explain the domain concepts (slice, effort, pull request), the expected workflow, or the output. An agent would have no idea how to correctly invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the parameters (effort, work_slice, pull_request) are completely undocumented. The description mentions none of them, so the agent has no idea what values to provide or what 'effort' or 'work_slice' refer to in this context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('close') and resource ('slice') with a context ('against its pull request'), and it is distinct from sibling tools like add_slice or drop_slice. However, it could be more explicit about what closing entails, but it is not a tautology and is sufficiently clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, nor any context about prerequisites or conditions. The description simply states the action without indicating the appropriate workflow stage or how it differs from similar operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

currentB

What is clocked in, and since when.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
sinceNo
effortNo
intervalNo
work_sliceNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states the output ('what is clocked in, and since when') but does not disclose any behavioral traits such as whether it is read-only, whether it might return null if nothing is clocked in, or any limitations. For a simple query, this is minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that clearly communicates the tool's function. It is appropriately sized for a zero-parameter read tool—no wasted words, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and an output schema that likely describes the return format, the description gives enough context: it tells the agent what information it will receive (current clocked-in item and its start time). It doesn't explain edge cases (e.g., nothing clocked in), but given the simplicity, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero parameters, so the baseline is 4. The description adds no parameter meaning because there are none to explain. It correctly focuses on the output rather than inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool reports what is currently clocked in and the starting time. It is specific and distinguishes from action tools like clock_in/clock_out and summary tools like effort_table. The verb is implicit (reports/queries), but the resource is clear enough for an agent to understand its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. It doesn't mention that it's a read-only query, nor does it contrast with sibling tools that might provide similar information (e.g., effort_table or summary). The usage context is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drop_sliceC

Drop a slice that turned out to be unnecessary.

ParametersJSON Schema
NameRequiredDescriptionDefault
effortYes
reasonYes
work_sliceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation (dropping a slice) but does not mention consequences, reversibility, required permissions, or side effects. The phrase 'that turned out to be unnecessary' adds a slight hint of intent but nothing about how the operation behaves (e.g., whether it permanently deletes or just marks as discarded).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, so it is concise. However, it front-loads only a vague reason ('turned out to be unnecessary') and omits essential practical information. Conciseness is achieved at the expense of substantive content, making it under-specified rather than effectively structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three required parameters and an output schema, yet the description provides no context on how parameters relate, what the expected output is, or any constraints. The description is inadequate for a tool that likely mutates state and requires specific inputs. An agent would struggle to invoke it correctly without further schema documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented parameters. It does not. The description offers no explanation of what 'effort', 'work_slice', or 'reason' refer to beyond their names, and does not clarify their formats or relationships. This is a critical gap for an agent to call the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'drop' and the resource 'slice', indicating the tool removes a slice. The phrase 'that turned out to be unnecessary' adds a hint of the rationale but does not differentiate it from sibling tools like close_slice or rename_slice. The purpose is clear at a basic level, but no explicit distinction is made.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as close_slice or add_slice. The description gives no scenario-based advice, no conditions for selection, and no mention of exclusions. It only states the action without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

effort_detailC

One effort's full event history.

ParametersJSON Schema
NameRequiredDescriptionDefault
effortYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowYes
metaYes
slicesYes
commitsYes
estimatesYes
intervalsYes

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'full event history' – it does not state that this is a read-only operation, imply any implications for large histories, or mention pagination or data format. The agent cannot predict performance or side effects from this text.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While extremely brief, this is under-specification rather than concise efficiency. The single fragment 'One effort's full event history' repeats what the tool name already implies and adds no new information. It fails to earn its placement by contributing actionable detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The existence of an output schema is not sufficient – the description should explain what the history includes (e.g., timestamps, states, actors) and any caveats. Given the tool's apparent complexity (multiple sibling operation types), a one-line description is inadequate for correct invocation and result interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides zero description coverage (0%), so the description must explain the 'effort' parameter. It only says 'effort' with no additional typing like a contract ID, name, or unique key. The agent cannot tell what format or how to obtain a valid value from this description alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'full event history' clearly indicates a retrieval operation scoped to one effort. It distinguishes itself from sibling tools like 'summary' or 'current' by focusing on the complete event log. However, it does not explicitly name the resource as the subject of a verb (e.g., 'fetches'), so it stops short of a precise action-resource statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given for when to call this tool versus alternatives. It does not mention that it complements 'summary' or 'effort_table', nor does it advise against calling it when only a current snapshot is needed. The description leaves the agent to infer appropriate usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

effort_tableC

One near-raw row per effort: estimates, wall hours, slice counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'near-raw row,' which hints at unaggregated data, but it does not explicitly state that the operation is read-only, nor does it mention any side effects, prerequisites, or dependencies. This is insufficient for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise and front-loads the key idea about raw effort rows. However, it is also terse to the point of vagueness, lacking a verb and clear scope. The structure is clean, but the content is thin, so it earns a 4 for brevity but not for richness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema exists, the description only needs to establish purpose and usage context. It provides a minimal idea that it returns raw effort rows with specific metrics, but it fails to explain how it relates to siblings or when it is preferable. The presence of an output schema covers return values, but the purpose remains ambiguous, making it minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing to explain in the description. The description mentions the content of rows (estimates, wall hours, slice counts), which relates to output rather than parameters. With 0 parameters, the baseline of 4 applies because the description does not need to compensate for missing parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource (effort) and hints at the output content (estimates, wall hours, slice counts), but it lacks an explicit verb like 'list' or 'get' and does not distinguish itself from siblings such as effort_detail or summary. The purpose is implied rather than directly stated, making it moderately clear but not precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many siblings (effort_detail, summary, current, etc.). The description does not mention any conditions, filters, or alternative tools, leaving the agent without a basis to select this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

finish_effortC

Mark an effort done.

ParametersJSON Schema
NameRequiredDescriptionDefault
effortYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It only implies a state mutation ('mark done') without detailing side effects, reversibility, required prior states, or any impact on related entities like intervals or slices. The description is insufficient for an agent to understand the full consequences of the call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, brief sentence that is easy to parse and front-loaded with the core action. It is appropriately concise for a simple tool, though additional structured guidance would be beneficial.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter), the description is still incomplete. It fails to provide usage context (e.g., relationship to start_effort, lifecycle) and does not compensate for missing annotations. An output schema exists but the description does not mention return behavior, and there is no indication of when this is the appropriate tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must clarify the 'effort' parameter. It does not explain whether this is an ID, name, or how to reference an effort. The tool name and description provide minimal inference, leaving the parameter semantics largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Mark an effort done' states a clear verb and resource. It is distinct from sibling tools like 'start_effort' which imply the opposite action. The purpose is unambiguous and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as requiring an effort to be started first, or when not to use it. The description offers no context for selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

harvest_commitsC

Copy commit metadata from a working tree into the store.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
sinceYes
untilYes
effortYes
work_sliceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden of behavioral disclosure. It implies a write operation ('copy ... into the store') but doesn't detail side effects, whether it's destructive, requires specific permissions, or how the store is updated (overwrite vs append). The high-level phrase 'copy' is vague about the actual mechanism and consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no fluff. It is front-loaded with the core action and destination. However, it is so short that it borders on under-specification rather than efficiency, but for what it says, it is appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 required parameters, no parameter documentation, and no usage guidance, the description is wholly incomplete. Even if an output schema exists, an agent cannot correctly invoke this tool without understanding the parameters and expected context. The description fails to provide the necessary context for safe and correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 5 required parameters with 0% description coverage, and the description provides no explanation for any of them. An agent cannot infer what 'effort', 'work_slice', 'path', 'since', and 'until' represent from the description alone. This is a severe gap in usability.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action (copy), a resource (commit metadata), and a source/destination (working tree into store). This is clear enough to convey the core function, though it doesn't explicitly differentiate from sibling tools like 'record_landed_commit' or 'remap_commits'. The verb 'copy' is unambiguous about the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description doesn't mention prerequisites, expected context, or any exclusions. For a tool that interacts with a working tree and store, an agent would benefit from knowing when to choose 'harvest_commits' over similar commit-related tools, but this is entirely absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_absenceC

Declare time not spent working. Retroactive by design.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
noteNo
stopYes
startYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals the retroactive nature, which is useful, but it says nothing about side effects, permissions, potential conflicts with existing time records, or how the absence integrates with other data. This is minimal for a tool that records data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two short sentences) with no redundant wording, which is good for front-loading. However, it is under-specified for a tool with 4 parameters and 0% schema coverage; while concise, it sacrifices necessary detail. It is efficient but not fully effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists (so return values need not be described), the description is incomplete for correct usage. It lacks any parameter explanation, usage context, behavioral details, or prerequisites. For a tool with required start/stop/kind and optional note, this description leaves too much unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% — the schema only provides property names and types, no descriptions. The tool description must therefore explain the parameters, but it does not. It gives no meaning for 'start', 'stop', 'kind', or 'note', leaving the agent to infer everything from the schema's titles and enum values, which is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Declare') and a clear resource ('time not spent working'), which distinguishes the tool's general purpose from siblings like clock_in/clock_out. The phrase 'Retroactive by design' adds a distinct characteristic, but it does not explicitly contrast with any sibling tool. Overall, the purpose is clear and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not state when to use this tool over alternatives. It only hints at retroactive recording, but there is no explicit guidance on scenarios (e.g., 'use for past absences, use clock_in/clock_out for real-time tracking'). With 19 sibling tools, providing usage context is essential; this description offers none.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_final_planD

Record the final plan and the counterfactual estimate against it.

ParametersJSON Schema
NameRequiredDescriptionDefault
effortYes
likelyYes
plan_pathYes
rationaleYes
optimisticYes
pessimisticYes
summary_textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. The description merely says 'Record,' implying a write operation, but does not explain side effects (e.g., what is stored, if it overwrites, if it requires prior actions), authentication needs, or error conditions. This is severely lacking for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, so it is concise in word count, but it is under-specified rather than efficiently informative. It lacks structure (e.g., heading, bullet points, parameter explanations) and does not front-load actionable guidance. Conciseness without substance is insufficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 required parameters, zero schema descriptions, no annotations, and a one-line description, the information is completely inadequate. An agent cannot infer parameter formats, required values, or relationships between parameters. The presence of an output schema does not help with input construction. This tool is far from complete for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for 7 required parameters, and the description adds no parameter-specific meaning. It only vaguely hints at 'final plan' and 'counterfactual estimate' without mapping to effort, plan_path, summary_text, optimistic/likely/pessimistic, or rationale. The agent has no help understanding what these parameters mean or how to fill them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Record the final plan') and references a 'counterfactual estimate,' giving some clarity about the tool's purpose. However, it does not differentiate from sibling tools (e.g., record_revision, finish_effort) and uses jargon ('counterfactual estimate') without explanation, leaving ambiguity about the exact resource and action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusion criteria, leaving the agent without actionable direction on tool selection among the 20 sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_landed_commitC

Record the durable commit that landed on the default branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
effortYes
identifierYes
repositoryYes
work_sliceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only implies a write operation ('record') but fails to mention side effects, required conditions, idempotency, error handling, or any other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise and front-loaded. However, it is under-specified to the point of being unhelpful, so the conciseness does not compensate for the lack of substance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has four required parameters, no annotations, and zero schema descriptions, the description is far from complete. While an output schema exists (so return values are covered), the description fails to address the core usage context, parameter meanings, and when to invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description doesn't explain any of the four required parameters (effort, work_slice, repository, identifier). The agent has no way to interpret what these parameters mean or what values to provide, making the tool essentially unusable without external knowledge.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (record) and resource (durable commit that landed on the default branch), giving a clear purpose. However, it doesn't explicitly differentiate from sibling tools like record_revision or harvest_commits, and the term 'durable' is ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage without any help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_revisionC

Record a revised estimate, typically when a slice is inserted.

ParametersJSON Schema
NameRequiredDescriptionDefault
effortYes
likelyYes
rationaleYes
optimisticYes
pessimisticYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It states the action ('record') but does not describe what happens to existing data, whether it modifies prior estimates, requires authentication, or has side effects. There is no mention of reversibility, idempotency, or concurrency, and the output schema is not referenced. For a write operation, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is appropriately concise, but it front-loads purpose without providing necessary context for the tool's parameters or behavior. It earns its place as a purpose statement, but the brevity leaves out critical information, so it is not optimally structured for usability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five required parameters, no annotations, and zero schema descriptions, the tool requires more contextual guidance. The description only covers the general purpose and a typical trigger, omitting parameter semantics, when not to use it, and behavioral expectations. An output schema exists but is not described, so the agent has no idea what the return value will be. This is incomplete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the five parameters (effort, optimistic, likely, pessimistic, rationale). The parameter names offer some hints, but without semantic context (e.g., units, ranges, relationships), an agent cannot reliably determine values. The description adds no parameter meaning and fails to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool records a revised estimate and gives a typical context ('when a slice is inserted'). This distinguishes it from siblings like 'record_final_plan' or 'repair_interval' at a high level, though it does not name alternatives explicitly. It is not a tautology and conveys the core purpose effectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a typical usage scenario ('when a slice is inserted') but does not explicitly say when to use this tool over alternatives, nor does it mention exclusions or prerequisites. An agent would have to infer that this is for revisions as opposed to initial estimates or final plans, but there is no direct guidance compared to sibling tools like 'record_final_plan'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reference_effortsC

Prior efforts with their summaries and estimates, for comparison. No actuals.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral details. It discloses that actuals are not included, which is a key restriction, but it doesn't state whether the operation is read-only, whether it has pagination, or what the output structure looks like. The lack of annotation coverage makes this a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, which is good for conciseness, but it sacrifices necessary detail. It says nothing about parameters or usage context, making it under-specified rather than effectively concise. It does not front-load any actionable details beyond the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two parameters, an output schema, and no annotations, the description is insufficient. It does not explain what the 'kind' filter does, what 'limit' controls, or what 'reference efforts' means in practice. The output schema exists, so return values are covered, but the tool's semantics and usage are not adequately described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero description coverage, and the description does not mention the 'kind' or 'limit' parameters at all. It only elaborates on the general purpose, leaving the agent without any semantic guidance for how to populate the parameters. This is a critical omission given the 0% coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it provides prior efforts with summaries and estimates for comparison, and explicitly excludes actuals. This distinguishes it from tools that report actual data, but it doesn't specify the verb (e.g., 'list', 'retrieve') or fully clarify its scope relative to sibling tools like effort_table or effort_detail. It's clear enough but not highly specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus siblings like effort_table or summary. The phrase 'for comparison' implies a use case, but it doesn't state when not to use it or what alternatives exist. This leaves the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remap_commitsC

Map a rewritten commit id onto its replacement.

ParametersJSON Schema
NameRequiredDescriptionDefault
newYes
oldYes
effortYes
reasonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It merely says 'map' without indicating whether this performs a mutation, requires specific permissions, or is reversible. The impact on data (e.g., creating a mapping record) is not disclosed, leaving agents uncertain about side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence with no superfluous content. It front-loads the core action and object, making it immediately scannable. Conciseness is optimal, though it sacrifices depth (captured in other dimensions).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool requires four mandatory parameters and has an output schema, the description should provide more context about the operation's purpose, side effects, and parameter roles. It lacks any indication of what the output contains or how 'effort' and 'reason' relate to the mapping. The description is inadequate for a complete agent decision.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented parameters. It clarifies 'old' and 'new' implicitly through the phrase 'commit id onto its replacement,' but 'effort' and 'reason' remain entirely unexplained. The description adds no value beyond the schema field names, failing to make the parameters self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Map') and a specific resource ('a rewritten commit id onto its replacement'), which distinguishes it from siblings like record_revision or harvest_commits. However, it does not explicitly name a sibling or clarify the context of 'rewritten' beyond the phrase, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of scenarios like post-rebase remapping, nor any exclusions or prerequisites. The agent is left to infer the usage context from the terse description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rename_sliceD

Rename a slice.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
effortYes
work_sliceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

D1.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It merely states the action without revealing side effects, required permissions, reversibility, or consequences for associated data. The presence of required parameters like 'effort' and 'work_slice' hints at deeper semantics that are left unexplained. This is inadequate for an operation that likely mutates state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While the three-word sentence is technically concise, it is underspecified to a fault. It lacks necessary context about the tool's operation, parameters, and usage. Conciseness should serve clarity, not sacrifice it. This is not efficient conciseness but minimalism without substance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three required parameters, no schema descriptions, no annotations, and multiple sibling slice operations, the description is grossly incomplete. It does not explain what a 'slice' is, how 'effort' relates to 'work_slice', what the expected return value is, or any edge cases. The absence of any contextual guidance makes correct invocation nearly impossible for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no explanation for any of the three parameters (title, effort, work_slice). The schema only provides types and names, leaving agents to guess the meaning and relationship between them. The description fails to compensate for the missing schema documentation, making it impossible to know how to fill parameters correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Rename') and resource ('a slice'), which clearly conveys the core action. It distinguishes this tool from sibling slice operations (add_slice, close_slice, drop_slice) because 'rename' is semantically distinct from add/close/drop. However, it lacks explicit differentiation context, so it doesn't reach a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no indication of expected effects or warnings. The description 'Rename a slice' provides zero usage context. This is a complete absence of usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

repair_intervalB

Correct an interval's bounds. Appends; never rewrites.

ParametersJSON Schema
NameRequiredDescriptionDefault
stopNo
startNo
effortYes
intervalYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. It discloses that the operation appends rather than rewrites, which is a key behavioral trait. However, it doesn't explain side effects, idempotency, or what happens to existing data beyond the append nature. Minimal but non-zero transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: two short sentences with no filler. The key behavioral trait is front-loaded. Could be slightly more explicit about parameters, but structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no annotations, and an output schema, the description is too sparse. It doesn't explain how to provide the required parameters or what the output represents. The agent would need to inspect the schema deeply and still lack context on usage semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It mentions 'bounds' which maps to start/stop, but gives no explanation of the required 'effort' and 'interval' parameters. The agent cannot infer how to specify which interval to correct or what effort context is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Correct') and resource ('an interval's bounds'), and adds a distinguishing behavioral trait ('Appends; never rewrites'). This clearly separates it from sibling tools that start, slice, or record actions, though it doesn't name alternatives explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It implies use when bounds need correcting, but doesn't state conditions, exclusions, or mention sibling tools. The agent is left to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_effortC

Create an effort from a plan artefact and an initial PERT estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
titleYes
likelyYes
plan_pathYes
rationaleYes
optimisticYes
pessimisticYes
work_slicesYes
summary_textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
recordedYes
identifierYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only says 'Create' which suggests mutation, but does not explain side effects, required permissions, reversibility, or what happens to existing efforts. The output schema is not referenced, leaving the agent without expectations of the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no wasted words, and the core purpose is front-loaded. However, it is so under-specified it borders on a fragment, lacking any structural benefit for a complex 9-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 required parameters, no annotations, and an output schema, the description is woefully incomplete. It fails to explain any parameter semantics, preconditions, or return behavior, leaving most essential context missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only vaguely mentions 'plan artefact' and 'PERT estimate' without mapping to any of the 9 parameters (title, kind, plan_path, summary_text, optimistic, likely, pessimistic, rationale, work_slices). No meaning is added beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Create') and resource ('effort'), and mentions two key inputs ('plan artefact' and 'initial PERT estimate'). This distinguishes it from siblings like finish_effort or add_slice, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings. The description implies you need a plan artefact and a PERT estimate, but does not state prerequisites, preconditions, or appropriateness relative to other lifecycle tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summaryB

Aggregate calibration, or an honest refusal when there is too little data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
efforts_countedYes
mean_hours_per_pointYes
mean_inventory_growthYes
median_hours_per_pointYes
median_inventory_growthYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It does disclose one behavioral trait beyond the obvious: an 'honest refusal when there is too little data,' which signals the tool can return a refusal rather than a fabricated aggregate. But nothing else about behavior is stated — no mention of whether the aggregation is computed on-demand or cached, what states of calibration data trigger the refusal threshold, or what the refused/aggregate outputs look like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler words. It earns its place but trades away critical clarity for brevity — the 'calibration' term is never unpacked, and the refusal condition is compressed into a subordinate clause. Economical, but arguably under-specified in service of economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Mitigating factors: an output schema exists (though not shown) explaining return values, and zero parameters simplify the call contract. Nevertheless, the description leaves the core noun undefined — what 'calibration' aggregates — and never outlines the threshold for 'too little data.' For a tool that is entirely about its output semantics, this is a meaningful gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline is 4 and there is nothing for the description to clarify. The one relevant semantic — the tool operates on existing calibration state rather than requiring arguments — is implicitly conveyed by the empty schema, and the refusal phrase adds the data-sufficiency condition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb ('aggregate') and a resource ('calibration'), so it clears the tautology bar. However, 'calibration' is a domain-specific term never explained — in a family of time-tracking/effort tools (clock_in, record_revision, effort_table), it's unclear whether calibration means planned-vs-actual comparison, summary statistics, or something else. The agent can guess but can't be sure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to call this versus any sibling. None of the 19 sibling tools are referenced, and no condition distinguishing 'aggregate calibration' from similar summarization operations is given. An agent facing siblings like effort_table and effort_detail has no basis for choosing summary over them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 21 tool updatesv0.1.0
    • First observedadd_slice
    • First observedannotate_interval
    • First observedclock_in
    • First observedclock_out
    • First observedclose_slice
    • First observedcurrent
    • First observeddrop_slice
    • First observedeffort_detail
    • First observedeffort_table
    • First observedfinish_effort
    • First observedharvest_commits
    • First observedrecord_absence
    • First observedrecord_final_plan
    • First observedrecord_landed_commit
    • First observedrecord_revision
    • First observedreference_efforts
    • First observedremap_commits
    • First observedrename_slice
    • First observedrepair_interval
    • First observedstart_effort
    • First observedsummary

TDQS

C2.8/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness5/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/Odalrick/estimate-maestro'

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