bug_tracker_mcp
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., "@bug_tracker_mcp log bug 'Homepage fails to load' severity major"
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.
bug_tracker_mcp
A lean, agent-first Model Context Protocol (MCP) server for tracking bugs, tasks, and context across coding sessions. Designed to give AI agents (like Claude Desktop, Antigravity, and Cursor) zero-friction persistent memory for issues discovered during development.
Overview
When pair-programming with AI agents, bugs and technical debt are frequently discovered mid-task. Without a persistent tracker, these issues get lost when context windows reset.
bug_tracker_mcp solves this with a lightweight SQLite-backed MCP server. It provides 6 fast MCP tools allowing agents to log, inspect, update, resolve, and delete bugs, all isolated per project. Every tool call requires an explicit project name (e.g. the repo name) supplied by the calling agent; the server never infers it from its own working directory, since a single long-lived MCP process can serve many different projects across a session.
Related MCP server: Telebugs MCP Server
Architecture
The system is organized into decoupled Python modules:
FastMCP Server (
bug_tracker_mcp.server): Defines stdio transport MCP tools usingfastmcp.FastMCP. Handles argument validation, requires aprojectname on every call, and converts internal exceptions to user-friendlyToolErrorresponses.Database Path Resolution (
bug_tracker_mcp.scope): Resolves the path to the single shared SQLite database:$XDG_DATA_HOME/bug-tracker-mcp/bugs.db(or~/.local/share/bug-tracker-mcp/bugs.db) by default, or$BUGTRACKER_ROOT/bugs.dbif overridden.SQLite Storage Layer (
bug_tracker_mcp.storage): Manages SQLite connections with WAL journal mode, busy timeouts, auto-migrations viauser_version, and full CRUD operations. Every read and write is scoped by aprojectcolumn, so bugs logged under one project are invisible to and cannot be mutated from another.Pydantic Models (
bug_tracker_mcp.models): Strict Pydantic models (Bug,BugSummary,BugListResponse) enforcing schema and typed responses.Environment Configuration (
bug_tracker_mcp.config): Reads an optional environment variable override for the shared database's storage directory.
Installation & Setup
Install and manage dependencies using uv:
# Clone repository
git clone https://github.com/realsidg/bug_tracker_mcp.git
cd bug_tracker_mcp
# Install dependencies and setup virtual environment
uv syncAgent Configuration
Register bug-tracker-mcp with your agent workspace or desktop client.
Workspace .mcp.json
Add to .mcp.json in your workspace root:
{
"mcpServers": {
"bug-tracker": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/bug_tracker_mcp",
"bug-tracker-mcp"
]
}
}
}Claude Desktop (claude_desktop_config.json)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"bug-tracker": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/bug_tracker_mcp",
"bug-tracker-mcp"
]
}
}
}Environment Variables
You can override the storage location by setting an environment variable:
Variable | Description | Default |
| Overrides the directory holding the shared |
|
Tool Reference
bug_tracker_mcp exposes 6 tools to AI agents. Every tool requires a project name identifying which project the bugs belong to — use a consistent name (e.g. the repo name) for the same project across calls, since bugs are only ever returned to callers passing the matching project.
Tool Name | Parameters | Description |
|
| Logs a new bug or improvement into storage and returns the created |
|
| Lists lightweight |
|
| Returns complete details of a specific bug by ID within a project. Raises |
|
| Updates specific attributes of an existing bug within a project. Raises |
|
| Marks a bug as |
|
| Permanently removes a bug by ID within a project. Returns |
Development & Testing
Run all quality checks:
# Run pytest test suite
uv run pytest
# Check code formatting and linting
uv run ruff check .
uv run ruff format --check .
# Run static type checker in strict mode
uv run mypy src
# Run pre-commit hooks
uv run pre-commit run --all-filesAvailable Tools
6 toolsdelete_bugB
Delete a bug by ID within a project.
Inputs: bug_id (required), project (required). Returns: object
get_bugA
Get full details of a specific bug by ID within a project.
Inputs: bug_id (required), project (required). Returns: Full detail model for a bug entry.
list_bugsA
List bugs within a project with optional filtering and pagination.
Returns lightweight BugSummary items (omitting full description and notes) for progressive
disclosure. Use get_bug to retrieve complete details for a specific bug.
Inputs: project (required), tag, kind, limit, +3 more. Returns: Paginated list response containing bug summaries and pagination metadata.
log_bugB
Log a new bug or improvement into the bug tracking store.
Inputs: title (required), project (required), kind, tags, +4 more. Returns: Full detail model for a bug entry.
resolve_bugB
Mark a bug as fixed with optional resolution details.
Inputs: bug_id (required), project (required), resolution. Returns: Full detail model for a bug entry.
update_bugC
Update attributes of an existing bug within a project.
Inputs: bug_id (required), project (required), kind, tags, +6 more. Returns: Full detail model for a bug entry.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct action on bugs: create, delete, list, get, update, and resolve. There is no overlap between their purposes.
All tool names follow a consistent verb_noun pattern: log_bug, delete_bug, list_bugs, get_bug, update_bug, resolve_bug. No mixing of conventions.
6 tools cover the essential CRUD operations plus a dedicated resolve action for a bug tracker. This is well-scoped and not excessive.
The set provides full create, read (list and get), update, delete, and resolve. Minor gaps like reassigning or changing status beyond resolve exist but are acceptable for a basic tracker.
Maintenance
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Minimal issue tracker: projects, objectives and trackable plans, written by agents over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server for intelligent project planning and task management featuring task tracking, bug reporting, and feature specification with SQLite persistence. It includes full-text search capabilities and automatic filesystem synchronization to keep project data organized and accessible.MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to retrieve and analyze error reports from a self-hosted Telebugs instance. It provides tools for listing projects, searching error groups, and fetching detailed reports directly from the Telebugs SQLite database.4-
- AlicenseNot gradedqualityDmaintenanceA lightweight MCP server for tracking personal expenses, income, and budget summaries using SQLite.4Martin Birgmeier
- AlicenseNot gradedqualityBmaintenanceA lightweight MCP server that provides cross-project progress tracking tools (list, refresh, read, update, mark) for agents to query and manage work status across multiple tracked projects.MIT