Skip to main content
Glama

team-tracker-mcp

MCP server for team task tracking, code review, and activity monitoring via Claude Code.

Assign tasks, track what everyone is doing across branches, review code, detect merge conflicts early, and get daily summaries — all through natural language in Claude Code.

Setup

1. Add to your project's .mcp.json

{
  "mcpServers": {
    "team-tracker": {
      "command": "npx",
      "args": ["-y", "team-tracker-mcp"]
    }
  }
}

Or for local development:

{
  "mcpServers": {
    "team-tracker": {
      "command": "node",
      "args": ["/path/to/team-tracker-mcp/dist/index.js"]
    }
  }
}

2. Add to .gitignore

.tasks/.watcher.lock
.tasks/.last-scan

3. Start using it

Open Claude Code in your project. The server auto-initializes a .tasks/ directory on first run. Team members are auto-registered from their git identity.

Related MCP server: ProPlan

What it does

Task Management — "assign Devyansh the image queue feature", "mark image queue task as done", "what tasks are assigned to Devyansh?"

Monitoring — "what's everyone working on?", "what did Devyansh do today?", "refresh branch activity"

Code Review — "review Devyansh's code on image-queue", "compare Devyansh's branch with Aman's"

Feedback — "give me today's summary", "generate feedback for Devyansh this week", "ping Devyansh for update"

Notifications — "do I have any notifications?", "clear my notifications", "sync tasks now"

How it works

  • Data stored in .tasks/ directory in your repo (JSON files, one per task)

  • Synced between team members via normal git push/pull

  • Background watcher polls remote branches, auto-detects stale tasks and merged branches

  • Team members identified by git email/username

  • Leader election ensures only one watcher runs across multiple Claude Code sessions

Tools (18 total)

Category

Tools

Task Management

assign_task, update_task, reassign_task, list_tasks, link_branch, create_subtasks

Monitoring

team_overview, get_activity, track_branches, detect_conflicts

Code Review

review_code, compare_branches

Feedback

daily_summary, generate_feedback, nudge_member

Notifications

check_notifications, clear_notifications, sync_now

Development

npm install
npm run dev     # Watch mode with tsx
npm run build   # TypeScript compilation
npm start       # Run built server

Available Tools

18 tools
assign_taskC

Create a new task and assign it to one or more team members

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTags like feature, bug, frontend, backend
titleYesTask title
sourceNoPath to related design doc or plan
branchesNoRelated branch names
priorityNoTask priority
assigneesYesTeam member handles to assign to
descriptionNoTask description

TDQS

C2.9/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 behavioral burden and does not meet it: it never says whether assignees are notified, whether the operation requires specific permissions, or what happens on partial failure. For a mutation tool with zero annotation coverage, 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.

Conciseness5/5

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

A single front-loaded sentence with zero filler; the create-then-assign order mirrors how the agent should think about the call. Nothing is wasted.

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 7-parameter mutating tool with no annotations and no output schema, the description is too thin: it omits notification behavior, returned identifiers, and permission requirements. The rich optional fields (source, branches, tags) are also entirely unexplained in the description.

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

Parameters3/5

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

Schema description coverage is 100%, so all 7 parameters (tags, source, branches, priority enum, etc.) are already documented in the schema. The phrase 'one or more team members' adds a small clarification that assignees is a multi-value list, but nothing beyond the schema's own 'handles to assign' description.

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 and resource: it creates a task AND assigns it to one or more team members, clarifying the combined action beyond the bare name assign_task. It is clear on its own, but gives no differentiation from siblings like update_task or create_subtasks, so an agent can't tell why this one is chosen over them.

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 when-to-use guidance, no prerequisites, and no mention of any alternative such as update_task or reassign_task. The agent must infer the appropriate context entirely on its own.

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

check_notificationsA

Check for pending notifications for the current user. Auto-called on session start.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It implies a read-only, user-scoped operation but does not state permissions, rate limits, pagination, or what 'pending' means. It adds the auto-call behavior, which is useful context beyond annotations.

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?

Two concise sentences that front-load the purpose and then immediately state the auto-call behavior. No wasted words.

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?

With no parameters, no annotations, and no output schema, the description adequately covers purpose and the auto-call trigger. It could disclose the return format or side effects, but for a simple check it is nearly 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?

