NetSuite MCP. Manage all ERP data via natural conversation.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
Oracle NetSuite MCP Server connects your AI agent directly to your entire ERP system. Instead of clicking through dashboards, you talk to NetSuite and get answers for financial data, sales orders, inventory levels, and customer records instantly.
Your agent can run complex SQL-like queries (`execute_suiteql`), generate new documents with `create_record`, or pull specific details using `get_record`. It's full ERP management via natural conversation.
What your AI agents can do
Create record
Generates a brand new NetSuite record (like a sales order or journal entry) by requiring the specific record type and field data.
Delete record
Permanently removes an existing NetSuite record. Note: This action is irreversible.
Execute suiteql
Allows you to run advanced, custom SQL-like queries against any structured NetSuite data set (SELECT, JOIN, WHERE).
Execute complex, custom queries against NetSuite's database using SQL-like commands via execute_suiteql.
Generate new business documents (sales orders, journal entries) or update existing records like customer contacts using create_record or update_record.
Fetch details on a single record—like an invoice or a specific item—using its ID via get_record.
Get broad lists of records, such as all recent sales orders (list_sales_orders) or all vendors, to audit data ranges.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
Oracle NetSuite MCP Server: 9 Tools for ERP Data Management
These nine tools let your AI client perform every core operation in a large-scale ERP system—from listing customers to executing complex SQL reports.
019d75dccreate record
Generates a brand new NetSuite record (like a sales order or journal entry) by requiring the specific record type and field data.
019d75dcdelete record
Permanently removes an existing NetSuite record. Note: This action is irreversible.
019d75dcexecute suiteql
Allows you to run advanced, custom SQL-like queries against any structured NetSuite data set (SELECT, JOIN, WHERE).
019d75dcget record
Retrieves all available fields for a specific NetSuite record type when provided with the record's unique ID.
019d75dcget record metadata
Checks what fields are available on any given NetSuite record type before you attempt to create or modify it.
019d75dclist customers
Retrieves a list of all customer accounts currently stored in NetSuite.
019d75dclist records
Lists records by type, pulling broad lists like customers, vendors, or inventory items for general review.
019d75dclist sales orders
Pulls a list of the most recently created or updated sales orders.
019d75dcupdate record
Changes specific fields on an existing NetSuite record, requiring you to specify exactly which data needs modification.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Oracle NetSuite, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
Oracle NetSuite MCP Server connects your AI agent directly to your entire Enterprise Resource Planning system. Forget clicking through menus and dashboards; you just talk to NetSuite, and your agent pulls the answers for financial data, sales orders, inventory counts, or customer details instantly. You're running full ERP management purely through conversation.
Your AI client gets access to nine specific tools that let your agent act like a trained administrator inside NetSuite. It doesn't just read data—it makes changes and runs deep reports without you having to log into the UI yourself. This is about action, not just viewing.
Running Custom Reports and Complex Queries
You can run advanced, custom queries against any structured NetSuite dataset using SQL-like commands via execute_suiteql. You write standard SELECT, JOIN, and WHERE statements; the agent executes them directly on the database. This lets you build reports that would normally take an analyst hours to pull together.
Listing and Auditing Records
To get a broad view of your business assets, you use list_records, which pulls general lists for types like customers, vendors, or inventory items so you can audit the full range of data. You'll find list_customers gives you a complete roster of every customer account stored in NetSuite.
If you need to check recent sales activity, list_sales_orders pulls a list of the most recently created or updated orders.
Retrieving Specific Data Points
When you know the exact ID of a record—say, an invoice number or a vendor ID—you use get_record to pull all available fields for that specific item. If you're building something and need to know what data is even possible on a certain record type before you try writing it, run through get_record_metadata.
This tells you exactly which fields exist on any given NetSuite record structure.
Creating and Modifying Records (Making Changes)
Your agent can generate brand new business documents using create_record, provided you give it the specific record type and all the necessary field data. You'll create things like sales orders or journal entries this way. Similarly, you use update_record to change specific fields on an existing document—you have to specify exactly what needs changing so your agent doesn't mess anything up.
For cleanup, delete_record permanently removes a record from NetSuite; remember that action is irreversible.
Putting It Together in Practice
When you use the server, your AI client sends an intent—for example, 'Show me all journal entries for Q3.' The MCP Server translates that into structured tool calls. If you need to run a report, it invokes execute_suiteql. To find specific sales data, it might call list_sales_orders and then use the results with get_record.
You can manage the entire lifecycle of an item: listing vendors via list_records, getting a specific vendor's contact details using get_record, and finally creating a new payment record using create_record. The agent handles all the back-and-forth, returning actionable data or confirmation that the transaction went through.
How NetSuite MCP Works
- 1 Subscribe to the server and provide your NetSuite TBA credentials (Account ID, Consumer Key, Consumer Secret, Token ID, Token Secret).
- 2 Your AI agent sends a natural language request detailing the required action (e.g., 'Create an SO for customer X').
- 3 The MCP Server executes the appropriate tool function, performs the necessary NetSuite API calls, and returns structured data or confirmation of success.
The bottom line is that your AI client treats NetSuite like a simple backend database accessible via chat commands.
Who Is NetSuite MCP For?
This tool is for operational roles who spend too much time context-switching between the main ERP UI and spreadsheets. It's for the finance analyst tired of running 15 different reports just to compile a month-end package, or the order manager who needs to update fulfillment status without navigating three separate screens.
Runs real-time checks on G/L account balances and executes saved searches for quarterly reporting without opening NetSuite.
Creates sales orders, verifies inventory availability by location, and tracks fulfillment status purely through conversational commands.
Manages the full lifecycle of purchase orders, tracking receipt status and matching vendor bills against expected items.
What Changes When You Connect
- Real-time Financial Visibility: Instead of running reports in the UI, use
execute_suiteqlto query complex financial relationships and aggregate data instantly. You get results without navigating menus. - Automated Document Creation: Never manually key in a sales order again. Use
create_recordto build fully structured SOs or POs just by telling your agent what needs doing. - Deep Inventory Checks: Need to know stock levels across three warehouses? The agent can use
get_recordand related tools to query item records, giving you valuations and availability numbers right away. - Streamlined Customer Management: Update customer credit limits or pull their full contact history using
update_recordandlist_customers. It's faster than opening the profile page. - Error-Proof Development Flow: When your agent needs to know what fields are available for an update, it uses
get_record_metadata, preventing you from submitting forms with invalid data.
Real-World Use Cases
Month-End Close Reporting
A controller needs the total revenue breakdown by subsidiary. Instead of pulling 10 separate reports, they ask their agent: 'Show me the consolidated revenue for Q2.' The agent runs complex queries using execute_suiteql and returns a single, summarized financial report.
Handling Late Payments
An accounts receivable specialist identifies several overdue clients. They tell their agent: 'Find all customers whose invoices are over $10k.' The agent uses list_records and filtering logic to compile a targeted list for the collections team.
Fulfilling a Large Order
The sales team closes a huge deal. They instruct their agent: 'Create a sales order for CUST-XYZ with 50 units of SKU-A.' The agent uses create_record, ensuring the SO is properly logged, and then checks stock availability in real time.
Auditing Vendor Accounts
The procurement team needs to reconcile a vendor's bill. They ask the agent to 'Get all purchase orders for Vendor B from last quarter.' The agent uses list_sales_orders and related tools, providing the necessary PO numbers for auditing.
The Tradeoffs
Assuming data structure
Manually writing a complex query that assumes all records have a 'tax_rate' field when some subsidiaries don't. You waste time debugging schema errors.
→
Before writing any report, always ask the agent to run get_record_metadata for the record type you are targeting. This confirms which fields exist before you try to query them using execute_suiteql.
Over-relying on simple lists
Asking the agent only to 'list all sales orders.' You get a list of IDs but no status, customer name, or total amount—useless for action.
→
Instead, use get_record and provide the specific ID you want details on. Or, ask the agent to run a filtered query using execute_suiteql to pull only orders with 'Status: Pending Fulfillment'.
Directly deleting data
Telling the agent simply to 'remove old records' without specifying the type or date range. You risk massive, irreversible financial loss.
→
Always specify both the record type and criteria. Start by running list_records with strict filters (e.g., only show invoices older than 5 years) before you ever invoke delete_record.
When It Fits, When It Doesn't
Use this server if your core business process involves high-volume data entry, complex cross-module reporting, or state changes (creating/updating records). If a task requires checking three different tabs and then copy-pasting the final number into a spreadsheet, this tool saves you time by running execute_suiteql to get that single figure.
Don't use it if your only need is simple data consumption—like reading an article or summarizing an email thread. For those cases, generic AI tools are fine. But if the information lives in a structured ERP database and requires specific actions (e.g., 'Change this SO status to Billed'), you must use the dedicated tools like create_record and update_record. If the required data structure is unknown, start with get_record_metadata; don't guess.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Oracle NetSuite. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 9 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Sifting through NetSuite UI menus for basic financial figures shouldn't take ten clicks.
Right now, finding the revenue breakdown by subsidiary means navigating to the Financial Reports tab. You select the time frame, choose 'Group By: Subsidiary,' hit run, and then export it to Excel. If you need a minor adjustment—say, adding a filter for only non-US subsidiaries—you have to restart the whole process.
With this MCP server, you just tell your agent: 'Show me revenue by subsidiary for Q2, but exclude all US operations.' The agent runs the required query using `execute_suiteql` and returns the exact data table instantly. You get the answer without touching a report builder.
The Oracle NetSuite MCP Server lets you manage records, orders & inventory.
Before this server, updating an item's price or changing a customer’s billing address was a multi-step process: find the record in the list view, click edit, navigate to the specific field block, and save. Doing this across fifty accounts meant fifty sets of clicks.
Now, you just tell your agent, 'Update CUST-1045's credit limit to $25k.' The agent handles the `update_record` call immediately. It’s direct, it’s fast, and you get confirmation that the data is live.
Common Questions About NetSuite MCP
What credentials do I need for NetSuite authentication? +
You need 5 values for Token-Based Authentication (TBA): Account ID, Consumer Key, Consumer Secret, Token ID, and Token Secret. All are generated within your NetSuite account under Setup > Integration.
Can I run custom SuiteQL queries? +
Yes. The execute_suiteql tool executes SQL-like queries against the SuiteQL endpoint. You can query any record type, join tables, and use aggregation functions — all through natural language that the agent translates to SuiteQL.
Does it support NetSuite saved searches? +
Absolutely. Use the run_saved_search tool with the saved search ID to retrieve its results. This works with any existing saved search in your account — transactions, customers, items, or custom records.
Can I create sales orders through the agent? +
Yes. The create_record tool with the salesOrder record type lets you create full sales orders with line items, pricing, shipping addresses, and payment terms — all through conversation.
When I use the `list_records` tool, how do I filter results by date range or specific criteria? +
You can specify filtering parameters in the payload. The API accepts standard NetSuite filters like date ranges (start/end dates) and status codes. This lets you narrow down large result sets without needing to run complex full-text queries.
When using the `update_record` tool, do I have to send all fields, or can I change just one? +
You only need to specify the exact fields you intend to modify. The system treats your payload as a partial update; it ignores any fields that aren't listed in your request body. This keeps data integrity high.
If I use the `delete_record` tool, is there a way to verify or confirm what I'm about to delete? +
The API does not include a confirmation step before deletion. Always run get_record first using the record ID you plan to delete. This confirms its existence and allows you to audit its current data state prior to running the destructive action.
When running massive queries with `execute_suiteql`, how do I handle performance or pagination? +
For huge result sets, the tool supports cursor-based pagination. You must pass the last record ID or offset from the previous results in your next call until you've retrieved all necessary data. This keeps processing fast and reliable.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
NetEase Cloud Gaming
Manage NetEase Cloud Gaming sessions — orchestrate server instances, monitor user quotas, and scaling capacity directly from any AI agent.
Box
Manage files, folders, collaborations, and metadata on Box — the enterprise cloud content management platform.
Ele.me Open Platform / 饿了么
China's massive food delivery API — manage shops, process orders, and track deliveries via AI.
You might also like
Front
Manage shared inboxes, track conversations, and collaborate on emails via AI agents with Front.
EnterpriseAlumni
Equip your AI agent to manage alumni networks, track engagement, and monitor member profiles via the EnterpriseAlumni API.
Resend
Automate email delivery via Resend — send emails, manage domains, and track audiences directly from any AI agent.