{"id":50727110,"url":"https://github.com/allenrobel/bug-tracker-mcp","last_synced_at":"2026-06-10T05:01:25.818Z","repository":{"id":362362531,"uuid":"1257797189","full_name":"allenrobel/bug-tracker-mcp","owner":"allenrobel","description":"MCP server to track bugs","archived":false,"fork":false,"pushed_at":"2026-06-09T19:28:05.000Z","size":85,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T20:21:13.410Z","etag":null,"topics":["bug-tracker","bug-tracking","mcp","mcp-server"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/allenrobel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-03T02:41:00.000Z","updated_at":"2026-06-09T19:31:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/allenrobel/bug-tracker-mcp","commit_stats":null,"previous_names":["allenrobel/nd-quirks","allenrobel/bug-tracker-mcp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/allenrobel/bug-tracker-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenrobel%2Fbug-tracker-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenrobel%2Fbug-tracker-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenrobel%2Fbug-tracker-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenrobel%2Fbug-tracker-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allenrobel","download_url":"https://codeload.github.com/allenrobel/bug-tracker-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allenrobel%2Fbug-tracker-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34137570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bug-tracker","bug-tracking","mcp","mcp-server"],"created_at":"2026-06-10T05:01:24.770Z","updated_at":"2026-06-10T05:01:25.803Z","avatar_url":"https://github.com/allenrobel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bug Tracker MCP Server\n\n## Summary\n\nAn MCP Server that leverages notes written in Markdown to track bugs.  The server was written for those\ndeveloping Cisco Nexus Dashboard applications which use the REST API, but could easily be\nleveraged for other uses.\n\nMy use case is providing Claude Code with a resource through which it can determine the\nsuitability of various Nexus Dashboard endpoints for a given task, and whether an endpoint exhibits\nany behavioral bugs and, if so, what version(s) exhibit the behavior and what\nversion (if any) fixes the behavior.  Notes might also contain workaround(s).\n\n**The actual notes are not included in this repository.**\n\n## Setup\n\n### 1. Install Obsidian and login\n\n### 2. Setup sync with the ND Vault (vault should be in `$HOME/Obsidian/ND`)\n\n### 3. Edit `com.bug-tracker-mcp.plist` such that the paths match your environment\n\n- `OBSIDIAN_VAULT_PATH` should point to your ND vault (e.g. `$HOME/Obsidian/ND`)\n- `ProgramArguments` should call `uv server.py` via their full paths e.g.\n  - `/Users/arobel/repos/mcp/bug-tracker-mcp/.venv/bin/uv`\n  - run\n  - `/Users/arobel/repos/mcp/bug-tracker-mcp/server.py`\n- `WorkingDirectory` should point to this repository on your host\n  - `/Users/arobel/repos/mcp/bug-tracker-mcp`\n\n```bash\ncd $HOME/repos/mcp/bug-tracker-mcp\nvi com.bug-tracker-mcp.plist\ncp com.bug-tracker-mcp.plist $HOME/Library/LaunchAgents\nchmod 644 $HOME/Library/LaunchAgents/com.bug-tracker-mcp.plist\n```\n\n### 4. (Re)start the LaunchAgent\n\n```bash\nlaunchctl bootout gui/$(id -u)/com.bug-tracker-mcp\nlaunchctl bootstrap gui/$(id -u) $HOME/Library/LaunchAgents/com.bug-tracker-mcp.plist\n```\n\n### 5. Edit Claude Code's config on the client Mac to point to this MCP server\n\n- edit $HOME/.claude.json\n- Search for the `mcpServers` block\n- Add the following (where `mm1e` is the hostname or IP address of the Mac that's hosting the MCP server)\n\n```json\n  \"mcpServers\": {\n    \"bug-tracker-mcp\": {\n      \"type\": \"http\",\n      \"url\": \"http://mm1e:8001/mcp\"\n    }\n  }\n```\n\n### 5. Restart Claude Code and check the MCP server status using the `/mcp` slash command\n\n## MCP Server Logic Diagram\n\n```mermaid\nflowchart TD\n    A(\"Module import and setup\") --\u003e B[\"Read environment, constants, and create FastMCP\"]\n    B --\u003e C{\"Running as main script?\"}\n    C --\u003e|Yes| D[\"Start MCP HTTP server\"]\n    D --\u003e E[\"Await MCP tool calls\"]\n    C --\u003e|No| E\n\n    E --\u003e F{\"Which tool is called?\"}\n    F --\u003e|list_bugs, search_bugs, or get_bug_by_id| I[[\"_all_notes()\"]]\n    F --\u003e|find_bugs_for_endpoint or find_bugs_for_version| G{\"Version parses?\"}\n    F --\u003e|get_bug| J{\"Target file exists and is relevant?\"}\n\n    G --\u003e|No| ERR[\"Raise ValueError or FileNotFoundError\"]\n    G --\u003e|Yes| I\n    J --\u003e|No| ERR\n    J --\u003e|Yes| L[[\"_load_note(path)\"]]\n\n    I --\u003e M{\"Vault directory exists?\"}\n    M --\u003e|No| ERR\n    M --\u003e|Yes| R[(\"Vault files and note cache\")]\n    R --\u003e N{\"More markdown files?\"}\n    N --\u003e|Yes| O{\"Relevant markdown file?\"}\n    N --\u003e|No| W[\"Drop stale cache entries and return note set\"]\n\n    O --\u003e|No| N\n    O --\u003e|Yes| L\n\n    L --\u003e P{\"Cached note has same mtime?\"}\n    P --\u003e|Yes| Q[\"Reuse cached Note\"]\n    P --\u003e|No| S[\"Parse frontmatter and build Note\"]\n\n    Q --\u003e T{\"Called from get_bug?\"}\n    S --\u003e T\n    T --\u003e|Yes| Z[\"Return full metadata and content\"]\n    T --\u003e|No| N\n\n    W --\u003e X[\"Apply tool-specific sorting, scoring, snippets, and filters\"]\n    X --\u003e Z\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallenrobel%2Fbug-tracker-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fallenrobel%2Fbug-tracker-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallenrobel%2Fbug-tracker-mcp/lists"}