Skip to main content

task-tracker-mcp

An MCP server for Claude Code that extracts main tasks from your git commit history.

Instead of listing every commit, it filters out noise (merges, tests, docs, config, linting, typos), groups related commits by scope, and surfaces only the features and significant fixes.

Example

15 commits in your repo:

feat(auth): add JWT middleware for protected routes
feat(auth): add login page component
feat(auth): add password reset flow
fix(auth): handle expired refresh tokens
test: add unit tests for auth service
fix: fix typo in login error message
docs: update README with auth setup instructions
chore: update eslint config
style: format auth components with prettier
fix: fix import path in auth middleware
test: add integration tests for login endpoint
chore(deps): bump jsonwebtoken from 8.5.1 to 9.0.0
style: fix linting errors in auth module
ci: add auth service to GitHub Actions workflow
Merge branch 'main' into feature/auth

Ask Claude Code: "give tasks 15"

Output:

## my-project

- Add password reset flow

12 noise commits filtered. 3 auth features grouped into 1 task.

Install

From PyPI (one command)

claude mcp add task-tracker -- uvx task-tracker-mcp

From source

git clone https://github.com/y4du-em/task-tracker-mcp.git
cd task-tracker-mcp
claude mcp add task-tracker -- uv run --with mcp --with pydantic src/task_tracker_mcp/server.py

Verify

claude mcp list

Usage

Inside Claude Code, in any git repository:

give tasks today
give tasks last week
give tasks this month
give tasks 20
give tasks today from main
give tasks last week by author "john"

Supported time ranges

Query What it fetches
today Since midnight today
yesterday Since midnight yesterday
this week Since Monday of current week
last week Last 7 days
this month Since 1st of current month
last month Since 1st of previous month
last 3 days Last 3 days
last 2 weeks Last 14 days

Parameters

Parameter Description
count Number of recent commits (e.g., 15)
time_range Time-based filter (e.g., "today")
branch Branch to read from (default: current)
author Filter by commit author
path Path to git repo (default: cwd)

What Gets Filtered

Automatically skipped (not even parsed):

  • Merge commits (Merge branch, Merge pull request)
  • Version bumps (bump v1.2.3, release v2.0)
  • Dependency bot commits (Bump axios from 0.21 to 0.27)
  • WIP, fixup, squash commits
  • Empty messages

Classified as noise (parsed but filtered out):

  • Tests: test: add unit tests, add integration tests
  • Docs: docs: update README, update changelog
  • Style: style: format code, fix linting errors
  • Config: chore: update eslint config, update .env
  • CI/CD: ci: update GitHub Actions, add Dockerfile
  • Trivial: fix: fix typo, fix import path
  • Data entry: feat(values): add values, add uat data

Kept as tasks:

  • Features: feat(auth): add JWT middleware
  • Significant fixes: fix(auth): handle expired tokens, fix: XSS vulnerability
  • Breaking changes: feat!: redesign API response format

How Grouping Works

Commits sharing the same scope (the part in parentheses) are grouped:

feat(auth): add login page          ─┐
feat(auth): add JWT middleware        ├─→ 1 task: "Add JWT middleware"
fix(auth): handle expired tokens     ─┘
feat(dashboard): add revenue chart   ───→ 1 task: "Add revenue chart"

When a group has both features and fixes, the feature description is used as the representative.

For commits without explicit scope, the server infers scope from keywords in the description (auth, payment, dashboard, search, etc.).

Commit Formats Supported

Format Example
Conventional feat: add user authentication
Scoped fix(auth): resolve token expiry bug
Breaking feat!: redesign API response format
Tagged [Auth] Add JWT refresh flow
Plain text Add dark mode support
Emoji ✨ Add new search feature
Gitmoji :bug: Fix memory leak in worker
Ticket prefix JIRA-123: Implement OAuth2 flow

Development

git clone https://github.com/y4du-em/task-tracker-mcp.git
cd task-tracker-mcp
pip install -e .
pytest tests/

Uninstall

claude mcp remove task-tracker
pip uninstall task-tracker-mcp

License

MIT

Metadata

Release files for task-tracker-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for task-tracker-mcp 0.1.0
File Size Uploaded Provenance
task_tracker_mcp-0.1.0.tar.gz 12.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for task-tracker-mcp 0.1.0
File Interpreter ABI Platform
task_tracker_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.0 kB

Release files / task_tracker_mcp-0.1.0.tar.gz

Download URL task_tracker_mcp-0.1.0.tar.gz
Size 12.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6c1c5f33ff7d76564f0ddea02349673e207dd2681dea924d6c28b2c450f67a26
BLAKE2b-256 checksum
How to use checksums
59022a894077bd962fb78a30d566726d959c74e6fcc12c20ca1ef43c55b69e7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / task_tracker_mcp-0.1.0-py3-none-any.whl

Download URL task_tracker_mcp-0.1.0-py3-none-any.whl
Size 4.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9cdbdcbf06cfa21cf6aa113b0d8a4f61c596f5b8cbaf9e40829bf1d4715b4a0c
BLAKE2b-256 checksum
How to use checksums
7641a1dad5220d332452d1acb624c13df6f63868eb2e0c2a82579d6354a558bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for task-tracker-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page