netsuite-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@netsuite-mcpShow me the first 5 customers in NetSuite"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@cafeasp/netsuite-tools
A TypeScript toolkit for NetSuite developers — CLI and MCP server powered by a shared core library.
Terminal → CLI (Commander.js) ──┐
├──► Core Library (Auth + API) ──► NetSuite REST API
Claude/AI → MCP Server (stdio) ─┘Packages
Package | Description | npm |
Auth, REST API client, SuiteQL engine | ||
Terminal interface | ||
MCP server for AI clients |
Quick Start
CLI
npm install -g @cafeasp/netsuite-cli
# Configure credentials
netsuite config init
# Test connection
netsuite info
# Query data
netsuite query "SELECT id, companyname FROM customer" --limit 10
# Get a record
netsuite record get customer 123 --format json
# List records
netsuite record list item --limit 20MCP Server (Claude Code)
npm install -g @cafeasp/netsuite-mcp
claude mcp add netsuite-mcp -e NETSUITE_ACCOUNT_ID=YOUR_ID -e NETSUITE_CONSUMER_KEY=YOUR_KEY -e NETSUITE_CONSUMER_SECRET=YOUR_SECRET -e NETSUITE_TOKEN_ID=YOUR_TOKEN -e NETSUITE_TOKEN_SECRET=YOUR_SECRET -e NETSUITE_AUTH_METHOD=tba -- netsuite-mcpThen in Claude Code:
"Show me the first 5 customers in NetSuite"
"What fields are available on the salesorder record?"
"Run this SuiteQL: SELECT id, tranid FROM transaction WHERE type = 'SalesOrd'"
Core Library
npm install @cafeasp/netsuite-coreimport {
loadConfig,
createAuthProvider,
NetSuiteClient,
SuiteQLClient,
} from "@cafeasp/netsuite-core";
const config = loadConfig();
const auth = createAuthProvider(config);
const client = new NetSuiteClient(auth, config.accountId);
const suiteql = new SuiteQLClient(client);
const result = await suiteql.query("SELECT id, companyname FROM customer", { limit: 10 });
console.log(result.items);Authentication
The tool uses Token-Based Authentication (TBA) — the most common auth method for NetSuite developers.
You need four values from your NetSuite account:
Consumer Key and Consumer Secret (from an Integration Record)
Token ID and Token Secret (from an Access Token)
See each package's README for detailed setup instructions.
Configuration
Credentials are stored in ~/.netsuite/config.json with named profiles:
# Set up default profile
netsuite config init
# Use a specific profile
netsuite --profile sandbox query "SELECT 1 FROM dual"Environment variables override file config:
NETSUITE_ACCOUNT_IDNETSUITE_CONSUMER_KEYNETSUITE_CONSUMER_SECRETNETSUITE_TOKEN_IDNETSUITE_TOKEN_SECRET
Requirements
Node.js >= 18
NetSuite account with REST Web Services and TBA enabled
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cafeasp/cafeasp-netsuite-cli-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server