{"_id":"@aro.day/mcp","_rev":"7-7135d16331e1228b43e27f9383c1a980","name":"@aro.day/mcp","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.3":{"name":"@aro.day/mcp","version":"0.1.3","keywords":["mcp","model-context-protocol","todo","tasks","task-manager","aro.day","claude","claude-code","ai-agent","productivity"],"license":"MIT","_id":"@aro.day/mcp@0.1.3","maintainers":[{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"}],"homepage":"https://github.com/aro-day/aro.day-mcp#readme","bugs":{"url":"https://github.com/aro-day/aro.day-mcp/issues"},"bin":{"aroday-mcp":"dist/cli.js"},"dist":{"shasum":"def08148f54097ce23c38b36bc2f054d758c8265","tarball":"https://registry.npmjs.org/@aro.day/mcp/-/mcp-0.1.3.tgz","fileCount":13,"integrity":"sha512-SyVOJtaK6LpR6JEccPj/S3q5FZOZQxzyO98+fci6bN8d++hjNtwdCzWpSqSDqFwxUxxJTiN/LU4Jfo2NSH9R1A==","signatures":[{"sig":"MEUCIQC3KjOMaF7cC2GXyQJIWkjlYvewVVYYxTwvv22RErjTKQIgMsyBueIpdhjhI3sksaMu5slE+AX+izmdrIVFEFaK9J4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40125},"type":"module","engines":{"node":">=18"},"gitHead":"a12780ab0305f3e02bcfa1ecc1c217e81d2ec0af","scripts":{"test":"bun test","build":"npm run clean && tsc -p tsconfig.json && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"},"repository":{"url":"git+https://github.com/aro-day/aro.day-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Open-source MCP server for aro.day — let an AI client (Claude Desktop, Claude Code, Codex) read and update your tasks. Talks to your own Google Drive; aro.day's servers never see your task data.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.23.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.3_1780125487166_0.37204528006441495","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aro.day/mcp","version":"0.1.4","keywords":["mcp","model-context-protocol","todo","tasks","task-manager","aro.day","claude","claude-code","ai-agent","productivity"],"license":"MIT","_id":"@aro.day/mcp@0.1.4","maintainers":[{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"}],"homepage":"https://github.com/aro-day/aro.day-mcp#readme","bugs":{"url":"https://github.com/aro-day/aro.day-mcp/issues"},"bin":{"mcp":"dist/cli.js","aroday-mcp":"dist/cli.js"},"dist":{"shasum":"754f373b67666eb6358259508c9803a6ceab5866","tarball":"https://registry.npmjs.org/@aro.day/mcp/-/mcp-0.1.4.tgz","fileCount":13,"integrity":"sha512-T4S7Yh1C7LfJak2SdeahXkpisDgOZItlRVgOoM3w6xjhAbZwtqQZIHEowkDwcSzaqjJAOd8aEsFYakSJP2cdSg==","signatures":[{"sig":"MEUCIAcvZLMHvV2Cecc45hpMYGf4G24qxmsZSSIwusQWJpY2AiEArVRtzkfyw8ShsKqJxS5fFdEjy8IvI2fGVsPG3+arQq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40147},"type":"module","engines":{"node":">=18"},"gitHead":"74dbce43302476209c5160809bdf333252837deb","scripts":{"test":"bun test","build":"npm run clean && tsc -p tsconfig.json && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"},"deprecated":"Superseded by 0.1.5 (drops the redundant mcp bin).","repository":{"url":"git+https://github.com/aro-day/aro.day-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Open-source MCP server for aro.day — let an AI client (Claude Desktop, Claude Code, Codex) read and update your tasks. Talks to your own Google Drive; aro.day's servers never see your task data.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.23.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.4_1780126755835_0.5389360871135467","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aro.day/mcp","version":"0.1.5","keywords":["mcp","model-context-protocol","todo","tasks","task-manager","aro.day","claude","claude-code","ai-agent","productivity"],"license":"MIT","_id":"@aro.day/mcp@0.1.5","maintainers":[{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"}],"homepage":"https://github.com/aro-day/aro.day-mcp#readme","bugs":{"url":"https://github.com/aro-day/aro.day-mcp/issues"},"bin":{"aroday-mcp":"dist/cli.js"},"dist":{"shasum":"3d958c85025d13ba56f39b36f5d2a6303b6259b8","tarball":"https://registry.npmjs.org/@aro.day/mcp/-/mcp-0.1.5.tgz","fileCount":13,"integrity":"sha512-6ZkIlbimDRMql1Mhd2ERaM1+FcXtaMRLhTPEF6hryAqpHER7jXzFlKKoDAmxgKlxg7YBhB3zM07UeidEdVTH2g==","signatures":[{"sig":"MEYCIQCssClefn2iAH/05pSEKLPdzJn0JBHMiW3FCkYndshlowIhAKnW8LKlduIo5Atpc4q3WhSlnAVVNMMd0MfjoMmRFVqM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40125},"type":"module","engines":{"node":">=18"},"gitHead":"4669d15944e49c6b3184804f05545cca09937903","scripts":{"test":"bun test","build":"npm run clean && tsc -p tsconfig.json && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"},"repository":{"url":"git+https://github.com/aro-day/aro.day-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Open-source MCP server for aro.day — let an AI client (Claude Desktop, Claude Code, Codex) read and update your tasks. Talks to your own Google Drive; aro.day's servers never see your task data.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.23.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.5_1780127661641_0.006202171299570791","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@aro.day/mcp","version":"0.1.6","keywords":["mcp","model-context-protocol","todo","tasks","task-manager","aro.day","claude","claude-code","ai-agent","productivity"],"license":"MIT","_id":"@aro.day/mcp@0.1.6","maintainers":[{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"}],"homepage":"https://github.com/aro-day/aro.day-mcp#readme","bugs":{"url":"https://github.com/aro-day/aro.day-mcp/issues"},"bin":{"aroday-mcp":"dist/cli.js"},"dist":{"shasum":"eb4912630a2a067a65c80ed722efb02c0184d22b","tarball":"https://registry.npmjs.org/@aro.day/mcp/-/mcp-0.1.6.tgz","fileCount":14,"integrity":"sha512-hA17SSkqJcdBGnFcUdahziiDy+4sWZi8VtIrg10R+rNAoCDVd4KSuCh6gf5evse+4VOfL2xUwGPUoK41zJLO6g==","signatures":[{"sig":"MEQCIFYeDcCt6ym0QpL9rcRvrEKrfdwWXWGq9dMpjS4zIAnWAiAEoa4MhV3bmHz3ngXzx5gtnVjprBK83DpvClah0QKNsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48233},"type":"module","engines":{"node":">=18"},"gitHead":"c99f233f10c16d7b9752bf3f2bfce57d4dd97856","scripts":{"test":"bun test","build":"npm run clean && tsc -p tsconfig.json && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"},"repository":{"url":"git+https://github.com/aro-day/aro.day-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Open-source MCP server for aro.day — let an AI client (Claude Desktop, Claude Code, Codex) read and update your tasks. Talks to your own Google Drive; aro.day's servers never see your task data.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.23.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.6_1780128467787_0.39629432301845835","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@aro.day/mcp","version":"0.1.7","keywords":["mcp","model-context-protocol","todo","tasks","task-manager","aro.day","claude","claude-code","ai-agent","productivity"],"license":"MIT","_id":"@aro.day/mcp@0.1.7","maintainers":[{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"}],"homepage":"https://github.com/aro-day/aro.day-mcp#readme","bugs":{"url":"https://github.com/aro-day/aro.day-mcp/issues"},"bin":{"aroday-mcp":"dist/cli.js"},"dist":{"shasum":"34a19156a49873e25bc5631d02796032935f501b","tarball":"https://registry.npmjs.org/@aro.day/mcp/-/mcp-0.1.7.tgz","fileCount":14,"integrity":"sha512-0v04mf+AZUTjP+fqhUWpNiGL9UBDHen+0PUEGDvKz00ra+bEqsrnkuuFfFQCebDi2kMcXzSNDzljNUm3OODPXQ==","signatures":[{"sig":"MEQCICFSp+EZWrHS3wFADbdziA7Ga/fQaZubCPVi2PeHmuKVAiBauoeOKyZCwbkHpeUjTRs79W+4IxOfYU+wpC5igBAmjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aro.day%2fmcp@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53090},"type":"module","engines":{"node":">=18"},"gitHead":"1557c41233e9225f8eae2915931d2828e8d4187b","scripts":{"test":"bun test","build":"npm run clean && tsc -p tsconfig.json && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"},"repository":{"url":"git+https://github.com/aro-day/aro.day-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source MCP server for aro.day — let an AI client (Claude Desktop, Claude Code, Codex) read and update your tasks. Talks to your own Google Drive; aro.day's servers never see your task data.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp_0.1.7_1780697604205_0.5068751056026388","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@aro.day/mcp","version":"0.1.8","description":"Open-source MCP server for aro.day — let an AI client (Claude Desktop, Claude Code, Codex) read and update your tasks. Talks to your own Google Drive; aro.day's servers never see your task data.","type":"module","license":"MIT","keywords":["mcp","model-context-protocol","todo","tasks","task-manager","aro.day","claude","claude-code","ai-agent","productivity"],"homepage":"https://github.com/aro-day/aro.day-mcp#readme","repository":{"type":"git","url":"git+https://github.com/aro-day/aro.day-mcp.git"},"bugs":{"url":"https://github.com/aro-day/aro.day-mcp/issues"},"bin":{"aroday-mcp":"dist/cli.js"},"scripts":{"clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","build":"npm run clean && tsc -p tsconfig.json && node -e \"require('fs').chmodSync('dist/cli.js',0o755)\"","test":"bun test","typecheck":"tsc -p tsconfig.json --noEmit","prepare":"npm run build"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","zod":"^3.23.0"},"devDependencies":{"@types/node":"^25.9.1","typescript":"^5.4.0"},"_id":"@aro.day/mcp@0.1.8","gitHead":"314df16d36eb47f50df15bf147ef8b5ccb3bfee9","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-lnlH0kiEByBHC87I0U5XdIGXGCAsykMJaZoogQSwNLzadgRnuIxwD4QckzZO7umG3bMPR9L5J0xwnXNI6I0Dvg==","shasum":"65c741622b56e967007ac3a7e3e15da82cf399b3","tarball":"https://registry.npmjs.org/@aro.day/mcp/-/mcp-0.1.8.tgz","fileCount":14,"unpackedSize":56019,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aro.day%2fmcp@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQChwv0RDtRDmVhoyfkgri5ypMQcsIFdM4xMwy/8qu1GIAIgeMGk9bxWFgNEEwS29B8C1xxbEOcqnNhzq8FekcMA9NE="}]},"_npmUser":{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"},"directories":{},"maintainers":[{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.1.8_1780842151874_0.8560942340582751"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-30T07:18:07.048Z","modified":"2026-06-07T14:22:32.273Z","0.1.3":"2026-05-30T07:18:07.302Z","0.1.4":"2026-05-30T07:39:15.976Z","0.1.5":"2026-05-30T07:54:21.786Z","0.1.6":"2026-05-30T08:07:47.943Z","0.1.7":"2026-06-05T22:13:24.394Z","0.1.8":"2026-06-07T14:22:32.015Z"},"bugs":{"url":"https://github.com/aro-day/aro.day-mcp/issues"},"license":"MIT","homepage":"https://github.com/aro-day/aro.day-mcp#readme","keywords":["mcp","model-context-protocol","todo","tasks","task-manager","aro.day","claude","claude-code","ai-agent","productivity"],"repository":{"type":"git","url":"git+https://github.com/aro-day/aro.day-mcp.git"},"description":"Open-source MCP server for aro.day — let an AI client (Claude Desktop, Claude Code, Codex) read and update your tasks. Talks to your own Google Drive; aro.day's servers never see your task data.","maintainers":[{"name":"motaz.abuelnasr","email":"motaz.abuelnasr@gmail.com"}],"readme":"# @aro.day/mcp\n\nOpen-source [MCP](https://modelcontextprotocol.io) server for\n[aro.day](https://aro.day) — let an AI client (Claude Desktop, Claude\nCode, Codex, or any MCP client) **read and update your tasks**.\n\n**Your task data never touches aro.day's servers.** The connector reads\nand writes tasks in *your own* Google Drive `appDataFolder` directly. The\naro.day Worker is only used to (1) redeem a one-time pairing code and (2)\nmint short-lived, Pro-gated Google Drive access tokens. Your Google\nrefresh token never reaches this client — it stays encrypted on the\nserver. This is why the connector is open source: so you can verify it.\n\n> Status: **v0.1** — read/write tasks, projects, and notes.\n\n## Install\n\n```sh\nnpm install -g @aro.day/mcp     # or: npx -y @aro.day/mcp …\n```\n\n## Connect (one-time)\n\n```sh\naroday-mcp connect\n```\n\nThis opens your browser; approve the connection (you're already signed in\nto aro.day) and you're done — no code to copy. The session token is stored\nat `~/.config/aroday/session.json` (0600). AI integration is a **Pro\nfeature**.\n\n## Use it from your AI client\n\nAdd the server to your client's MCP config. Example (Claude Desktop\n`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"aroday\": { \"command\": \"npx\", \"args\": [\"-y\", \"@aro.day/mcp\"] }\n  }\n}\n```\n\nThen ask your client: *\"what's on my plate today?\"*, *\"add a task to\noutline the thesis intro due Friday\"*, *\"take a first pass at the RFC and\nwrite it back as a note.\"*\n\n## Tools\n\n| Tool | What it does |\n|---|---|\n| `whoami` | connected account + project/task counts |\n| `list_projects` | all projects |\n| `list_tasks` | tasks, filterable (project, status, overdue, scheduled-today, tag) |\n| `get_task` | one task in full (incl. notes + steps) |\n| `search_tasks` | title substring search |\n| `get_today_plan` | scheduled-today + overdue |\n| `create_task` | create a task |\n| `update_task` | patch title/priority/due/scheduled/estimate/tags |\n| `complete_task` | mark done |\n| `append_note` | write a note back to a task (marked AI-authored) |\n| `set_note` | replace an existing note's text (re-renders structure) |\n| `delete_note` | remove a note from a task |\n| `add_steps` | break a task into one or more steps (a one-level checklist) |\n| `set_step_done` | check / uncheck a step (does not auto-complete the task) |\n| `delete_step` | remove a step from a task |\n| `create_project` | create a project |\n| `find_task_for_session` | rank existing tasks that match a session (repo/branch/hint) so you can log to the right one |\n\nThese are **deterministic** capabilities — the *intelligence* is your\nAI client's; it decomposes, drafts, and decides, then expresses the\nresult through these tools.\n\n## Teach your agent to log sessions\n\nThe tools are available, but your agent won't log work on its own unless\nyou nudge it. Paste this line into your `CLAUDE.md`, `AGENTS.md`, or Cursor\nrules (kept in lockstep with the in-app snippet in Settings → Integrations):\n\n> When you finish a meaningful chunk of work, call aro.day's\n> `find_task_for_session` (pass repo, branch, and a short hint). If a task\n> matches, confirm with me, then `append_note` a short summary. If nothing\n> matches, ask before `create_task`.\n\n`find_task_for_session` returns ranked candidate tasks plus\n`needsConfirmation` (mirrors your \"Ask before linking or creating\" setting,\ndefault on) — so the agent suggests the right task instead of guessing.\n\n## Configuration\n\n| Env | Default | Purpose |\n|---|---|---|\n| `ARODAY_BASE_URL` | `https://aro.day` | point at a dev Worker |\n| `ARODAY_CONFIG_DIR` | `~/.config/aroday` | where the session is stored |\n\n## Limitations (v0.1)\n\n- **Pro / Drive sync required** — free accounts have no server-reachable\n  data to operate on.\n- **No end-to-end encryption yet** — if you enabled encryption in\n  aro.day, the connector can't read the blob (it errors clearly).\n- **Last-write-wins** — the connector reads fresh, mutates, and writes;\n  a concurrent edit from another device in the sub-second write window\n  can be lost. Fine for single-user use; full conflict-merge is planned.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}