There are 0 parameters, so the baseline is 4. No additional parameter semantics are needed.

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 (check) and resource (notifications) scoped to 'the current user', which is clear. It doesn't explicitly distinguish from the sibling clear_notifications, but the verb 'check' versus 'clear' implies read vs. mutate.

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

Usage Guidelines4/5

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

Specifies that it is auto-called on session start, giving clear timing context. It does not name alternatives or explore when a manual call is appropriate, but the auto-call guidance is strong.

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

clear_notificationsA

Mark all notifications as read for the current user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It discloses scope ('all', 'current user') which implies a bulk mutation, but does not state whether this is reversible, requires auth, or has side effects. Adequate but thin for a write operation.

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?

Single sentence, front-loaded, zero waste. Perfectly sized for a no-arg tool.

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?

Simple zero-param tool with no output schema, so minimal burden. But absence of any behavioral detail (reversibility, effect on unread counts) leaves an agent guessing about side effects.

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 schema is empty and nothing to document. The description correctly signals no inputs are needed ('all', 'current user'). Baseline 4 per rules for 0-param tools.

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?

Specific verb+resource: 'mark all notifications as read'. Clearly distinguishes from sibling check_notifications (which presumably reads notifications rather than clearing them). No explicit sibling naming, but scope is unambiguous.

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?

Implied usage from the imperative 'mark as read for current user' but no explicit when-to-use guidance or alternative routing (e.g., vs check_notifications). Minimum viable.

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

compare_branchesB

Compare two branches — show overlapping files and the diff between them

ParametersJSON Schema
NameRequiredDescriptionDefault
branch_aYesFirst branch name
branch_bYesSecond branch name

TDQS

B3.4/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 usefully discloses the expected output (overlapping files and a diff), but does not state that the operation is read-only, whether branches must exist, or any permission or rate-limit behavior.

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?

A single front-loaded sentence with no wasted words. It is appropriately sized for a simple two-parameter tool.

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 simple comparison tool with fully described parameters and no output schema, the description does explain the intended output. However, it omits explicit usage guidance and a read-only assurance, leaving small gaps given the absence of annotations.

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

Parameters3/5

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

Schema description coverage is 100%, so the two branch parameters are already fully documented in the schema. The description adds only the high-level phrase 'two branches' and no additional syntax or format meaning beyond the structured fields.

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 and resource: compare two branches and show overlapping files and diff. The purpose is clear without opening the schema, but it does not explicitly differentiate itself from nearby siblings like detect_conflicts, review_code, or track_branches.

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 only states what the tool does; it gives no explicit when-to-use guidance, no prerequisites, and no alternatives. Usage is left entirely to inference from the name and purpose.

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

create_subtasksB

Add subtasks to a task. Can be used to break a task into smaller pieces.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID
subtasksYesList of subtasks to create

TDQS

B3.2/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 does not disclose whether subtasks are appended or replace existing ones, what permissions are needed, what happens with an invalid task_id, or what the tool returns. For a mutation tool this is a substantial gap.

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?

Two short sentences with the action front-loaded and no wasted preamble. The second sentence is mildly redundant with the first but still orients the agent quickly.

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?

For a simple two-parameter creation tool with no output schema and no annotations, the description is minimally sufficient to invoke but omits append-vs-replace semantics, error behavior, and return shape. It is adequate but leaves the agent guessing on mutation details.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (task_id, subtasks) are already documented in the schema. The description adds only the conceptual framing of subtasks, no format or constraint detail beyond the schema. Baseline 3 applies.

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 ('Add') and resource ('subtasks to a task'), making the operation unambiguous. It does not differentiate itself from any sibling nor clarify how the added subtasks relate to existing ones, but the core purpose is clear.

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?

'Can be used to break a task into smaller pieces' implies the use case but gives no guidance on when this is preferable to alternatives, prerequisites, or what happens if the task already has subtasks. Usage is only implied, not specified.

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

daily_summaryB

Generate an end-of-day summary of what everyone on the team did today — commits, tasks, activity, and concerns

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD format (default: today)

TDQS

B3.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 carries the full behavioral burden. It discloses the aggregated content (commits, tasks, activity, concerns), but does not state that it is a read-only/non-destructive operation, whether it requires special permissions to view team activity, or how the summary is generated or returned.

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?

A single, front-loaded sentence that states the action, scope, and content categories with zero waste. It is appropriately sized for a simple one-parameter tool.

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?

