team-tracker-mcp
Integrates with Git repositories for branch tracking, conflict detection, and activity monitoring.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@team-tracker-mcpwhat is Devyansh working on today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-scan3. 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 |
|
Monitoring |
|
Code Review |
|
Feedback |
|
Notifications |
|
Development
npm install
npm run dev # Watch mode with tsx
npm run build # TypeScript compilation
npm start # Run built serverAvailable Tools
18 toolsassign_taskC
Create a new task and assign it to one or more team members
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags like feature, bug, frontend, backend | |
| title | Yes | Task title | |
| source | No | Path to related design doc or plan | |
| branches | No | Related branch names | |
| priority | No | Task priority | |
| assignees | Yes | Team member handles to assign to | |
| description | No | Task description |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| branch_a | Yes | First branch name | |
| branch_b | Yes | Second branch name |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID | |
| subtasks | Yes | List of subtasks to create |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date in YYYY-MM-DD format (default: today) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to analyze (default: 7) | |
| member | Yes | Team member handle |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date in YYYY-MM-DD format (default: today) | |
| branch | No | Branch name | |
| member | No | Team member handle |
TDQS
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.
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.
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.
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.
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.
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.
link_branchC
Associate a git branch with a task
| Name | Required | Description | Default |
|---|---|---|---|
| branch | Yes | Branch name to link | |
| task_id | Yes | Task ID |
TDQS
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 does not disclose side effects, whether the link is idempotent, what happens if the branch is already linked to another task, required permissions, or any return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is efficient, though its extreme brevity leaves behavioral and usage gaps to other fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity two-parameter tool with full schema coverage, the description is minimally adequate. However, with no annotations, no output schema, and no usage guidance, it leaves important behavioral context unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (branch, task_id) are already documented in the schema. The description adds no format, constraint, or example detail beyond the schema, which is the expected baseline 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Associate a git branch with a task'. An agent can tell this is a linking operation distinct from track_branches or compare_branches, though the description does not explicitly name or contrast those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus track_branches, assign_task, or other branch-related siblings. The purpose implies usage but there are no conditions, prerequisites, or alternatives offered.
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
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by tag | |
| status | No | ||
| assignee | No | Filter by assignee handle | |
| priority | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| member | Yes | Team member handle to nudge | |
| message | No | Custom message | |
| task_id | No | Task ID to ask about |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID | |
| handoff_notes | No | Context for the new assignees | |
| new_assignees | Yes | New assignee handles |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | Branch name to review | |
| task_id | No | Task ID — will review all linked branches |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | No | ||
| status | No | ||
| task_id | Yes | Task ID (e.g., t-001) | |
| priority | No | ||
| description | No |
TDQS
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.
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.
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.
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.
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.
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.
18 tool updates
v0.1.0- First observed
assign_task - First observed
check_notifications - First observed
clear_notifications - First observed
compare_branches - First observed
create_subtasks - First observed
daily_summary - First observed
detect_conflicts - First observed
generate_feedback - First observed
get_activity - First observed
link_branch - First observed
list_tasks - First observed
nudge_member - First observed
reassign_task - First observed
review_code - First observed
sync_now - First observed
team_overview - First observed
track_branches - First observed
update_task
TDQS
Scored across 18 tools
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.
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.
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.
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
A MCP server built for developers enabling Git based project management with project and personal…
AI-native Kanban board — connect Claude to claim, work and move your tasks over MCP.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
- i3deployOAuthcom.i3deploy
Deploy & release tracking with native MCP — ask Claude what's in production and cut the release.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server that spawns autonomous Claude Code agents in GitHub repos, enabling task delegation with persistent state, multi-step workflows, and job monitoring.47187 npm2Apache 2.0
- FlicenseNot gradedqualityDmaintenanceMCP server for project planning inside Claude. It tracks progress, knows your codebase, and resumes exactly where you left off every session.6 npm5-
- AlicenseNot gradedqualityAmaintenanceMCP server that watches issue trackers and comments for 'Dear Claude' and spawns local Claude Code instances to execute tasks, posting results back to the original platform.45 npmMIT
- AlicenseAqualityCmaintenanceAn MCP server that gives Claude live access to your GitHub workspace — PR reviews, issue triaging, repo search, and weekly digest reports through natural language.7MIT