{"_id":"@calimero-network/mero-issue-tracker-mcp","_rev":"6-596f6e5d01a2a056e1925f7d9311d3ef","name":"@calimero-network/mero-issue-tracker-mcp","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@calimero-network/mero-issue-tracker-mcp","version":"0.1.0","license":"MIT","_id":"@calimero-network/mero-issue-tracker-mcp@0.1.0","maintainers":[{"name":"xilos","email":"xabilosada@gmail.com"}],"homepage":"https://github.com/calimero-network/mero-issue-tracker#readme","bugs":{"url":"https://github.com/calimero-network/mero-issue-tracker/issues"},"bin":{"mero-issue-tracker-mcp":"dist/index.js"},"dist":{"shasum":"dfe45526ee22fb56bf50994630b0af86d94ec720","tarball":"https://registry.npmjs.org/@calimero-network/mero-issue-tracker-mcp/-/mero-issue-tracker-mcp-0.1.0.tgz","fileCount":7,"integrity":"sha512-VZXQi3knp89k/ohIdA2wFDGSy9HL3pLGb2ueW5waA/KkyvxuXuONYzvoII3cXHCSo38Dl9zu31mcxiJzHtaJAA==","signatures":[{"sig":"MEYCIQD2kQNlm+kXQDqxsJElPMLPXRaNoJTJMKrZuNzUXxGm5AIhAP4GlZjNpHTt/rodr5YyN+H2WXzqXipaXZzLWo8OgXh2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30814},"type":"module","engines":{"node":">=20"},"gitHead":"69a04de98a654a38913be4624d0bfe1976b8a678","scripts":{"test":"tsx --test src/*.test.ts","build":"tsc -p tsconfig.build.json","start":"tsx src/index.ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"xilos","email":"xabilosada@gmail.com"},"repository":{"url":"git+https://github.com/calimero-network/mero-issue-tracker.git","type":"git","directory":"mcp"},"_npmVersion":"11.6.2","description":"Stdio MCP server for managing issues in a Calimero-backed issue tracker","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^25.6.0","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@semantic-release/github":"^9.2.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^12.1.0","conventional-changelog-conventionalcommits":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mero-issue-tracker-mcp_0.1.0_1784294737863_0.24557787491703853","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@calimero-network/mero-issue-tracker-mcp","version":"0.2.0","license":"MIT","_id":"@calimero-network/mero-issue-tracker-mcp@0.2.0","maintainers":[{"name":"xilos","email":"xabilosada@gmail.com"}],"homepage":"https://github.com/calimero-network/mero-issue-tracker#readme","bugs":{"url":"https://github.com/calimero-network/mero-issue-tracker/issues"},"bin":{"mero-issue-tracker-mcp":"dist/index.js"},"dist":{"shasum":"ffb8f73413469025c9a19713f33b1e7704badd4a","tarball":"https://registry.npmjs.org/@calimero-network/mero-issue-tracker-mcp/-/mero-issue-tracker-mcp-0.2.0.tgz","fileCount":7,"integrity":"sha512-bwe1JPs/WTS+CeUVLeCBDZD7lYMwwQpc8IEG218GcBX48nyLuHiG1NO4sAgtdcM3nmOVGT89HD6qXWzJamxekg==","signatures":[{"sig":"MEQCIGemzy5Z9c4OezRQInRXrfZ1znCYtovaNwk0NLDFTbmIAiAv0iBWgpyrARickqCmC9rkuJm5SNlJ4teTueqBDtO6Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35518},"type":"module","engines":{"node":">=20"},"gitHead":"f999d46ad46392531eaf8fd70d9ecb3ba8dc4582","scripts":{"test":"tsx --test src/*.test.ts","build":"tsc -p tsconfig.build.json","start":"tsx src/index.ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5034b641-2361-4d5c-83c2-9feb9b66ff20"}},"repository":{"url":"git+https://github.com/calimero-network/mero-issue-tracker.git","type":"git","directory":"mcp"},"_npmVersion":"11.16.0","description":"Stdio MCP server for managing issues in a Calimero-backed issue tracker","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^25.6.0","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@semantic-release/github":"^9.2.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^12.1.0","conventional-changelog-conventionalcommits":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mero-issue-tracker-mcp_0.2.0_1784301587329_0.06557621805347846","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@calimero-network/mero-issue-tracker-mcp","version":"0.3.0","license":"MIT","_id":"@calimero-network/mero-issue-tracker-mcp@0.3.0","maintainers":[{"name":"xilos","email":"xabilosada@gmail.com"}],"homepage":"https://github.com/calimero-network/mero-issue-tracker#readme","bugs":{"url":"https://github.com/calimero-network/mero-issue-tracker/issues"},"bin":{"mero-issue-tracker-mcp":"dist/index.js"},"dist":{"shasum":"7fd9f6eb212f49ad0470b9ea3a8f8a15f9c9c16f","tarball":"https://registry.npmjs.org/@calimero-network/mero-issue-tracker-mcp/-/mero-issue-tracker-mcp-0.3.0.tgz","fileCount":7,"integrity":"sha512-GGKftzW0sSFX+TTK73yLHAzZ6fE2hW77eb48YOfz8dVCk39fn8bh1kzTtOpS7BbSNN6spg+QIRA3HeXRLa7s6Q==","signatures":[{"sig":"MEYCIQDzwJH1lrMAbLAQ+jp+6vyY2gdvPfBvH0EG0judxlQp5wIhAPL2tB6LiYM/VCFBYug6csvbTtSM5rontTIzSpZWO5fE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36370},"type":"module","engines":{"node":">=20"},"gitHead":"ebd1d044ea277a2349285591d92ba5a1ae69770b","scripts":{"test":"tsx --test src/*.test.ts","build":"tsc -p tsconfig.build.json","start":"tsx src/index.ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5034b641-2361-4d5c-83c2-9feb9b66ff20"}},"repository":{"url":"git+https://github.com/calimero-network/mero-issue-tracker.git","type":"git","directory":"mcp"},"_npmVersion":"11.16.0","description":"Stdio MCP server for managing issues in a Calimero-backed issue tracker","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^25.6.0","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@semantic-release/github":"^9.2.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^12.1.0","conventional-changelog-conventionalcommits":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mero-issue-tracker-mcp_0.3.0_1784306408982_0.5990141411569325","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@calimero-network/mero-issue-tracker-mcp","version":"0.4.0","license":"MIT","_id":"@calimero-network/mero-issue-tracker-mcp@0.4.0","maintainers":[{"name":"rtb-calimero","email":"ronit@calimero.network"},{"name":"xilos","email":"xabilosada@gmail.com"}],"homepage":"https://github.com/calimero-network/mero-issue-tracker#readme","bugs":{"url":"https://github.com/calimero-network/mero-issue-tracker/issues"},"bin":{"mero-issue-tracker-mcp":"dist/index.js"},"dist":{"shasum":"e54f7482ae3eec3e3311c91a7714a1fed0078aa0","tarball":"https://registry.npmjs.org/@calimero-network/mero-issue-tracker-mcp/-/mero-issue-tracker-mcp-0.4.0.tgz","fileCount":7,"integrity":"sha512-Vqo//qp8Qwwe+ZiclhTkEJxMdlXTkc4xYmfo+2Yu3hxAelUwn7McIWxHtksFsGh8ry/XR9Uu8vM40ad6O+GqyA==","signatures":[{"sig":"MEUCIQDJkfAgs+lwkhCbaSTlswQ9RvYXxwKgLeMt8fpVA4jmiQIgdsF0QaM6P8CV0jOebhfSb6OwVW52AR0BfJuPGckvnRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36370},"type":"module","engines":{"node":">=20"},"gitHead":"271e9cc93dc0ac9ea7264b1b8f5281b7f5631494","scripts":{"test":"tsx --test src/*.test.ts","build":"tsc -p tsconfig.build.json","start":"tsx src/index.ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5034b641-2361-4d5c-83c2-9feb9b66ff20"}},"repository":{"url":"git+https://github.com/calimero-network/mero-issue-tracker.git","type":"git","directory":"mcp"},"_npmVersion":"11.16.0","description":"Stdio MCP server for managing issues in a Calimero-backed issue tracker","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^25.6.0","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@semantic-release/github":"^9.2.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^12.1.0","conventional-changelog-conventionalcommits":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mero-issue-tracker-mcp_0.4.0_1785439330500_0.37286423626627685","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@calimero-network/mero-issue-tracker-mcp","version":"0.5.0","description":"Stdio MCP server for managing issues in a Calimero-backed issue tracker","license":"MIT","type":"module","publishConfig":{"access":"public"},"bin":{"mero-issue-tracker-mcp":"dist/index.js"},"engines":{"node":">=20"},"repository":{"type":"git","url":"git+https://github.com/calimero-network/mero-issue-tracker.git","directory":"mcp"},"scripts":{"start":"tsx src/index.ts","typecheck":"tsc --noEmit","test":"tsx --test src/*.test.ts","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","zod":"^4.4.3"},"devDependencies":{"@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.2.6","@semantic-release/npm":"^12.0.1","@semantic-release/release-notes-generator":"^12.1.0","@types/node":"^25.6.0","conventional-changelog-conventionalcommits":"^7.0.0","semantic-release":"^24.2.9","tsx":"^4.19.2","typescript":"^5.7.0"},"gitHead":"257db71d41a06a9ef46dd72af0082e35e2fc08d9","_id":"@calimero-network/mero-issue-tracker-mcp@0.5.0","bugs":{"url":"https://github.com/calimero-network/mero-issue-tracker/issues"},"homepage":"https://github.com/calimero-network/mero-issue-tracker#readme","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-sAZfMnL21ZHDOgXLUnr5F/eq+Y6tpbd9aXntqRI7i1hFKkLphFcPv09fm96KcA/z0xNkzPblsTTJhu8uqPqtRg==","shasum":"a6394fa95d2e8d6bca16c840824dc7b7e7923be1","tarball":"https://registry.npmjs.org/@calimero-network/mero-issue-tracker-mcp/-/mero-issue-tracker-mcp-0.5.0.tgz","fileCount":7,"unpackedSize":36370,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEejC8FVxT4HK1uGiWBp+Djvt81PtfwKGyByfWjjffoWAiBwOWmDFGvQdqWIH33cWRjlg/oSKmo0Wr8txBeyTcBfNg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5034b641-2361-4d5c-83c2-9feb9b66ff20"}},"directories":{},"maintainers":[{"name":"rtb-calimero","email":"ronit@calimero.network"},{"name":"xilos","email":"xabilosada@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mero-issue-tracker-mcp_0.5.0_1787232028831_0.5867864332518407"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-17T13:25:37.729Z","modified":"2026-08-20T13:20:29.908Z","0.1.0":"2026-07-17T13:25:37.986Z","0.2.0":"2026-07-17T15:19:47.472Z","0.3.0":"2026-07-17T16:40:09.134Z","0.4.0":"2026-07-30T19:22:10.648Z","0.5.0":"2026-08-20T13:20:29.006Z"},"bugs":{"url":"https://github.com/calimero-network/mero-issue-tracker/issues"},"license":"MIT","homepage":"https://github.com/calimero-network/mero-issue-tracker#readme","repository":{"type":"git","url":"git+https://github.com/calimero-network/mero-issue-tracker.git","directory":"mcp"},"description":"Stdio MCP server for managing issues in a Calimero-backed issue tracker","maintainers":[{"name":"rtb-calimero","email":"ronit@calimero.network"},{"name":"xilos","email":"xabilosada@gmail.com"}],"readme":"# @calimero-network/mero-issue-tracker-mcp\n\nA stdio MCP server that lets Claude Code manage issues in this app's tracker\nby calling the local Calimero node's `/jsonrpc` and `/admin-api` endpoints\ndirectly (no mero-js dependency).\n\n## Tools\n\nEvery issue tool below also takes an optional `repo` param - the context\nalias to target within the namespace. Pass it explicitly on each call when\nmanaging more than one repo; that's the expected Claude Code usage. Without\nit, the server falls back to `TRACKER_REPO`, then to the namespace's only\nrepo, else it errors listing what's available.\n\n- `create_issue` - required `title`, `summary`, `impact`, `repro`,\n  `resolution_criteria`; optional `priority` (`low`/`medium`/`high`/`urgent`,\n  default `medium`), `labels` (string array), and `repo`.\n- `list_issues` - optional `status`, `assignee`, `label`, `repo`.\n- `get_issue` - `id`, optional `repo`.\n- `add_comment` - `issue_id`, `body`, optional `repo`.\n- `assign_issue` - `issue_id`, `assignee`, optional `repo`.\n- `set_status` - `issue_id`, `status` (`Open`/`In progress`/`Blocked`/`Done`), optional `repo`.\n- `set_priority` - `issue_id`, `priority` (`low`/`medium`/`high`/`urgent`), optional `repo`.\n- `delete_issue` - `issue_id`, optional `repo`. Author-gated (only the\n  issue's `created_by` may delete it); cascade-removes its comments and labels.\n- `get_fix_prompt` - `id`, optional `repo`. Renders a ready-to-paste fix\n  prompt filled with the issue's sections plus the repo's `Repository:` line\n  (`src/fixPrompt.ts`).\n- `list_repos` - no params. Lists every repo (aliased context) in the\n  namespace with its name and `repo_url`.\n- `add_repo` - `name`, `github_url`. Onboards a new repo: creates a context\n  in `TRACKER_NAMESPACE`, sets its `repo_url`, and aliases it by name.\n  Requires `TRACKER_NAMESPACE` (errors under the `TRACKER_CONTEXT` direct\n  pin, which has no namespace to create a repo in). Rejects a name that\n  already exists.\n\n## Config (env vars)\n\n| Var | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `CALIMERO_NODE_URL` | no | `http://localhost:2428` | Base URL of the local node. |\n| `TRACKER_NAMESPACE` | yes, unless `TRACKER_CONTEXT` is set | - | The tracker's namespace id, or a name resolved via `GET /admin-api/namespaces`. Repos are the namespace's aliased contexts (see `repo` above). |\n| `TRACKER_REPO` | no | - | Default repo (context alias) within the namespace, used when a tool call omits `repo`. |\n| `TRACKER_CONTEXT` | no | - | Direct pin to a single context id or alias (backward compat). When set, it bypasses namespace/repo resolution entirely and every `repo` param is ignored. |\n| `CALIMERO_AUTH_TOKEN` | no | - | Bearer token sent to both `/admin-api` and `/jsonrpc`. |\n| `TRACKER_EXECUTOR` | no | - | Executor public key for RPC calls. If unset, resolved from the node's first owned identity for the target context (`GET /admin-api/contexts/{id}/identities-owned`), mirroring `useWorkspace.ts`. |\n| `TRACKER_SERVICE` | no | `issue-tracker` | Service name passed to `createContext` by `add_repo`. |\n\n## Run it\n\n```bash\npnpm --filter @calimero-network/mero-issue-tracker-mcp start\n```\n\n## Wire it into Claude Code\n\nThe primary path is `npx`, no clone required (needs the package published to\nnpm - see \"Publishing\" below):\n\n```json\n{\n  \"mcpServers\": {\n    \"issue-tracker\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@calimero-network/mero-issue-tracker-mcp\"],\n      \"env\": {\n        \"CALIMERO_NODE_URL\": \"http://localhost:2428\",\n        \"TRACKER_NAMESPACE\": \"my-team\",\n        \"TRACKER_REPO\": \"frontend\"\n      }\n    }\n  }\n}\n```\n\nIf you're contributing to this repo, run it from source instead:\n\n```json\n{\n  \"mcpServers\": {\n    \"issue-tracker\": {\n      \"command\": \"pnpm\",\n      \"args\": [\"--filter\", \"@calimero-network/mero-issue-tracker-mcp\", \"start\"],\n      \"env\": {\n        \"CALIMERO_NODE_URL\": \"http://localhost:2428\",\n        \"TRACKER_NAMESPACE\": \"my-team\",\n        \"TRACKER_REPO\": \"frontend\"\n      }\n    }\n  }\n}\n```\n\n`pnpm --filter @calimero-network/mero-issue-tracker-mcp start` runs the\npackage's own `start` script (`tsx src/index.ts`, using the `tsx` installed\nin `mcp/`'s `node_modules`), so it works from the repo root without a global\ninstall.\n\n`TRACKER_REPO` is only a default - pass `repo` on individual tool calls to\ntarget a different repo in the same namespace without restarting the server.\nOmit `TRACKER_REPO` entirely if the namespace has (or will only ever have)\none repo; it's inferred automatically.\n\nAdd `CALIMERO_AUTH_TOKEN` / `TRACKER_EXECUTOR` to `env` only if you need them -\nboth are optional (see the table above).\n\n## Tests\n\n```bash\npnpm --filter @calimero-network/mero-issue-tracker-mcp test       # node:test, mocked fetch\npnpm --filter @calimero-network/mero-issue-tracker-mcp typecheck\n```\n\n## Publishing\n\n`.github/workflows/publish-mcp.yml` releases this package automatically:\nmerging a conventional commit that touches `mcp/` into `main` runs\nsemantic-release, which bumps the version, writes `CHANGELOG.md`, tags the\nrelease (`mero-issue-tracker-mcp-v<version>`), and publishes to npm via\ntrusted publishing (GitHub Actions OIDC - no token secret). It can also be\ntriggered manually from the Actions tab. Commit types map to release types\nper `mcp/.releaserc.json` (`feat` = minor, `fix`/`chore`/`docs`/`refactor`/\n`perf` = patch, `test`/`build`/`ci` = no release).\n\nThis requires the package's trusted publisher to be configured on\nnpmjs.com to point at this repo and the `publish-mcp.yml` workflow filename\nbefore the first publish will work.\n\n## Live smoke test\n\n`scripts/smoke.mjs` drives the real stdio server against a running node: it\nspeaks the MCP protocol (initialize -> tools/list -> tools/call) through the\nfull round-trip - create_issue with all four sections, list_issues, get_issue\n(verifies the sections survive), add_comment, get_fix_prompt (verifies the\nfilled template). It runs the server against `TRACKER_CONTEXT` (the direct\npin), so it doesn't exercise namespace/repo resolution. Point it at a node\nwith the tracker context provisioned:\n\n```bash\nCALIMERO_NODE_URL=http://localhost:2428 \\\nTRACKER_CONTEXT=core \\\nCALIMERO_AUTH_TOKEN=<token if the node enforces auth> \\\nnode scripts/smoke.mjs\n```\n\nSee the root README's \"MCP setup (team)\" section for a step-by-step guide to\nrunning this server against your team's node.\n","readmeFilename":"README.md"}