For a read-only summary tool with one optional parameter and no output schema, the description is adequate but incomplete: it does not clarify the return format or scope boundaries against sibling tools. It gives enough for an agent to know what the tool produces but not enough to confidently choose it over team_overview or get_activity.

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

Parameters3/5

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

Schema coverage is 100% for the single optional date parameter, so the schema already documents its format and default. The description does not add any additional meaning about the date parameter beyond implicitly referring to 'today', so baseline 3 applies.

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 (Generate) and a specific resource (end-of-day summary of team activity), and lists the content categories. It does not explicitly distinguish itself from siblings like team_overview or get_activity, but the composite 'end-of-day summary' scope is clear enough to separate it from simple activity query tools.

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 alternatives, no exclusions, and no prerequisites. The 'end-of-day' phrasing implies a temporal context, but the description never says to prefer this over team_overview, get_activity, or list_tasks, leaving routing to inference.

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

detect_conflictsB

Compare active branches against each other and main to detect potential merge conflicts early

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations at all, the description carries the full burden, and it does not state whether this is a read-only scan, whether it is expensive on large repos, how many branches are in scope, or whether it makes any changes. Only the high-level intent is disclosed.

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?

A single well-formed sentence with the action front-loaded and no filler. Nothing redundant or padded.

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?

For a zero-parameter tool this is close to complete, but with no output schema and no annotations the description should say what a result looks like (list of conflicting branches? per-file conflicts?) and how the scan is scoped. The agent cannot predict the response shape.

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 takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameter-free tool applies. The sentence describes the implicit scope (active branches plus main) without needing argument syntax.

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 (compare/detect) and resource (active branches vs each other and main, merge conflicts), which is clearer than a generic branch-comparison tool. It is not, however, differentiated from the sibling compare_branches, which appears to cover overlapping ground.

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?

Usage is implied rather than stated: the word 'early' hints this is a pre-merge or pre-integration check. There is no explicit when-to-use, no when-not-to-use, and no pointer to compare_branches or track_branches as alternatives.

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

generate_feedbackA

Generate unbiased, data-driven feedback for a team member based on their recent git activity, task completion, and code patterns. Returns raw data for Claude to analyze and provide suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to analyze (default: 7)
memberYesTeam member handle

TDQS

A3.6/5.0
Behavior3/5

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

No annotations, so the description carries the full burden. It usefully discloses that the tool returns RAW data for Claude to interpret rather than finished prose, and enumerates the inputs it reads. It does not say whether it is read-only, what permissions or time cost are involved, or what the response shape looks like, leaving notable gaps for an unannotated tool.

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?

Two sentences, zero padding, with the purpose front-loaded and the critical return-behavior caveat placed immediately after where it will be read.

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?

With no output schema and no annotations, the description compensates by stating that it returns raw data for downstream analysis, which prevents an agent from expecting a finished report. Minor omissions remain around permissions and output structure, but it is adequate for a simple two-parameter read/generate tool.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (member, days) are already documented, and the description adds no extra semantics such as member handle format or default behavior. Baseline 3 applies when the schema does the heavy lifting.

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 and resource ('Generate ... feedback for a team member') plus the data sources it draws on (git activity, task completion, code patterns). It does not name any sibling tool, so an agent must infer differentiation from the sibling list itself, keeping it at 4 rather than 5.

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?

Usage is implied: aimed at team members with recent activity, and the closing sentence signals the raw-data-for-analysis workflow. But there is no explicit when-to-use versus alternatives (e.g., get_activity, team_overview, review_code) and no stated prerequisites, so it stays at minimum-viable.

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

get_activityB

Get detailed activity for a specific team member or branch, including commits, files changed, and time range

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD format (default: today)
branchNoBranch name
memberNoTeam member handle

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden; 'Get' implies a safe read and the description discloses the returned content types (commits, files changed, time range). It says nothing about permissions, pagination, or result limits, which matters for a zero-annotation tool.

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?

One front-loaded sentence with no filler; the resource and its scope come first. The phrase 'time range' is slightly loose against the date parameter, keeping it out of the top band.

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 three-optional-parameter read tool with no output schema and no annotations, the description covers scope and payload adequately. It could note that all parameters are optional or that omitting them yields a default scope, but nothing critical is missing.

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

Parameters3/5

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

