{"_id":"@aaronsb/netsuite-mcp","_rev":"3-0ac5451a38fe4c2b13d28225136cc09e","name":"@aaronsb/netsuite-mcp","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@aaronsb/netsuite-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","netsuite","suitetalk","suiteql","erp","ai","claude","llm"],"author":{"name":"aaronsb"},"license":"MIT","_id":"@aaronsb/netsuite-mcp@0.1.0","maintainers":[{"name":"aaronsb","email":"aaron@bockelie.com"}],"homepage":"https://github.com/aaronsb/netsuite-mcp#readme","bugs":{"url":"https://github.com/aaronsb/netsuite-mcp/issues"},"bin":{"netsuite-mcp":"build/index.js"},"dist":{"shasum":"d1c4aee870f13680455b7401886972a6190fc71f","tarball":"https://registry.npmjs.org/@aaronsb/netsuite-mcp/-/netsuite-mcp-0.1.0.tgz","fileCount":13,"integrity":"sha512-Vq/eBF3/HapyTykKyZXKbm2EXaHkuKvMlxYqrEIlHK4bLpLh6ad/8wWkLkJVvQqEUiKnwkuPv/xnnk9skjp37w==","signatures":[{"sig":"MEQCIF93D2uVeHCp7VrDhAfhqDp2NZVMPqWmF/PdqG4GdCe8AiBW2QtBQ4hvPVVaBB66OU/UamaAGZR65ZFXbJCb1nPUQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37507},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"000f56aadce3572b87ac1a01cdc034b288b25568","mcpName":"io.github.aaronsb/netsuite","scripts":{"lint":"eslint --ext .ts src/","test":"vitest run","build":"tsc","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint --ext .ts src/ --fix","inspector":"npx @modelcontextprotocol/inspector build/index.js","postbuild":"node --eval \"import('fs').then(fs => fs.chmodSync('build/index.js', '755'))\""},"_npmUser":{"name":"aaronsb","email":"aaron@bockelie.com"},"repository":{"url":"git+https://github.com/aaronsb/netsuite-mcp.git","type":"git"},"_npmVersion":"11.12.1","description":"Model Context Protocol (MCP) server for NetSuite — manage records and run SuiteQL via the SuiteTalk REST API","directories":{},"_nodeVersion":"25.9.0","dependencies":{"crypto-js":"^4.2.0","oauth-1.0a":"^2.2.6","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.11.24","@types/crypto-js":"^4.2.2","eslint-plugin-import":"^2.32.0","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/netsuite-mcp_0.1.0_1776308629224_0.8666379814073661","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aaronsb/netsuite-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","netsuite","suitetalk","suiteql","erp","ai","claude","llm"],"author":{"name":"aaronsb"},"license":"MIT","_id":"@aaronsb/netsuite-mcp@0.1.1","maintainers":[{"name":"aaronsb","email":"aaron@bockelie.com"}],"homepage":"https://github.com/aaronsb/netsuite-mcp#readme","bugs":{"url":"https://github.com/aaronsb/netsuite-mcp/issues"},"bin":{"netsuite-mcp":"build/index.js"},"dist":{"shasum":"a0c4100c7eeef586c9ae56ce430c74fbc091b6c2","tarball":"https://registry.npmjs.org/@aaronsb/netsuite-mcp/-/netsuite-mcp-0.1.1.tgz","fileCount":13,"integrity":"sha512-w49KbvIuz/5yziiSflWOT+tFHPfWZpOHf0OkbEf+WbfdBcZULCxETXpKBnf8Q6IVxEbisVRW0jOS601pQ8nNpQ==","signatures":[{"sig":"MEUCIDEWvfRTl93Jkoxtt4MlIVF8ENfe7j/47KLFFtvuw7klAiEAvOT74I1520w67hjdV8WlcDv1NTU0vggqL/XnD9f/JlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaronsb%2fnetsuite-mcp@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37507},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"c1182cc138414c4570dc5c0abc1d0e0dfe9dccea","mcpName":"io.github.aaronsb/netsuite","scripts":{"lint":"eslint --ext .ts src/","test":"vitest run","build":"tsc","watch":"tsc --watch","prepare":"npm run build","lint:fix":"eslint --ext .ts src/ --fix","inspector":"npx @modelcontextprotocol/inspector build/index.js","postbuild":"node --eval \"import('fs').then(fs => fs.chmodSync('build/index.js', '755'))\""},"_npmUser":{"name":"aaronsb","email":"aaron@bockelie.com"},"repository":{"url":"git+https://github.com/aaronsb/netsuite-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"Model Context Protocol (MCP) server for NetSuite — manage records and run SuiteQL via the SuiteTalk REST API","directories":{},"_nodeVersion":"22.22.2","dependencies":{"crypto-js":"^4.2.0","oauth-1.0a":"^2.2.6","@modelcontextprotocol/sdk":"^1.27.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^20.11.24","@types/crypto-js":"^4.2.2","eslint-plugin-import":"^2.32.0","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/netsuite-mcp_0.1.1_1776309401155_0.3150309134410221","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aaronsb/netsuite-mcp","version":"0.2.0","mcpName":"io.github.aaronsb/netsuite","description":"Model Context Protocol (MCP) server for NetSuite — manage records and run SuiteQL via the SuiteTalk REST API","type":"module","bin":{"netsuite-mcp":"build/index.js"},"keywords":["mcp","model-context-protocol","netsuite","suitetalk","suiteql","erp","ai","claude","llm"],"author":{"name":"aaronsb"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/aaronsb/netsuite-mcp.git"},"homepage":"https://github.com/aaronsb/netsuite-mcp#readme","bugs":{"url":"https://github.com/aaronsb/netsuite-mcp/issues"},"engines":{"node":">=20.0.0"},"scripts":{"build":"tsc","postbuild":"node --eval \"import('fs').then(fs => fs.chmodSync('build/index.js', '755'))\"","prepare":"npm run build","test":"vitest run","lint":"eslint --ext .ts src/","lint:fix":"eslint --ext .ts src/ --fix","watch":"tsc --watch","inspector":"npx @modelcontextprotocol/inspector build/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0"},"devDependencies":{"@types/node":"^20.11.24","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","eslint":"^8.57.0","eslint-plugin-import":"^2.32.0","typescript":"^5.9.3","vitest":"^4.0.18"},"gitHead":"7afafeb90f84128e7cb955eec7eda5b431799fd8","_id":"@aaronsb/netsuite-mcp@0.2.0","_nodeVersion":"26.4.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-ZEXQBQVAguRbhEo7GqEXspR9ieZB4QR7cdIRchr0qAhMT0u3MOPE1XDsymb5XvfJ36m6YpCxzvDDJVDA3a1b/w==","shasum":"2cbf136b5120edcdff719e3a5107d479ef78b31d","tarball":"https://registry.npmjs.org/@aaronsb/netsuite-mcp/-/netsuite-mcp-0.2.0.tgz","fileCount":46,"unpackedSize":97793,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICwxrcdfXxOjGQpcJl6rPdiFFH79y7DIyYiI8CkBws3OAiBomPeKwqkXwnEiVXXbJYvp/Y8DErvZ60uowLYqG4tHQA=="}]},"_npmUser":{"name":"aaronsb","email":"aaron@bockelie.com"},"directories":{},"maintainers":[{"name":"aaronsb","email":"aaron@bockelie.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/netsuite-mcp_0.2.0_1784223077447_0.1459608343622063"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-16T03:03:49.161Z","modified":"2026-07-16T17:31:17.819Z","0.1.0":"2026-04-16T03:03:49.349Z","0.1.1":"2026-04-16T03:16:41.288Z","0.2.0":"2026-07-16T17:31:17.600Z"},"bugs":{"url":"https://github.com/aaronsb/netsuite-mcp/issues"},"author":{"name":"aaronsb"},"license":"MIT","homepage":"https://github.com/aaronsb/netsuite-mcp#readme","keywords":["mcp","model-context-protocol","netsuite","suitetalk","suiteql","erp","ai","claude","llm"],"repository":{"type":"git","url":"git+https://github.com/aaronsb/netsuite-mcp.git"},"description":"Model Context Protocol (MCP) server for NetSuite — manage records and run SuiteQL via the SuiteTalk REST API","maintainers":[{"name":"aaronsb","email":"aaron@bockelie.com"}],"readme":"# NetSuite MCP Server\n\nA Model Context Protocol server for interacting with NetSuite via the SuiteTalk REST API.\n\n## Install\n\n### Claude Desktop (one-click)\n\nDownload [`netsuite-mcp.mcpb`](https://github.com/aaronsb/netsuite-mcp/releases/latest) and open it — Claude Desktop will prompt for your NetSuite credentials.\n\n### Claude Code\n\n```bash\nclaude mcp add netsuite \\\n  -e NETSUITE_ACCOUNT_ID=your-account-id \\\n  -e NETSUITE_CONSUMER_KEY=your-consumer-key \\\n  -e NETSUITE_CONSUMER_SECRET=your-consumer-secret \\\n  -e NETSUITE_TOKEN_ID=your-token-id \\\n  -e NETSUITE_TOKEN_SECRET=your-token-secret \\\n  -- npx -y @aaronsb/netsuite-mcp\n```\n\n### Manual (any MCP client)\n\n```json\n{\n  \"mcpServers\": {\n    \"netsuite\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@aaronsb/netsuite-mcp\"],\n      \"env\": {\n        \"NETSUITE_ACCOUNT_ID\": \"your-account-id\",\n        \"NETSUITE_CONSUMER_KEY\": \"your-consumer-key\",\n        \"NETSUITE_CONSUMER_SECRET\": \"your-consumer-secret\",\n        \"NETSUITE_TOKEN_ID\": \"your-token-id\",\n        \"NETSUITE_TOKEN_SECRET\": \"your-token-secret\"\n      }\n    }\n  }\n}\n```\n\n### Credentials\n\nNetSuite uses OAuth 1.0 Token-Based Authentication (TBA):\n\n1. **Create an integration record:** Setup > Integration > Manage Integrations > New. Enable Token-Based Authentication. Save the consumer key and secret.\n2. **Create an access token:** Setup > Users/Roles > Access Tokens > New. Select the integration, user, and role. Save the token ID and secret.\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `manage_netsuite_record` | Get, create, update, delete, or list any NetSuite record type |\n| `run_suiteql` | Execute SuiteQL queries (SQL-like syntax for NetSuite data) |\n| `manage_saved_search` | Execute or list saved searches |\n| `get_record_metadata` | Get field definitions, sublists, and relationships for a record type |\n\nEach tool accepts an `operation` parameter to select the action. Use `get_record_metadata` to discover available fields before creating or updating records.\n\n## License\n\n[MIT License](LICENSE)\n","readmeFilename":"README.md"}