{"_id":"@dmsoftbr/eve-mcp","_rev":"2-3f75c731b9569eca5625de9b3fbde76b","name":"@dmsoftbr/eve-mcp","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@dmsoftbr/eve-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","eve"],"author":{"name":"dmsoft"},"license":"ISC","_id":"@dmsoftbr/eve-mcp@0.1.0","maintainers":[{"name":"dmsoftbr","email":"suporte@dmsoft.com.br"}],"homepage":"https://github.com/dmsoftbr/eve3#readme","bugs":{"url":"https://github.com/dmsoftbr/eve3/issues"},"bin":{"eve-mcp":"dist/index.js"},"dist":{"shasum":"72f8b5835c42f89fa7ff8b0f63a4d1e2a5de6ff0","tarball":"https://registry.npmjs.org/@dmsoftbr/eve-mcp/-/eve-mcp-0.1.0.tgz","fileCount":11,"integrity":"sha512-A269aJMGU46l6YKuWry8VP9dkxmMWPZOeg9vQ0AYcmoV0aDOhiKcBR5LFkiPwIpRmFru79w/gMmf/2oN8qwFpg==","signatures":[{"sig":"MEYCIQCbFAFaRWJF1zrXJMWsOpHnL+KFcpIgAv2/2tIxMHArBgIhAMe7swO+vLg5rkXnvBZ4LdMMd/AP1PdxncC9v90PZWs8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20764},"type":"module","_from":"file:dmsoftbr-eve-mcp-0.1.0.tgz","engines":{"node":">=20"},"scripts":{"dev":"tsx src/index.ts","lint":"eslint .","test":"vitest run","build":"tsc && tsc-alias","start":"node dist/index.js","gen:types":"openapi-typescript ../web/openapi.json -o src/eve-api.ts","check-types":"tsc --noEmit"},"_npmUser":{"name":"dmsoftbr","email":"suporte@dmsoft.com.br"},"_resolved":"/private/var/folders/pv/g5gfpjj936b_v2k4_r71kdx00000gn/T/ba51c5ec5c480669a3bf11c45ea99577/dmsoftbr-eve-mcp-0.1.0.tgz","_integrity":"sha512-A269aJMGU46l6YKuWry8VP9dkxmMWPZOeg9vQ0AYcmoV0aDOhiKcBR5LFkiPwIpRmFru79w/gMmf/2oN8qwFpg==","repository":{"url":"git+https://github.com/dmsoftbr/eve3.git","type":"git","directory":"apps/mcp"},"_npmVersion":"11.9.0","description":"EVE MCP server for code agents (tasks, scope, timesheets) over stdio","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.28.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^9.39.1","vitest":"^3.2.4","globals":"^16.5.0","prettier":"^3.7.4","tsc-alias":"^1.8.17","@eslint/js":"^9.39.1","typescript":"^6.0.2","@types/node":"^22.15.3","typescript-eslint":"^8.50.0","openapi-typescript":"^7.13.0","eslint-config-prettier":"^10.1.1","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/eve-mcp_0.1.0_1782148520111_0.6014915847815203","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dmsoftbr/eve-mcp","version":"0.1.1","description":"EVE MCP server for code agents (tasks, scope, timesheets) over stdio","type":"module","engines":{"node":">=20"},"bin":{"eve-mcp":"dist/index.js"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dmsoftbr/eve3.git","directory":"apps/mcp"},"keywords":["mcp","model-context-protocol","eve"],"author":{"name":"dmsoft"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.28.0","zod":"^4.3.6"},"devDependencies":{"@eslint/js":"^9.39.1","@types/node":"^22.15.3","eslint":"^9.39.1","eslint-config-prettier":"^10.1.1","eslint-plugin-simple-import-sort":"^12.1.1","globals":"^16.5.0","openapi-typescript":"^7.13.0","prettier":"^3.7.4","tsc-alias":"^1.8.17","tsx":"^4.21.0","typescript":"^6.0.2","typescript-eslint":"^8.50.0","vitest":"^3.2.4"},"scripts":{"dev":"tsx src/index.ts","build":"tsc && tsc-alias","start":"node dist/index.js","check-types":"tsc --noEmit","gen:types":"openapi-typescript ../web/openapi.json -o src/eve-api.ts","lint":"eslint .","test":"vitest run"},"_id":"@dmsoftbr/eve-mcp@0.1.1","bugs":{"url":"https://github.com/dmsoftbr/eve3/issues"},"homepage":"https://github.com/dmsoftbr/eve3#readme","_integrity":"sha512-1co6O/5bXw70rEvl8QTDfeDRYcrJBt0WSrt8wNxQTO7oNwIpvfHt4RBm0qHzD11CQvdEgOG6nGuojhOxgMADcQ==","_resolved":"/private/var/folders/pv/g5gfpjj936b_v2k4_r71kdx00000gn/T/2c3477b4f70f18be54457bee68ae6337/dmsoftbr-eve-mcp-0.1.1.tgz","_from":"file:dmsoftbr-eve-mcp-0.1.1.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-1co6O/5bXw70rEvl8QTDfeDRYcrJBt0WSrt8wNxQTO7oNwIpvfHt4RBm0qHzD11CQvdEgOG6nGuojhOxgMADcQ==","shasum":"1bb6391207c454ec0bf9dfbb44a1e4a99326dc2c","tarball":"https://registry.npmjs.org/@dmsoftbr/eve-mcp/-/eve-mcp-0.1.1.tgz","fileCount":11,"unpackedSize":20871,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID0QSucJoqv15+o48jV+zyMWvJLp3X1e3mItjmLQYUC7AiBb3W90ZVb82c9KZESOAMO20324IeNnsT6JjXhYu0KebQ=="}]},"_npmUser":{"name":"dmsoftbr","email":"suporte@dmsoft.com.br"},"directories":{},"maintainers":[{"name":"dmsoftbr","email":"suporte@dmsoft.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eve-mcp_0.1.1_1782150017344_0.33108785700646126"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-22T17:15:20.003Z","modified":"2026-06-22T17:40:17.563Z","0.1.0":"2026-06-22T17:15:20.297Z","0.1.1":"2026-06-22T17:40:17.477Z"},"bugs":{"url":"https://github.com/dmsoftbr/eve3/issues"},"author":{"name":"dmsoft"},"license":"ISC","homepage":"https://github.com/dmsoftbr/eve3#readme","keywords":["mcp","model-context-protocol","eve"],"repository":{"type":"git","url":"git+https://github.com/dmsoftbr/eve3.git","directory":"apps/mcp"},"description":"EVE MCP server for code agents (tasks, scope, timesheets) over stdio","maintainers":[{"name":"dmsoftbr","email":"suporte@dmsoft.com.br"}],"readme":"# EVE MCP server\n\nMCP (Model Context Protocol) server that connects code agents (Claude Code,\nCodex, Cursor — any MCP client) to EVE, so a dev can read the tasks, scope and\ncomments of the EVE project linked to the repository they are working on.\n\nIt is a **stdio** server that calls the EVE HTTP API as the dev (personal API\nkey), inheriting EVE's membership/role/tenant rules. It never imports EVE use\ncases directly.\n\n## Configuration\n\nEnvironment variables (set in the agent's MCP config, never in the repo):\n\n- `EVE_API_TOKEN` (required) — a personal EVE API key (header `x-api-key`).\n- `EVE_API_URL` (optional) — defaults to `http://localhost:8080`.\n\n### Claude Code (`.mcp.json`)\n\nPublished as `@dmsoftbr/eve-mcp` on npm — no local checkout needed; `npx`\ndownloads and runs it:\n\n```json\n{\n  \"mcpServers\": {\n    \"eve\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dmsoftbr/eve-mcp\"],\n      \"env\": {\n        \"EVE_API_URL\": \"http://localhost:8080\",\n        \"EVE_API_TOKEN\": \"<your personal EVE API key>\"\n      }\n    }\n  }\n}\n```\n\nTo run from a local checkout instead (development), point `command` at\n`node` and `args` at the built entry: `[\"<repo>/apps/mcp/dist/index.js\"]`.\n\n> The token lives in the agent's MCP config (or a secret store), **never** in\n> the repository and **never** in `.eve/project.json`. Keep `.mcp.json` out of\n> version control if it contains the key.\n\n## Repository binding\n\nMost tools operate on the EVE project linked to the current directory via\n`.eve/project.json`:\n\n```json\n{ \"orgId\": \"...\", \"orgName\": \"...\", \"projectId\": \"...\", \"projectName\": \"...\" }\n```\n\nThis file holds no secrets and is safe to commit/share with the team. If it is\nmissing, run `eve_list_orgs` → `eve_list_projects` → `eve_bind_project` and the\nbinding is created for you.\n\n## Tools (read-only MVP)\n\n| Tool | Purpose |\n| --- | --- |\n| `eve_list_orgs` | List the user's organizations (for binding). |\n| `eve_list_projects` | List projects of an org, or aggregate across all orgs. |\n| `eve_bind_project` | Write `.eve/project.json` (local, no API call). |\n| `eve_get_project` | Details of the bound project. |\n| `eve_list_tasks` | Tasks of the bound project (optional status filter). |\n| `eve_my_tasks` | The user's tasks (overdue/today/upcoming). |\n| `eve_get_task` | Full task detail (scope, criteria, estimate, status). |\n| `eve_get_task_comments` | Comments of a task. |\n\n## Tools (write)\n\n| Tool | Purpose |\n| --- | --- |\n| `eve_update_task_status` | Change a task's status (server validates transitions by role). |\n| `eve_log_timesheet` | Log hours on a task (date `YYYY-MM-DD`, `0 < hours <= 24`). |\n| `eve_add_task_comment` | Add a comment to a task. |\n\nWrite tools are confined to the bound project: before mutating, the server\nchecks that the target task belongs to the `projectId` in `.eve/project.json`\nand refuses otherwise. They are marked as non-read-only so MCP clients prompt\nfor confirmation, and a read-only API key is rejected by the backend.\n\n## Resources\n\nThe bound project's tasks are also exposed as MCP **resources** under the\n`eve-task://<taskId>` scheme: clients can list them and read a task's full\ndetail as JSON without calling a tool. Listing returns nothing until the\nrepository is bound.\n\n## Develop\n\n```bash\npnpm --filter mcp build        # tsc + tsc-alias -> dist/\npnpm --filter mcp test         # vitest (in-memory MCP client + HTTP client)\npnpm --filter mcp check-types  # tsc --noEmit\n```\n","readmeFilename":"README.md"}