Schema coverage is 100%, so member, branch, and date are already documented in the schema. The description maps loosely onto member/branch and hints at a time filter via 'time range', but it adds no format or default details beyond what the schema already states.

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 (Get) and resource (detailed activity) and scopes it to a team member or branch, plus enumerates the payload (commits, files changed, time range). It is clear enough to distinguish from list-oriented siblings like list_tasks, though it never names an alternative 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?

There is no guidance on when to pick this over team_overview, daily_summary, or track_branches, nor any stated prerequisites. The agent must infer the use case purely from the description.

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

list_tasksB

List tasks, optionally filtered by assignee, status, priority, or tag

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter by tag
statusNo
assigneeNoFilter by assignee handle
priorityNo

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 behavioral burden, and it says nothing about pagination, result caps, ordering, or permissions. For a list tool that could return an unbounded set, the absence of any result-shape or limit disclosure is a meaningful gap.

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?

A single sentence with the verb and resource front-loaded and the optional qualifiers trailing. No filler, no redundancy, appropriately sized for a simple four-parameter list tool.

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?

The description covers the core purpose and filter facets but omits the default behavior when no filters are supplied, any pagination or ordering semantics, and result-size expectations. With no annotations and no output schema, those omissions leave the agent guessing at runtime behavior.

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

Parameters3/5

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

Schema description coverage is 50% (tag and assignee are documented; status and priority rely on enums), and the description merely re-lists all four filter names without adding syntax, matching rules, or multi-value behavior. It neither compensates for the coverage gap nor adds meaning beyond the 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?

The description gives a specific verb+resource ('List tasks') plus the optional filter dimensions, which is enough to distinguish it from the mutation-oriented siblings like assign_task, update_task, and reassign_task. It does not explicitly name a sibling, 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 Guidelines3/5

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

'optionally filtered by...' implies that omitting filters returns the full list, which is reasonable usage guidance. However, it never states when to prefer this over alternatives (e.g., team_overview, get_activity) or what the unfiltered default actually returns.

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

nudge_memberB

Send a notification to a team member requesting a status update on a specific task or in general

ParametersJSON Schema
NameRequiredDescriptionDefault
memberYesTeam member handle to nudge
messageNoCustom message
task_idNoTask ID to ask about

TDQS

B3.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 carries the full burden. It says 'send a notification' but doesn't disclose whether this requires special permissions, whether it's rate-limited, whether it's destructive or reversible, or what happens if the member is unavailable. For a notification-sending tool with zero annotation coverage, 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.

Conciseness4/5

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

The description is a single efficient sentence that is front-loaded with the core action ('send a notification'). It is appropriately sized and contains no obvious filler, though it could benefit from a bit more context without becoming verbose.

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 no annotations, no output schema, and three parameters, the description is insufficiently complete. It doesn't explain the expected outcome, the response format, or any behavioral constraints. For a tool that sends notifications, more context is needed to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no additional meaning beyond what the schema provides (e.g., format of member handle, what a custom message entails, constraints on task_id). Baseline 3 is appropriate when the schema does the heavy lifting.

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 and resource: send a notification to a team member to request a status update. It distinguishes itself from siblings like assign_task or update_task, which mutate tasks rather than notify people. However, it doesn't explicitly clarify whether it's a read or write operation, and its relationship to check_notifications or clear_notifications is not addressed.

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 implies usage for requesting status updates, but it doesn't say when to use this versus other communication-related tools (e.g., generate_feedback, daily_summary) or when not to use it. No explicit alternatives or exclusions are provided.

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

reassign_taskB

Reassign a task to different team members. Generates handoff context.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesTask ID
handoff_notesNoContext for the new assignees
new_assigneesYesNew assignee handles

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose one real side effect: reassignment "generates handoff context." It omits whether new assignees are notified, whether old assignees are removed or added to, permission requirements, and whether the change is reversible.

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?

Two short sentences with the action front-loaded and no padding. The trailing "Generates handoff context" earns its place as a side-effect note, though "handoff context" itself is vague enough that it borders on 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?

A mutation tool with no annotations and no output schema needs the description to cover permissions, notification behavior, and whether new_assignees replaces or appends to existing assignees. The description covers none of these, leaving significant gaps for an agent invoking a write operation.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (task_id, handoff_notes, new_assignees) are already documented in the schema. The description adds no format, constraint, or cardinality detail beyond that, so the baseline of 3 applies.

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 gives a specific verb and resource ("Reassign a task") plus the scope ("to different team members"), which distinguishes it from the generic update_task. However, it never explicitly contrasts with the closely-named sibling assign_task, leaving the agent to infer the initial-assignment vs. re-assignment boundary.

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?

