{"_id":"@adaptivebs/objid-mcp-v3","_rev":"3-6dad65d9da3481249f5c446d97a3584d","name":"@adaptivebs/objid-mcp-v3","dist-tags":{"latest":"3.0.2"},"versions":{"3.0.0":{"name":"@adaptivebs/objid-mcp-v3","version":"3.0.0","keywords":["mcp","al","business-central","object-id","dynamics-365","model-context-protocol","claude"],"author":{"name":"AdaptiveBS"},"license":"MIT","_id":"@adaptivebs/objid-mcp-v3@3.0.0","maintainers":[{"name":"artkashin","email":"akashin@adaptivenav.com"}],"homepage":"https://github.com/AdaptiveBS/al-objid-mcp-server#readme","bugs":{"url":"https://github.com/AdaptiveBS/al-objid-mcp-server/issues"},"bin":{"objid-mcp":"dist/v2/server.js"},"dist":{"shasum":"a9edefea7333a45f640e8e9113afb2c37dffc3e6","tarball":"https://registry.npmjs.org/@adaptivebs/objid-mcp-v3/-/objid-mcp-v3-3.0.0.tgz","fileCount":119,"integrity":"sha512-4doE1T0fxNAReCX0ibanab1ctBi5PLweSszufe2qFGAPAqW51iB585rWdlkWtz8yVenowhSqzMPiYyajPSd7ag==","signatures":[{"sig":"MEUCIDcgV5+8B75cn/EMSk9gFfayC1bsNvk5WAi47ZQdrnNkAiEA67qykntDnoazalBjcpsuaNkQRinvW2N3RwjSzbdunUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":337415},"main":"dist/v2/server.js","types":"./dist/v2/server.d.ts","gitHead":"8afe0efffa0caa9bd310d037fffc59c1ea3138a9","scripts":{"dev":"tsx watch src/v2/server.ts","lint":"eslint src --ext ts","test":"jest --config jest.config.v2.js","build":"tsc -p tsconfig.v2.json","check":"npm run typecheck && npm run lint","clean":"rimraf dist","start":"node dist/v2/server.js","dev:v1":"ts-node src/server.ts","test:v1":"jest","build:v1":"tsc","start:v1":"node dist/server.js","test:e2e":"jest --config jest.config.v2.js tests/v2/e2e --runInBand --forceExit","dev:local":"BACKEND_URL=http://localhost:7071 npm run dev","test:live":"ts-node test-backend-live.ts","test:unit":"jest --config jest.config.v2.js --testPathIgnorePatterns=e2e --testPathIgnorePatterns=realbackend","typecheck":"tsc --noEmit -p tsconfig.v2.json","prerelease":"npm run clean && npm run check && npm run test && npm run build","test:local":"BACKEND_URL=http://localhost:7071 npm run test","build:watch":"tsc -p tsconfig.v2.json --watch","typecheck:v1":"tsc --noEmit","backend:start":"cd ../azure-function-app && npm start","prepublishOnly":"npm run build","test:e2e:watch":"jest --config jest.config.v2.js tests/v2/e2e --runInBand --watch","prerelease:quick":"npm run clean && npm run typecheck && npm run build","test:integration":"jest tests/integration --testTimeout=30000"},"_npmUser":{"name":"artkashin","email":"akashin@adaptivenav.com"},"repository":{"url":"git+https://github.com/AdaptiveBS/al-objid-mcp-server.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for AL Object ID Ninja - Provides intelligent object ID management for Microsoft Dynamics 365 Business Central development","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","glob":"^11.0.3","axios":"^1.12.2","dotenv":"^17.2.2","@types/glob":"^9.0.0","comment-json":"^4.2.5","@modelcontextprotocol/sdk":"^1.18.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^30.1.3","eslint":"^9.36.0","rimraf":"^6.0.1","ts-jest":"^29.4.4","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.7.2","@types/jest":"^30.0.0","@types/node":"^24.5.2","@typescript-eslint/parser":"^8.44.1","@typescript-eslint/eslint-plugin":"^8.44.1"},"_npmOperationalInternal":{"tmp":"tmp/objid-mcp-v3_3.0.0_1787247713055_0.059498936383371115","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@adaptivebs/objid-mcp-v3","version":"3.0.1","keywords":["mcp","al","business-central","object-id","dynamics-365","model-context-protocol","claude"],"author":{"name":"AdaptiveBS"},"license":"MIT","_id":"@adaptivebs/objid-mcp-v3@3.0.1","maintainers":[{"name":"artkashin","email":"akashin@adaptivenav.com"}],"homepage":"https://github.com/AdaptiveBS/al-objid-mcp-server#readme","bugs":{"url":"https://github.com/AdaptiveBS/al-objid-mcp-server/issues"},"bin":{"objid-mcp":"dist/v2/server.js"},"dist":{"shasum":"d7c06f4c6a627770135064bd496a010715900271","tarball":"https://registry.npmjs.org/@adaptivebs/objid-mcp-v3/-/objid-mcp-v3-3.0.1.tgz","fileCount":119,"integrity":"sha512-ayL5Rir3HhYD9WxZm2BUn9Xvy0BAmVbTQTcxrCOQc0sth/ofF/HoPqBGG/zE/+FkA83TNuXk5b2E+zYTZu35uw==","signatures":[{"sig":"MEUCICbgkAH44NxdLJ+1QE5VKe8yqYKG8dn0srTGYqsZa+imAiEA6OqRWAN2Fip3Pt5QnZv2hudskt0ABqv7pRJj2fE+nWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":337420},"main":"dist/v2/server.js","types":"./dist/v2/server.d.ts","gitHead":"bde482128f1a92c63c08a11d6c74a4d013198012","scripts":{"dev":"tsx watch src/v2/server.ts","lint":"eslint src --ext ts","test":"jest --config jest.config.v2.js","build":"tsc -p tsconfig.v2.json","check":"npm run typecheck && npm run lint","clean":"rimraf dist","start":"node dist/v2/server.js","dev:v1":"ts-node src/server.ts","test:v1":"jest","build:v1":"tsc","start:v1":"node dist/server.js","test:e2e":"jest --config jest.config.v2.js tests/v2/e2e --runInBand --forceExit","dev:local":"BACKEND_URL=http://localhost:7071 npm run dev","test:live":"ts-node test-backend-live.ts","test:unit":"jest --config jest.config.v2.js --testPathIgnorePatterns=e2e --testPathIgnorePatterns=realbackend","typecheck":"tsc --noEmit -p tsconfig.v2.json","prerelease":"npm run clean && npm run check && npm run test && npm run build","test:local":"BACKEND_URL=http://localhost:7071 npm run test","build:watch":"tsc -p tsconfig.v2.json --watch","typecheck:v1":"tsc --noEmit","backend:start":"cd ../azure-function-app && npm start","prepublishOnly":"npm run build","test:e2e:watch":"jest --config jest.config.v2.js tests/v2/e2e --runInBand --watch","prerelease:quick":"npm run clean && npm run typecheck && npm run build","test:integration":"jest tests/integration --testTimeout=30000"},"_npmUser":{"name":"artkashin","email":"akashin@adaptivenav.com"},"repository":{"url":"git+https://github.com/AdaptiveBS/al-objid-mcp-server.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for AL Object ID Ninja - Provides intelligent object ID management for Microsoft Dynamics 365 Business Central development","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","glob":"^11.0.3","axios":"^1.12.2","dotenv":"^17.2.2","@types/glob":"^9.0.0","comment-json":"^4.2.5","@modelcontextprotocol/sdk":"^1.18.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","jest":"^30.1.3","eslint":"^9.36.0","rimraf":"^6.0.1","ts-jest":"^29.4.4","ts-node":"^10.9.2","prettier":"^3.0.0","typescript":"^5.7.2","@types/jest":"^30.0.0","@types/node":"^24.5.2","@typescript-eslint/parser":"^8.44.1","@typescript-eslint/eslint-plugin":"^8.44.1"},"_npmOperationalInternal":{"tmp":"tmp/objid-mcp-v3_3.0.1_1787247847128_0.0843293588130074","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@adaptivebs/objid-mcp-v3","version":"3.0.2","description":"MCP server for AL Object ID Ninja - Provides intelligent object ID management for Microsoft Dynamics 365 Business Central development","main":"dist/v2/server.js","bin":{"objid-mcp":"dist/v2/server.js"},"scripts":{"build":"tsc -p tsconfig.v2.json","build:watch":"tsc -p tsconfig.v2.json --watch","build:v1":"tsc","start":"node dist/v2/server.js","start:v1":"node dist/server.js","dev":"tsx watch src/v2/server.ts","dev:v1":"ts-node src/server.ts","dev:local":"BACKEND_URL=http://localhost:7071 npm run dev","test":"jest --config jest.config.v2.js","test:unit":"jest --config jest.config.v2.js --testPathIgnorePatterns=e2e --testPathIgnorePatterns=realbackend","test:v1":"jest","test:e2e":"jest --config jest.config.v2.js tests/v2/e2e --runInBand --forceExit","test:e2e:watch":"jest --config jest.config.v2.js tests/v2/e2e --runInBand --watch","test:integration":"jest tests/integration --testTimeout=30000","test:local":"BACKEND_URL=http://localhost:7071 npm run test","test:live":"ts-node test-backend-live.ts","lint":"eslint src --ext ts","typecheck":"tsc --noEmit -p tsconfig.v2.json","typecheck:v1":"tsc --noEmit","check":"npm run typecheck && npm run lint","backend:start":"cd ../azure-function-app && npm start","prerelease":"npm run clean && npm run check && npm run test && npm run build","prerelease:quick":"npm run clean && npm run typecheck && npm run build","clean":"rimraf dist","prepublishOnly":"npm run build"},"keywords":["mcp","al","business-central","object-id","dynamics-365","model-context-protocol","claude"],"author":{"name":"AdaptiveBS"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/AdaptiveBS/al-objid-mcp-server.git"},"homepage":"https://github.com/AdaptiveBS/al-objid-mcp-server#readme","bugs":{"url":"https://github.com/AdaptiveBS/al-objid-mcp-server/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.18.2","@types/glob":"^9.0.0","axios":"^1.12.2","comment-json":"^4.2.5","dotenv":"^17.2.2","glob":"^11.0.3","zod":"^4.1.11"},"devDependencies":{"@types/jest":"^30.0.0","@types/node":"^24.5.2","@typescript-eslint/eslint-plugin":"^8.44.1","@typescript-eslint/parser":"^8.44.1","eslint":"^9.36.0","jest":"^30.1.3","prettier":"^3.0.0","rimraf":"^6.0.1","ts-jest":"^29.4.4","ts-node":"^10.9.2","tsx":"^4.20.6","typescript":"^5.7.2"},"gitHead":"2b41d615760ecf781d2d65694b276d420c2d103d","types":"./dist/v2/server.d.ts","_id":"@adaptivebs/objid-mcp-v3@3.0.2","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-vu/zba1g+QdJvV0R3y7Cd7xdFbU1++HRc3MB1eMe/0svc9W3NVQPTqGFo3k9nUZ0oWOYNEtgDEfvLFyIWw3P7g==","shasum":"9af541e6b85df2adfc4c656df05e33f9897f3904","tarball":"https://registry.npmjs.org/@adaptivebs/objid-mcp-v3/-/objid-mcp-v3-3.0.2.tgz","fileCount":119,"unpackedSize":350318,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICRmWwoQ48G3ltYHQKXmHg9jgwvx3ku4rx+r6+ei+bZLAiEA6kZjoPxV+ouqDj/SDXscL1I9mKisUo+oHLe/SLNXq/Q="}]},"_npmUser":{"name":"artkashin","email":"akashin@adaptivenav.com"},"directories":{},"maintainers":[{"name":"artkashin","email":"akashin@adaptivenav.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/objid-mcp-v3_3.0.2_1787262004737_0.5742773324507562"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-20T17:41:52.747Z","modified":"2026-08-20T21:40:05.065Z","3.0.0":"2026-08-20T17:41:53.216Z","3.0.1":"2026-08-20T17:44:07.268Z","3.0.2":"2026-08-20T21:40:04.874Z"},"bugs":{"url":"https://github.com/AdaptiveBS/al-objid-mcp-server/issues"},"author":{"name":"AdaptiveBS"},"license":"MIT","homepage":"https://github.com/AdaptiveBS/al-objid-mcp-server#readme","keywords":["mcp","al","business-central","object-id","dynamics-365","model-context-protocol","claude"],"repository":{"type":"git","url":"git+https://github.com/AdaptiveBS/al-objid-mcp-server.git"},"description":"MCP server for AL Object ID Ninja - Provides intelligent object ID management for Microsoft Dynamics 365 Business Central development","maintainers":[{"name":"artkashin","email":"akashin@adaptivenav.com"}],"readme":"# AL Object ID Ninja MCP Server\r\n\r\nMCP (Model Context Protocol) server for AL Object ID management in Microsoft Dynamics 365 Business Central development.\r\n\r\n## 🚀 Quick Start\r\n\r\nAdd to Claude Code with one command:\r\n\r\n```bash\r\n# Standard mode (8 tools) - Recommended for teams\r\nclaude mcp add objid @adaptivebs/objid-mcp-v3 --env MCP_MODE=standard\n\r\n# Lite mode (4 tools) - For individual developers\r\nclaude mcp add objid @adaptivebs/objid-mcp-v3 --env MCP_MODE=lite\n```\r\n\r\nThat's it! The server will be available in Claude Code immediately.\n\nThe published package is the recommended setup for Adaptive users. Client-specific Adaptive instructions are available for [Codex](CODEX_MCP.md), [GitHub Copilot](GITHUB_COPILOT_CLI.md), and [Claude](CLAUDE_MCP.md). Local MCP development settings are documented only in the Codex guide.\n\n## Development quick start\n\n```powershell\ngit clone https://github.com/AdaptiveBS/al-objid-mcp-server.git\ncd al-objid-mcp-server\nnpm ci\nnpm run build\n```\n\nUse `node dist/v2/server.js` only with the Codex development configuration. Do not use the local development command for normal Adaptive consumption; use `npx -y @adaptivebs/objid-mcp-v3` instead.\n\n## MCP configuration storage\n\nThe MCP server stores the shared per-app configuration outside the AL app folder, at:\n\n```text\n<repository-root>/.adaptive/objid-mcp/<relative-app-path>/config.json\n```\n\nThis location is intentional. The repository is private, so commit this configuration to share the app authorization key with the team. The MCP server does not read or create `.objidconfig` files inside AL app folders.\n\n`app.json` is the authoritative source for the app-wide `idRanges`. Developers add or adjust ranges there and commit those changes with the repository. The MCP config may contain `objectRanges` only when a type-specific MCP override is required; it must not duplicate `app.json.idRanges`.\n\n## 📝 Manual MCP Configuration\n\r\nIf you prefer to configure manually, add to your MCP settings JSON:\r\n\r\n### Standard Mode (Recommended)\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"objid\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@adaptivebs/objid-mcp-v3\"],\n      \"env\": {\r\n        \"MCP_MODE\": \"standard\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Lite Mode\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"objid\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@adaptivebs/objid-mcp-v3\"],\n      \"env\": {\r\n        \"MCP_MODE\": \"lite\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Custom Backend\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"objid\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@adaptivebs/objid-mcp-v3\"],\n      \"env\": {\r\n        \"MCP_MODE\": \"standard\",\r\n        \"BACKEND_URL\": \"https://your-backend.azurewebsites.net\",\r\n        \"BACKEND_API_KEY\": \"your-api-key\",\r\n        \"LOG_LEVEL\": \"info\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## 🛠️ Available Tools\r\n\r\n### LITE Mode (4 tools)\r\n- **`authorization`** - Manage app authorization with backend\r\n- **`config`** - Read and write .objidconfig files\r\n- **`allocate_id`** - Allocate object IDs for AL objects\r\n- **`analyze_workspace`** - Analyze workspace structure and apps\r\n\r\n### STANDARD Mode (8 tools - includes all LITE tools plus)\r\n- **`pool`** - Manage app pools for team collaboration\r\n- **`consumption`** - Get consumption reports and statistics\r\n- **`sync`** - Synchronize object IDs with backend\r\n- **`log`** - Retrieve activity logs and audit trail\r\n\r\n## 📋 Tool Details\r\n\r\n### Core Tools (LITE Mode)\r\n\r\n#### `authorization`\r\nManage app authorization with the AL Object ID Ninja backend:\r\n- Check authorization status\r\n- Authorize apps with backend\r\n- Manage authorization keys\r\n\r\n#### `config`\r\nConfiguration file management:\r\n- Read .objidconfig files\r\n- Write configuration changes\r\n- Manage AL object ID ranges\r\n\r\n#### `allocate_id`\r\nObject ID allocation:\r\n- Get next available object ID\r\n- Support for all AL object types\r\n- Range-aware allocation\r\n\r\n#### `analyze_workspace`\r\nWorkspace analysis:\r\n- Scan for AL apps\r\n- Detect configurations\r\n- Analyze project structure\r\n\r\n### Team Collaboration Tools (STANDARD Mode)\r\n\r\n#### `pool`\r\nApp pool management for teams:\r\n- Create app pools\r\n- Join existing pools\r\n- Leave pools\r\n- Get pool information\r\n\r\n#### `consumption`\r\nUsage tracking and reporting:\r\n- Get detailed consumption statistics\r\n- Track ID usage over time\r\n- Generate usage reports\r\n\r\n#### `sync`\r\nBackend synchronization:\r\n- Sync object IDs with backend\r\n- Check synchronization status\r\n- Force synchronization\r\n\r\n#### `log`\r\nActivity logging and audit:\r\n- Retrieve activity logs\r\n- Filter by event type, user, or date\r\n- Audit trail for compliance\r\n\r\n## 🔧 Configuration Options\r\n\r\n### Environment Variables\r\n\r\n| Variable | Description | Default |\r\n|----------|-------------|---------|\r\n| `MCP_MODE` | Server mode: `lite` or `standard` | `lite` |\r\n| `BACKEND_URL` | Custom backend URL | `https://al-object-id-ninja-adaptive.azurewebsites.net` |\n| `BACKEND_API_VERSION` | Ninja HTTP API version: `2` or `3` | `3` |\n| `BACKEND_API_KEY` | API key for custom backend | None (not required for default backend) |\n| `LOG_LEVEL` | Logging level: `error`, `warn`, `info`, `debug` | `info` |\r\n| `CACHE_ENABLED` | Enable response caching | `true` |\r\n| `CACHE_TTL` | Cache time-to-live in milliseconds | `300000` (5 minutes) |\n\n### Ninja API v3\n\nFor the private REST v3 backend, configure:\n\n```env\nBACKEND_URL=https://al-object-id-ninja-adaptive.azurewebsites.net\nBACKEND_API_VERSION=3\n```\n\nThe v3 adapter uses app-scoped routes, `Ninja-Auth-Key`, server-side preview allocation (`commit=false`), POST/PATCH synchronization, extended object types such as `table_50100`, and per-app multi-sync authorization. `PoolTool` and `LogTool` report an explicit unsupported-capability error under v3; they never fall back to v2 routes.\n\n### Client Setup Guides\n\n- [GitHub Copilot CLI](GITHUB_COPILOT_CLI.md)\n- [Codex Desktop and Codex CLI](CODEX_MCP.md)\n- [Claude](CLAUDE_MCP.md)\n\n## 📦 About\n\r\nThe AL Object ID Ninja MCP Server provides intelligent object ID management for Business Central AL development. It integrates with the AL Object ID Ninja backend to prevent ID collisions, track usage, and enable team collaboration.\r\n\r\n### Features\r\n- **Collision Prevention** - Automatic ID conflict detection\r\n- **Team Collaboration** - Shared ID pools for teams\r\n- **Usage Tracking** - Comprehensive consumption reports\r\n- **Git Integration** - Automatic app identification via Git\r\n- **Zero Configuration** - Works out-of-the-box with default backend\r\n\r\n### Related Projects\r\n- [AL Object ID Ninja VS Code Extension](https://github.com/vjekob/al-objid)\r\n- [Model Context Protocol](https://modelcontextprotocol.io)\r\n\r\n---\r\n\r\n## Development reference\n\r\n### Building from Source\r\n\r\n```bash\r\n# Clone repository\r\ngit clone https://github.com/AdaptiveBS/al-objid-mcp-server.git\ncd al-objid-mcp-server\n\r\n# Install dependencies\r\nnpm install\r\n\r\n# Build\r\nnpm run build\r\n\r\n# Run tests\r\nnpm test\r\n```\r\n\r\n### Testing\r\n\r\n```bash\r\nnpm test                    # Run test suite\r\nnpm run test:e2e           # Run E2E tests\r\nnpm run typecheck          # TypeScript type checking\r\nnpm run lint               # ESLint\r\nnpm run prerelease         # Full release check\r\n```\r\n\r\n### Project Structure\r\n\r\n```\r\nmcp-server/\r\n├── src/v2/\r\n│   ├── server.ts          # Main entry point\r\n│   ├── tools/             # Tool implementations\r\n│   │   ├── lite/          # LITE mode tools\r\n│   │   └── standard/      # STANDARD mode tools\r\n│   └── lib/               # Core libraries\r\n├── tests/v2/              # Test suites\r\n└── dist/v2/               # Compiled output\r\n```\r\n\r\n### Contributing\r\n\r\nContributions are welcome! Please open issues or pull requests for bugs, features, or improvements.\r\n\r\n## License\r\n\r\nMIT\r\n\r\n## Author\r\n\r\nBased on the original AL Object ID Ninja by Vjekoslav Babić\n","readmeFilename":"README.md"}