{"_id":"@atendium/nexus-mcp-server","_rev":"3-cfa543a23d1fb8f185325873e34e4e1d","name":"@atendium/nexus-mcp-server","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@atendium/nexus-mcp-server","version":"0.1.0","_id":"@atendium/nexus-mcp-server@0.1.0","maintainers":[{"name":"grobledo","email":"gaston@medable.com"},{"name":"gaston.robledo.atendium","email":"gaston.robledo@atendium.com"}],"bin":{"nexus-mcp-server":"dist/cli.js"},"dist":{"shasum":"8101ee6e849b4ff29014e13e1b2d09cbd735105f","tarball":"https://registry.npmjs.org/@atendium/nexus-mcp-server/-/nexus-mcp-server-0.1.0.tgz","fileCount":14,"integrity":"sha512-zijSnaydDw3Bbb4v9mn188O8E1Kpu1fjqLID7DEr/Ge9vBg6QpyQkJ2Aqxs/W78dtCQ1qig4lmoJuJlLMQT/bA==","signatures":[{"sig":"MEQCIAsbhDHQ1MTZnNPvHuMP4fYp2zsKhQsnu+7/fNymd9HpAiAmkDnFwn/TpR8V5A12aCAaUQUgX2AUAsMnLlVasaawlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90194},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js"}},"gitHead":"63207d3c520fb7e4093990332691348aca8e45ab","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"echo 'mcp-server test skipped'","build":"tsc --build","format":"prettier --check \"src/**/*.ts\" README.md"},"_npmUser":{"name":"gaston.robledo.atendium","email":"gaston.robledo@atendium.com"},"_npmVersion":"11.5.1","description":"Nexus MCP server for shared stdio integrations","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^24.5.2","@crm/shared-types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/nexus-mcp-server_0.1.0_1777291480651_0.8595217531082533","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@atendium/nexus-mcp-server","version":"0.1.1","_id":"@atendium/nexus-mcp-server@0.1.1","maintainers":[{"name":"grobledo","email":"gaston@medable.com"},{"name":"gaston.robledo.atendium","email":"gaston.robledo@atendium.com"}],"bin":{"nexus-mcp-server":"dist/cli.js"},"dist":{"shasum":"1dd454e16586080ae2ebe53ffd5ae8b2b2392392","tarball":"https://registry.npmjs.org/@atendium/nexus-mcp-server/-/nexus-mcp-server-0.1.1.tgz","fileCount":14,"integrity":"sha512-JI2F6/Bb2bFV94Otlm0rtJn7vvfHeG8nej9S0cu6pQB9ZLOceX2eJRR5WzVCaXFVwC6OgMGp+8h8BS/2qRc3xw==","signatures":[{"sig":"MEQCIBAOi0nvfkoZQCKBX+6KsdwkCAL2mGCjZ1yqFU6/k2paAiAHrxqOpViFYVwnh54XtpgRWiVnbVVtKTvHsVDI0kI4KQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93938},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js"}},"gitHead":"328d0d3d13595110c4220a2d60b47379d0c87afc","scripts":{"lint":"eslint \"src/**/*.ts\"","test":"echo 'mcp-server test skipped'","build":"tsc --build","format":"prettier --check \"src/**/*.ts\" README.md"},"_npmUser":{"name":"gaston.robledo.atendium","email":"gaston.robledo@atendium.com"},"_npmVersion":"11.5.1","description":"Nexus MCP server for shared stdio integrations","directories":{},"_nodeVersion":"24.7.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.2","@types/node":"^24.5.2","@crm/shared-types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/nexus-mcp-server_0.1.1_1777409299121_0.8815627407604802","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@atendium/nexus-mcp-server","version":"0.1.2","description":"Nexus MCP server for shared stdio integrations","main":"dist/index.js","types":"dist/index.d.ts","bin":{"nexus-mcp-server":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js"}},"scripts":{"build":"tsc --build","lint":"eslint \"src/**/*.ts\"","test":"pnpm run build && jest --runInBand","format":"prettier --check \"src/**/*.ts\" README.md"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^4.0.0"},"devDependencies":{"@crm/shared-types":"workspace:*","@types/jest":"^30.0.0","@types/node":"^24.5.2","jest":"^30.2.0","typescript":"^5.9.2"},"publishConfig":{"access":"public"},"_id":"@atendium/nexus-mcp-server@0.1.2","gitHead":"1740c6e2a650fb18abb90129be15aea02f93b8da","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-QDCdzPGu3rfDGDRKCwk3Bgfr7oNgbMp+oe8V4d7KOKPUtXaayUajjoT6d5Pg7ZNmv7YPBcBz2hHZJmPC/Tw8iA==","shasum":"6bcd34de685aee4bed79961361b3e9b6f2989cd7","tarball":"https://registry.npmjs.org/@atendium/nexus-mcp-server/-/nexus-mcp-server-0.1.2.tgz","fileCount":14,"unpackedSize":115344,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDKyWv5tvnsd4vwmjETKvJ3xoQdFgHepsfPlcuygBdCkwIgITy+0Q/9Odt/EZje7l5as0tvqYq2szgNSAhHQvSpY7c="}]},"_npmUser":{"name":"gaston.robledo.atendium","email":"gaston.robledo@atendium.com"},"directories":{},"maintainers":[{"name":"grobledo","email":"gaston@medable.com"},{"name":"gaston.robledo.atendium","email":"gaston.robledo@atendium.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nexus-mcp-server_0.1.2_1779808870318_0.9737418661945676"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-27T12:04:40.586Z","modified":"2026-05-26T15:21:10.667Z","0.1.0":"2026-04-27T12:04:40.803Z","0.1.1":"2026-04-28T20:48:19.307Z","0.1.2":"2026-05-26T15:21:10.481Z"},"description":"Nexus MCP server for shared stdio integrations","maintainers":[{"name":"grobledo","email":"gaston@medable.com"},{"name":"gaston.robledo.atendium","email":"gaston.robledo@atendium.com"}],"readme":"# `@atendium/nexus-mcp-server`\n\nShared MCP server for CRM integrations over `stdio`.\n\nThe package talks only to the tenant-scoped external CRM API using an API key.\n\n## Environment\n\n```bash\nCRM_API_URL=https://nexus-api.atendium.com\nCRM_API_KEY=your_api_key\n```\n\n## Run\n\n```bash\nnpx @atendium/nexus-mcp-server\n```\n\nOr after installing in a workspace:\n\n```bash\nnexus-mcp-server\n```\n\n## MCP config example\n\n```json\n{\n  \"mcpServers\": {\n    \"crm\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@atendium/nexus-mcp-server\"],\n      \"env\": {\n        \"CRM_API_URL\": \"https://nexus-api.atendium.com\",\n        \"CRM_API_KEY\": \"your_api_key\"\n      }\n    }\n  }\n}\n```\n\n## Transport\n\n- `stdio` only\n\n## Tools\n\nRequired parameters are marked with `*`.\n\n| Tool | Description | Parameters |\n| --- | --- | --- |\n| `get_workspace_profile` | Returns tenant settings, subscription and custom field metadata. | None |\n| `update_workspace_profile` | Updates tenant settings. | `currencyCode`, `timezone`, `dateFormat`, `currencyFormat`, `notifications`, `marketingEmail`, `customFields` |\n| `list_contacts` | Lists contacts with pagination and filters. | `search`, `page`, `perPage`, `ownerId`, `companyId`, `tagId` |\n| `get_contact` | Fetches one contact workspace. | `contactId*` |\n| `create_contact` | Creates a contact. At least `email` or `phone` is required by the API. | `firstName`, `lastName`, `email`, `phone`, `ownerId`, `companyId`, `lifecycleState`, `tagIds`, `customFields` |\n| `update_contact` | Updates a contact. `tagIds` adds tags to the contact. | `contactId*`, `firstName`, `lastName`, `email`, `phone`, `ownerId`, `companyId`, `lifecycleState`, `tagIds`, `customFields` |\n| `delete_contact` | Deletes a contact. | `contactId*` |\n| `list_companies` | Lists companies with pagination and filters. | `search`, `page`, `perPage`, `ownerId` |\n| `get_company` | Fetches one company. | `companyId*` |\n| `create_company` | Creates a company. | `name*`, `website`, `ownerId`, `customFields` |\n| `update_company` | Updates a company. | `companyId*`, `name`, `website`, `ownerId`, `customFields` |\n| `delete_company` | Deletes a company. | `companyId*` |\n| `list_custom_fields` | Returns tenant custom field catalog. | None |\n| `list_deals` | Lists deals with filters. | `search`, `status`, `stageId`, `pipelineId`, `ownerId`, `contactId`, `companyId` |\n| `get_deal` | Fetches one deal. | `dealId*` |\n| `create_deal` | Creates a deal. | `title*`, `value*`, `currency*`, `stageId*`, `description`, `contactId`, `companyId`, `tagIds` |\n| `update_deal` | Updates a deal. | `dealId*`, `title`, `description`, `value`, `currency`, `status`, `stageId`, `tagIds` |\n| `delete_deal` | Deletes a deal. | `dealId*` |\n| `move_deal_stage` | Moves a deal to another stage. | `dealId*`, `stageId*` |\n| `move_deal_to_pipeline_stage` | Moves a deal to a stage inside a specific pipeline. | `dealId*`, `pipelineId*`, `stageId*` |\n| `advance_deal_to_next_stage` | Moves a deal to the next stage in its current pipeline. | `dealId*` |\n| `move_deal_to_previous_stage` | Moves a deal to the previous stage in its current pipeline. | `dealId*` |\n| `list_pipelines` | Lists pipelines. | None |\n| `create_pipeline` | Creates a pipeline. | `name*`, `isDefault` |\n| `update_pipeline` | Updates a pipeline. | `pipelineId*`, `name`, `isDefault` |\n| `delete_pipeline` | Deletes a pipeline, optionally moving open deals first. | `pipelineId*`, `targetPipelineId` |\n| `list_stages` | Lists stages. | `pipelineId` |\n| `create_stage` | Creates a stage. | `pipelineId*`, `name*`, `position*`, `probability*`, `slaMinutes` |\n| `update_stage` | Updates a stage. | `stageId*`, `name`, `position`, `probability`, `slaMinutes` |\n| `reorder_stages` | Reorders stages in a pipeline. | `pipelineId*`, `stageIds*` |\n| `delete_stage` | Deletes a stage. | `stageId*` |\n| `list_activities` | Lists activities with filters and pagination. | `page`, `perPage`, `type`, `activityState`, `relation`, `dealStatus` |\n| `create_activity` | Creates an activity. | `type*`, `contactId`, `dealId`, `title`, `description`, `dueAt` |\n| `complete_activity` | Marks an activity as completed. | `activityId*` |\n| `list_notes` | Lists notes. | `dealId`, `contactId` |\n| `create_note` | Creates a note. | `body*`, `dealId`, `contactId` |\n| `update_note` | Updates a note body. | `noteId*`, `body*` |\n| `delete_note` | Deletes a note. | `noteId*` |\n| `list_audit_logs` | Lists audit logs for an entity. | `entityType*`, `entityId*` |\n| `list_saved_views` | Lists saved views. | `module*` |\n| `create_saved_view` | Creates a saved view. | `module*`, `name*`, `filters`, `isDefault` |\n| `update_saved_view` | Updates a saved view. | `viewId*`, `module`, `name`, `filters`, `isDefault` |\n| `delete_saved_view` | Deletes a saved view. | `viewId*` |\n| `list_tags` | Lists tags. | `search` |\n| `create_tag` | Creates a tag. | `name*`, `color` |\n| `list_contact_event_definitions` | Lists tenant-defined contact events. | `search`, `includeInactive` |\n| `create_contact_event_definition` | Creates a contact event definition. | `name*`, `key*`, `description`, `isActive` |\n| `update_contact_event_definition` | Updates a contact event definition. | `definitionId*`, `name`, `key`, `description`, `isActive` |\n| `delete_contact_event_definition` | Deletes a contact event definition. | `definitionId*` |\n| `ingest_contact_event` | Records a contact event. Target contact can be resolved by `contactId`, `email` or `phone`. | `contactId`, `email`, `phone`, `definitionId`, `eventKey`, `source`, `occurredAt`, `payload` |\n| `list_users` | Lists tenant users. | None |\n| `create_user` | Creates a tenant user. | `email*`, `fullName*`, `role*`, `teamId` |\n| `update_user` | Updates a tenant user. | `userId*`, `email`, `fullName`, `role`, `teamId`, `isActive`, `password` |\n| `deactivate_user` | Deactivates a tenant user. | `userId*` |\n| `list_roles` | Lists tenant roles and permissions. | None |\n| `list_teams` | Lists tenant teams. | None |\n| `create_team` | Creates a tenant team. | `name*` |\n| `update_team` | Updates a tenant team. | `teamId*`, `name*` |\n| `delete_team` | Deletes a tenant team. | `teamId*` |\n| `list_api_keys` | Lists tenant API keys. | None |\n| `create_api_key` | Creates a tenant API key. | `name*`, `scopes`, `expiresAt` |\n| `revoke_api_key` | Revokes a tenant API key. | `apiKeyId*` |\n\n### Parameter Details\n\n- `dateFormat`: one of `yyyy-MM-dd`, `dd/MM/yyyy`, `MM/dd/yyyy`.\n- `currencyFormat`: one of `symbol`, `code`, `accounting`.\n- `notifications`: object with optional booleans `email`, `inApp`, `desktop`, `dailyDigest`, `slaAlerts`.\n- `marketingEmail`: object with optional `fromName`, `fromEmail`, `replyTo`, `footerCompany`, `footerAddress`, `footerWebsite`.\n- `customFields`: object with optional `contacts` and `companies` arrays.\n- `lifecycleState`: one of `new`, `qualified`, `customer`, `inactive`, `disqualified`.\n- Contact `tagIds`: array of tag UUIDs. On `update_contact`, values are added; existing tags are preserved.\n- Deal `status`: one of `open`, `won`, `lost`.\n- Activity `type`: one of `call`, `task`, `meeting`, `email`.\n- Activity `activityState`: one of `open`, `completed`, `overdue`.\n- Activity `relation`: one of `deal`, `contact`, `none`.\n- Activity `dealStatus`: one of `open`, `won`, `lost`, `without_deal`.\n- Audit `entityType`: one of `lead`, `deal`, `contact`, `company`.\n- Saved view `module`: one of `deals`, `contacts`, `companies`.\n- `dueAt`, `occurredAt` and `expiresAt` are ISO datetime strings.\n- `filters`, `customFields` and `payload` are JSON objects.\n","readmeFilename":"README.md"}