Usage is only implied: the word "Reassign" signals this applies when a task already has owners being swapped out, but there is no explicit when-to-use, when-not-to-use, or named alternative (assign_task, update_task). An agent must infer the routing from the verb alone.

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

review_codeB

Get the full diff and stats for a branch or task for code review. Returns the diff against main so Claude can analyze it for quality, bugs, and conflicts.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNoBranch name to review
task_idNoTask ID — will review all linked branches

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries more burden. It discloses that the diff is 'against main' and lists the review dimensions (quality, bugs, conflicts), which is helpful behavioral context. However, it doesn't state whether it's read-only (implied), what the output format is, or any limits like diff size. Adequate but incomplete for a data-returning tool.

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?

Two concise sentences that are front-loaded with the primary action and return value. No wasted words, though it could be slightly tighter.

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?

The tool has no annotations, no output schema, and returns a complex artifact (a diff). The description explains the diff is against main, but omits whether the tool is read-only, how large diffs are handled, and what 'stats' includes. It's minimally viable but leaves gaps for a tool that returns unstructured data.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already fully documents both parameters. The description adds that 'task' reviews 'all linked branches', which is slightly more context than the schema's 'will review all linked branches', but it's essentially redundant. Baseline 3 for high schema coverage.

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-and-resource ('Get the full diff and stats for a branch or task') and scopes it to code review. It's specific about what it returns, but doesn't distinguish itself from the closest sibling, compare_branches, which also deals with diffs.

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 context 'for code review' implies when to use it, but there are no explicit when/when-not statements or alternatives named. An agent can infer it's for reviewing a branch's changes, but must guess how it differs from compare_branches or detect_conflicts.

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

sync_nowA

Force an immediate sync of .tasks/ changes to the remote repository (commit + push)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the mutation mechanics (commit + push to a remote). However, it does not clarify what 'Force' means for remote state (does it overwrite/force-push?), what happens on conflict or auth failure, or whether the operation is reversible — gaps that matter for a remote-mutating action.

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?

A single sentence, front-loaded with the action and scoped by the parenthetical mechanism. Every element earns its place and nothing is padded.

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?

For a zero-parameter, no-output-schema tool the description covers the core action, but with no annotations and a sibling set that includes detect_conflicts, the absence of any note about conflict/failure handling or remote-state impact leaves real gaps for an agent invoking a push operation.

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 takes zero parameters, so there are no parameter semantics to document; the 4 baseline applies. Nothing in the description is needed to clarify inputs.

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?

States a specific verb (sync), an explicit scope (.tasks/ changes), a target (remote repository), and disambiguates the mechanism with '(commit + push)'. No sibling tool (link_branch, track_branches, detect_conflicts) overlaps with this sync-and-push behavior, so an agent can select it unambiguously.

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 word 'Force an immediate' implies this is used when you want an on-demand sync rather than a deferred/automatic one, but the description never states when to prefer it or what alternatives exist. Usage context is only implied.

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

team_overviewB

Get a snapshot of what everyone on the team is currently working on — active tasks, branches, recent commits

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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 behavioral burden, yet it only describes the content of the snapshot. It does not state that the operation is read-only (though implied), nor does it disclose freshness, permission requirements, or whether output is paginated or limited.

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?

A single, front-loaded sentence that wastes nothing. The enumerated contents are presented compactly after the main clause, and there is no filler.

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?

For a zero-parameter read tool with no output schema, the description adequately covers what the tool returns (active tasks, branches, recent commits). However, it omits usage guidance against very similar siblings and any behavioral context, leaving a clear gap for an agent choosing between team-wide tools.

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 takes zero parameters, which is the baseline-4 case. The description does not need to explain parameter syntax and correctly focuses on the tool's purpose instead.

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 ('Get a snapshot') and resource ('what everyone on the team is currently working on'), then enumerates the contents (active tasks, branches, recent commits). It clearly differentiates from narrower siblings like list_tasks or track_branches, but does not explicitly name an alternative despite close siblings such as get_activity and daily_summary.

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 when-to-use guidance, no prerequisites, and no routing to alternatives. The description implies a team-wide overview use case but never states when to pick this over get_activity or daily_summary, leaving the agent to infer.

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

