{"_id":"@dwlf/tickets-mcp","_rev":"6-3f980f098a15c321f0159aa9844475c5","name":"@dwlf/tickets-mcp","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@dwlf/tickets-mcp","version":"0.1.0","_id":"@dwlf/tickets-mcp@0.1.0","maintainers":[{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"}],"bin":{"dwlf-tickets-mcp":"dist/index.js"},"dist":{"shasum":"f80a014dfcade4c7defb6003d6e1fe6d429794ca","tarball":"https://registry.npmjs.org/@dwlf/tickets-mcp/-/tickets-mcp-0.1.0.tgz","fileCount":8,"integrity":"sha512-GVGK3gDaUkp9ItudNF52J+scrd1WBJQYmw33s/djywVw2pmX361M0fvFYHOmfPxK2Lb2CxAZ9B7lxqjdlxeKCw==","signatures":[{"sig":"MEUCIQDurSSq3lSS2/QHp7uOnWLXdcf+rwauy/dE2QXB5B+KfwIgQrrlmNblEt8CB/Qi0dg9+6BunTlGlxAUGYfQSn1B+WM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31233},"type":"module","engines":{"node":">=18"},"gitHead":"ba20a6eba43054cbad2e42e8f32c85b166b6e670","scripts":{"test":"vitest run","build":"tsc","start":"tsx src/index.ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"},"_npmVersion":"11.3.0","description":"MCP server for the DWLF delivery board (tickets.dwlf.co.uk)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tickets-mcp_0.1.0_1787821325861_0.2705166225381146","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dwlf/tickets-mcp","version":"0.2.0","_id":"@dwlf/tickets-mcp@0.2.0","maintainers":[{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"}],"bin":{"dwlf-tickets-mcp":"dist/index.js"},"dist":{"shasum":"50d79c3996ec993364ccb1cbbf56ec5a5a38d361","tarball":"https://registry.npmjs.org/@dwlf/tickets-mcp/-/tickets-mcp-0.2.0.tgz","fileCount":6,"integrity":"sha512-dpjGXxGGg5qQh2T8cXz6nCYFJ4mQMkI0jDb4TCYCSOKmnfFqG9rpIHXrpjbdWSoRmAmKnL+ikOS0en8OWHLPnw==","signatures":[{"sig":"MEQCICgB5gqO7hYaCNpHSvYVW3QDdj9FrkApFcRjB7/nZYXPAiA7FFxCnZfVXdJQ26TyyASY3upLgHDa4hFxKzBDFCwXoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27903},"type":"module","engines":{"node":">=18"},"gitHead":"80f45de502fcfce2d40f96eab1e1d9b54869eb13","scripts":{"test":"vitest run","build":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json","start":"tsx src/index.ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"},"_npmVersion":"11.3.0","description":"MCP server for the DWLF delivery board (tickets.dwlf.co.uk)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tickets-mcp_0.2.0_1788350738161_0.09879091724043843","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dwlf/tickets-mcp","version":"0.2.1","_id":"@dwlf/tickets-mcp@0.2.1","maintainers":[{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"}],"bin":{"dwlf-tickets-mcp":"dist/index.js"},"dist":{"shasum":"b3e71f745a20918ac974b8fee369fd8a3fe7399b","tarball":"https://registry.npmjs.org/@dwlf/tickets-mcp/-/tickets-mcp-0.2.1.tgz","fileCount":7,"integrity":"sha512-W6dppKl+iPnxcEbLrMWOv1HDORzRWDOOtDCMVYNn1HUVdgl6TIrnSzTysfoPZagtZMbwUjK3u0VGGaZbSh6MCQ==","signatures":[{"sig":"MEQCIHsJPs+2Q+y8gB0ik7XCQ/sQnoG2ML1nY5yAiGgeK8Y4AiBGvCFS6cxFftfypcDeKi+t5SEwedA903aBkcXJxX6xwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28818},"type":"module","engines":{"node":">=18"},"gitHead":"f4d959886902399484743517d4cfbd6760ef3c71","scripts":{"test":"vitest run","build":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json","start":"tsx src/index.ts","typecheck":"tsc --noEmit","check-tarball":"tsx scripts/check-tarball.ts","prepublishOnly":"npm run build && npm run check-tarball"},"_npmUser":{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"},"_npmVersion":"11.3.0","description":"MCP server for the DWLF delivery board (tickets.dwlf.co.uk)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tickets-mcp_0.2.1_1788356418608_0.7801570087631355","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dwlf/tickets-mcp","version":"0.2.2","_id":"@dwlf/tickets-mcp@0.2.2","maintainers":[{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"}],"bin":{"dwlf-tickets-mcp":"dist/index.js"},"dist":{"shasum":"58f2b3a00631938382303bea51dce3e2c11a90d3","tarball":"https://registry.npmjs.org/@dwlf/tickets-mcp/-/tickets-mcp-0.2.2.tgz","fileCount":7,"integrity":"sha512-ozw2p4HqR7ititiy3DO/fuMhwiGpktQOFykvbuHB6N/nA05hqsyTIZDC/OVGsNsBKzkyFC1RGDJeQs98Jwbvmg==","signatures":[{"sig":"MEQCIDlO2ERoiu9rV+7dIXhkCX3UsXVdYr6A1ujTkgYnnvTGAiBpZIy121vHF1Z4vKfskuk6SWZNIAMbCnUsWKm4/hkL+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29849},"type":"module","engines":{"node":">=18"},"gitHead":"4cc11becf80a44df900559e4360df4049fe03b36","scripts":{"test":"vitest run","build":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json","start":"tsx src/index.ts","typecheck":"tsc --noEmit","check-tarball":"tsx scripts/check-tarball.ts","prepublishOnly":"npm run build && npm run check-tarball"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3601cb1-f306-4543-858f-cfad3864a2eb"}},"_npmVersion":"11.5.1","description":"MCP server for the DWLF delivery board (tickets.dwlf.co.uk)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tickets-mcp_0.2.2_1788798623438_0.5331102101426586","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@dwlf/tickets-mcp","version":"0.2.3","_id":"@dwlf/tickets-mcp@0.2.3","maintainers":[{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"}],"bin":{"dwlf-tickets-mcp":"dist/index.js"},"dist":{"shasum":"9db260ab96426a4006f6f82b51be2181101761c1","tarball":"https://registry.npmjs.org/@dwlf/tickets-mcp/-/tickets-mcp-0.2.3.tgz","fileCount":7,"integrity":"sha512-YgF5HVBriOq4nrVgkXLLlLMdoC/2Lxq3nDO3m5BtGZ53isubVY+v5T+Si8fFLnJNcVNEdfr985/1J3FsYCTHsA==","signatures":[{"sig":"MEUCIQD4wqoxGBpCwF5oXs65T7Z3kG1lcslsQYfFEeqztsuLdQIgb0afSpEA6OzQX/4ltQCDLz+BV9/YUScSxVbiL3ABshU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29988},"type":"module","engines":{"node":">=18"},"gitHead":"f3d7b63e207aeb3cdb0bb6eed6ebdc717bd0d38a","scripts":{"test":"vitest run","build":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json","start":"tsx src/index.ts","typecheck":"tsc --noEmit","check-tarball":"tsx scripts/check-tarball.ts","prepublishOnly":"npm run build && npm run check-tarball"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3601cb1-f306-4543-858f-cfad3864a2eb"}},"_npmVersion":"11.5.1","description":"MCP server for the DWLF delivery board (tickets.dwlf.co.uk)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/tickets-mcp_0.2.3_1788864042913_0.7429368709116331","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dwlf/tickets-mcp","version":"0.3.0","description":"MCP server for the DWLF delivery board (tickets.dwlf.co.uk)","type":"module","bin":{"dwlf-tickets-mcp":"dist/index.js"},"scripts":{"build":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test":"vitest run","start":"tsx src/index.ts","prepublishOnly":"npm run build && npm run check-tarball","check-tarball":"tsx scripts/check-tarball.ts"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^3.23.8"},"devDependencies":{"@types/node":"^22.9.0","tsx":"^4.19.2","typescript":"~5.6.3","vitest":"^2.1.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"engines":{"node":">=18"},"_id":"@dwlf/tickets-mcp@0.3.0","gitHead":"f31812dcbfe4a798164bd36a762c4045be68e438","_nodeVersion":"22.23.2","_npmVersion":"11.5.1","dist":{"integrity":"sha512-9LIeFy0WEQjrLUWl99u3HFxCRVdvlzMnyjtd+fHgTDGsbKA/WNO+G/GX6zP5aTq9NSY24rj6fyLMGCWbme4Bog==","shasum":"0f2903104dc6eae121a7e3afa119f98b914dd593","tarball":"https://registry.npmjs.org/@dwlf/tickets-mcp/-/tickets-mcp-0.3.0.tgz","fileCount":7,"unpackedSize":30856,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoJx/YbGaENnGxziW+rKrQ0mVJhW0uZ2Yy9OLnAyECYwIgNYbEfB+7yYIfxFhRNyJ/RkEciyubmNDljR7dglRUv0E="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d3601cb1-f306-4543-858f-cfad3864a2eb"}},"directories":{},"maintainers":[{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tickets-mcp_0.3.0_1788875970627_0.11154245677205665"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-27T09:02:05.529Z","modified":"2026-09-08T13:59:30.978Z","0.1.0":"2026-08-27T09:02:06.010Z","0.2.0":"2026-09-02T12:05:38.315Z","0.2.1":"2026-09-02T13:40:18.757Z","0.2.2":"2026-09-07T16:30:23.580Z","0.2.3":"2026-09-08T10:40:43.043Z","0.3.0":"2026-09-08T13:59:30.777Z"},"description":"MCP server for the DWLF delivery board (tickets.dwlf.co.uk)","maintainers":[{"name":"andywilliams81","email":"andy.williams.1981@gmail.com"}],"readme":"# @dwlf/tickets-mcp\n\nMCP server for the **DWLF delivery board** ([tickets.dwlf.co.uk](https://tickets.dwlf.co.uk)) —\nan internal ticket board for DWLF platform work. This package lets an AI agent (Claude Code or any\nMCP client) read and update the board.\n\nIt is a thin client over the board's REST API. It holds no secrets: you supply a personal access\ntoken via an environment variable.\n\n## Setup\n\nThe board's UI generates the exact command for you: sign in at\n[tickets.dwlf.co.uk](https://tickets.dwlf.co.uk), click **Connect agent**, create a token, and copy\nthe printed command. It looks like this:\n\n```bash\nclaude mcp add dwlf-tickets --scope user \\\n  -e DWLF_TICKETS_API=https://mle2zqvap3.execute-api.eu-west-2.amazonaws.com/v1 \\\n  -e DWLF_TICKETS_TOKEN=dwlft_your_token_here \\\n  -- npx -y @dwlf/tickets-mcp\n```\n\nThen restart your MCP client.\n\n## Environment\n\n| Variable | Required | Purpose |\n|---|---|---|\n| `DWLF_TICKETS_API` | yes | The board's API base (ends in `/v1`) |\n| `DWLF_TICKETS_TOKEN` | yes | A personal access token (`dwlft_…`) from the board |\n| `DWLF_TICKETS_QUEUE_DIR` | no | Where to park writes made while the board is unreachable (default `~/.dwlf-tickets/pending`) |\n\n## Tools\n\n`tickets_list` · `tickets_get` · `tickets_create` · `tickets_update` · `tickets_comment` ·\n`tickets_link` · `tickets_unlink` · `tickets_archive` · `tickets_meta` · `tickets_pending`\n\nUpdates require the `version` you read (a mismatch is a 409, not a silent overwrite). If the board\nis unreachable, a write is parked locally and replayed on the next successful call, and every\nresponse says so until the queue drains — so the board never blocks work, and a write is never lost.\n\nAccess is restricted to `@dwlf.co.uk`. Without a valid token the tools do nothing.\n","readmeFilename":"README.md"}