track_branchesA

Fetch all remote branches, scan for new commits, and update task activity. Call this to refresh branch data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose a non-obvious side effect: the call "update[s] task activity," not just reads. However, it says nothing about idempotency, permissions, cost, or how frequently it should run, which matters for a mutation-capable refresh tool.

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?

Two short sentences, front-loaded with the action sequence. The second sentence slightly restates the first rather than adding new information, so it is efficient but not flawless.

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?

For a 0-param tool with no output schema and no annotations, the description covers what it does and its side effect but omits scope (all branches? which repos?), frequency guidance, and any sense of what the agent observes after calling. Adequate but with clear gaps.

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 takes zero parameters, so there is no parameter semantics to convey; the baseline for a 0-param tool is 4. Nothing in the description misrepresents or omits an input.

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 names a specific verb sequence and resource: fetch remote branches, scan for new commits, and update task activity. This distinguishes it from siblings like compare_branches (diffing) and link_branch (associating a branch with a task), though it does not explicitly name those alternatives.

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?

"Call this to refresh branch data" gives an implied trigger, but there is no when-not guidance and no routing against the closely related compare_branches or sync_now siblings. The agent must infer the boundary itself.

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

update_taskC

Update an existing task's status, priority, description, or other fields

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
titleNo
statusNo
task_idYesTask ID (e.g., t-001)
priorityNo
descriptionNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden and largely fails. 'Update' implies mutation, but nothing is said about permission requirements, whether this is a patch or replace operation, reversibility, or what 'or other fields' actually permits.

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?

One front-loaded sentence with no padding, but the trailing 'or other fields' is vague filler that adds no usable information.

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 6-parameter mutation tool with no annotations, no output schema, and 17% schema coverage, the description omits the update semantics, permissions, and return behavior an agent needs. It is too thin for the tool's complexity.

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

Parameters3/5

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

Schema description coverage is only 17% (task_id alone), so the description must compensate; it names status, priority, and description but omits title and tags, and gives no value formats beyond the enums already in the schema. Partial compensation only.

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 (update) and resource (task) plus the primary fields affected (status, priority, description). It does not distinguish itself from the mutating siblings assign_task and reassign_task, so an agent must infer the boundary from the field list alone.

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 rather than assign_task or reassign_task, which also modify tasks. No prerequisites, no mention of partial vs. full update, and no note on whether omitted fields are preserved.

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.

  1. 18 tool updatesv0.1.0
    • First observedassign_task
    • First observedcheck_notifications
    • First observedclear_notifications
    • First observedcompare_branches
    • First observedcreate_subtasks
    • First observeddaily_summary
    • First observeddetect_conflicts
    • First observedgenerate_feedback
    • First observedget_activity
    • First observedlink_branch
    • First observedlist_tasks
    • First observednudge_member
    • First observedreassign_task
    • First observedreview_code
    • First observedsync_now
    • First observedteam_overview
    • First observedtrack_branches
    • First observedupdate_task

TDQS

B3.4/5.0

Scored across 18 tools

Disambiguation4/5

Most tools have clearly distinct purposes, such as task management, branch tracking, and team summaries. However, review_code, compare_branches, and detect_conflicts all analyze branches and could overlap in purpose, requiring careful reading to distinguish.

Naming Consistency4/5

The naming is mostly consistent with a verb_noun pattern (assign_task, update_task, get_activity, etc.). A few names like team_overview and daily_summary deviate by being noun phrases, but remain readable and descriptive.

Tool Count4/5

With 18 tools, the count is slightly heavy but reasonable for a comprehensive team and task management server. Each tool appears to earn its place, covering tasks, branches, notifications, and summaries.

Completeness4/5

The toolset covers core task lifecycle (create, update, reassign, list) and branch integration well. Minor gaps exist, such as a dedicated delete_task or get_task tool, but most workflows are supported. Notifications and syncing round out the surface.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server that spawns autonomous Claude Code agents in GitHub repos, enabling task delegation with persistent state, multi-step workflows, and job monitoring.
    47
    187 npm
    2
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for project planning inside Claude. It tracks progress, knows your codebase, and resumes exactly where you left off every session.
    6 npm
    5
    -
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that gives Claude live access to your GitHub workspace — PR reviews, issue triaging, repo search, and weekly digest reports through natural language.
    7
    MIT