Skip to content
SeamSetTalk to us

All guides

NetSuite MCP Standard Tools: what each of the 14 tools and 3 MCP Apps can do

By Arnaud de Turckheim

Last verified against NetSuite 2026.2

In short

  • The MCP Standard Tools SuiteApp is Oracle’s free toolset for the NetSuite AI Connector Service, Oracle’s MCP (Model Context Protocol) server. Once installed, it gives Claude, ChatGPT or another AI client 14 tools and 3 MCP Apps.
  • Twelve tools read. ns_createRecord and ns_updateRecord create and update records, journal entries included, when your role allows it. None of the tools deletes.
  • A tool appears only if your NetSuite role has that tool’s permission. What it can then read or change still depends on the role.
  • The report tools ignore accounting periods and run on date ranges: a likely reason a “P&L by period” does not match NetSuite. Give exact dates or use a saved search filtered on the period, then tie out (how to check).

As of NetSuite 2026.2, with Oracle’s Help Center read on September 26, 2026.

Who this is for

A controller who connected Claude or ChatGPT and wants to know exactly what it can do, the admin choosing its role (see also For admins), and developers weighing custom tools.

What you need

  • MCP Standard Tools installed from the SuiteApps tab, with the Server SuiteScript, OAuth 2.0 and REST Web Services features on (Setup > Company > Enable Features, SuiteCloud subtab).
  • A connected AI client and a non-Administrator role with MCP Server Connection and Log in using OAuth 2.0 Access Tokens. Procedure: How to connect NetSuite to Claude, ChatGPT and other AI clients.
  • No NetSuite fee: the connector and the SuiteApp are free (see the FAQ). Your AI client may require a paid plan.

What it can and cannot do

For a finance user, through the 14 standard tools, per Oracle’s tool pages:

Task Through the standard tools
Read a record or transaction your role can see Yes (ns_getRecord)
Run a standard or custom report your role can run Yes, by date range and subsidiary
Run a report by accounting period No: “Accounting periods are not supported”
Apply custom report filters No: “Custom filters are also not supported”
Run your saved searches Yes. No filter parameter is documented, so criteria should run as saved
Create a saved search or change its criteria No tool or parameter for it: build or edit the search in NetSuite
Query with SuiteQL Yes, read-only
Create or update a record, journal entries included Yes, if your role can do it in NetSuite
Delete a record No: none of the tools deletes
Approve a bill or journal, close a period, read attachments, send email Not documented. Oracle lists “granting approvals” among AI risks: assume an update can approve if your role can, and test in a sandbox

NetSuite MCP Standard Tools list (14 tools)

Two gates apply. A tool is visible “only if your NetSuite role has all the required permissions for that tool”. It then reads or changes only what the role’s other permissions allow. “No extra permission” means every role that can connect sees the tool.

Group Tool What it does Read or write Permission to see it
Record ns_getRecord Retrieves one record Read REST Web Services (Full)
Record ns_getRecordTypeMetadata Fields and data types of one or all record types, used before a create or update Read REST Web Services (Full)
Record ns_createRecord Creates a record Write REST Web Services (Full)
Record ns_updateRecord Updates a record Write REST Web Services (Full)
Report ns_listAllReports Lists standard and custom reports with their filters, used before ns_runReport Read No extra permission
Report ns_runReport Runs a report Read No extra permission
Report ns_getSubsidiaries Subsidiaries for report filters Read No extra permission
Report ns_getAccountingBooks Accounting books for report filters Read No extra permission
Report ns_getAccountingContexts Accounting contexts for report filters Read No extra permission
Report ns_getNexusIds Nexuses (tax jurisdictions) for report filters Read No extra permission
Saved search ns_listSavedSearches Lists saved searches (ID, title, record type, public setting) Read Perform Search (View)
Saved search ns_runSavedSearch Runs an existing saved search Read Perform Search (View)
SuiteQL ns_getSuiteQLMetadata Fields, types, nullability and joins for SuiteQL, used before ns_runCustomSuiteQL Read REST Web Services (Full)*
SuiteQL ns_runCustomSuiteQL Runs a SuiteQL query: “Only read-only queries are supported” Read No extra permission

* Oracle’s overview table shows no permission for the SuiteQL group; the tool’s own page lists REST Web Services (Full).

The report tools show for every role, but Oracle says they run “any report that you have access to based on your current permissions.”

ns_runReport parameters (Oracle’s tool page): reportId and dateTo; dateFrom, subsidiaryId, nexusId and book2 when the report needs them; optional book, accountingContext, range, taxCashBasisMode, periodEndTransactionReportMode. No period parameter.

What the permissions mean for writes

  • REST Web Services (Full) shows all four record tools at once, and Oracle says “You cannot activate or deactivate individual tools.” In NetSuite, the write tools come with the read tools: to keep reads and stop writes, use record permissions or the AI client.
  • A write succeeds only if the role’s record permissions allow it: with View only, creates and updates fail. Watch it: in a Luxent webinar, a consultant asks Claude to add a vendor, and Claude reports that her role lacks permission to create vendors.
  • Oracle warns a role with MCP Server Connection can create and update “any records available through REST, if their current permissions allow it.” Journal entries are REST records. If you connected with your own finance role, the AI can create or edit what you can.
  • An update can overwrite or clear field values: ns_updateRecord is the riskier tool. On creates, Oracle advises always setting externalId to prevent duplicates.
  • Removing the REST Web Services permission (not the feature) hides all four record tools, ns_getSuiteQLMetadata and the Record Selector app. The report tools, ns_runCustomSuiteQL and, with Perform Search, the saved search tools remain.

Stop writes from the chat today. In Claude, open Customize > Connectors, select the NetSuite connector, and under Tool permissions set ns_createRecord and ns_updateRecord to Needs approval or Blocked. On Team and Enterprise plans, an Owner can do this for the whole organization.

ChatGPT developer mode asks you to confirm write actions by default.

Role design: A least-privilege NetSuite role for AI. Controls: Governing AI access to NetSuite.

Limits to know before you trust an answer

The report tools ignore accounting periods

Oracle’s Report Tools page: “Accounting periods are not supported.” The tools also ignore the Report by Period preference, and custom reports that use custom segments for column segmentation may return null values.

  • ns_runReport takes dates, not a period. In NetSuite’s own reports, a date range selects by transaction date and a period by posting period. If the tools do the same (Oracle does not say), a bill dated June 30 but posted to July would count in June for the AI and in July by period.
  • Through the report tools, the AI cannot see your periods: Oracle says it may use the calendar year as the fiscal year, or ask you. Oracle’s connector skill lists the accountingperiod table for SuiteQL, but its Finance Analyst skill warns it is “Not queryable on all MCP endpoints”. Giving the period dates yourself is safer.
  • Oracle’s FAQ says reports support only date and subsidiary filters; the ns_runReport page also documents book, accounting context and nexus. If you rely on those, check the tool call.

Row limits: mostly on the AI client side

  • The practical risk: a list cut short gives a wrong total if the AI adds it up. Take totals from a report or a summary saved search, not from summed detail rows.
  • Oracle’s FAQ: AI clients “usually support up to ~5,000 rows per call”, and token limits or timeouts may apply. Oracle documents no row cap for the tools, which page results (pageSize, range_start, range_end).
  • Oracle’s optional netsuite-ai-connector-instructions skill (agent skills guide) tells the model to add ROWNUM <= 1000 to every SuiteQL query. When it is loaded, expect 1,000 rows per query unless the model paginates.

How to get numbers you can rely on

Oracle’s best practices, in short:

  1. Name the report or saved search. Oracle recommends ns_runReport or ns_runSavedSearch before ns_runCustomSuiteQL, and says: “Don’t use SuiteQL or build new reports for financial reports.” Ask the AI which reports it can access to get names and internal IDs (Rand Group demo), then give the name or ID (Oasis Solutions demo).
  2. Give dates, fiscal calendar, subsidiary and book. Never “this period”. A negative subsidiaryId means consolidated (the subsidiary and its children) or a context subsidiary; a positive one, a single subsidiary.
  3. Read the tool calls, not only the answer, and ask for direct links to records and reports (both Oracle best practices). ChatGPT developer mode shows each call’s JSON input and output under a caret; in any client, ask the AI to list its parameters.
  4. Tie out. Oracle’s FAQ: “always verify the results against NetSuite data.” Run the same report in NetSuite with the same dates and subsidiary.

Seen in practice. In the Luxent webinar, a backorder report matched the same report in NetSuite because Claude ran the standard report (watch). When Claude writes its own query, “you really have to check those numbers” (watch).

If a month still differs from NetSuite’s report by period, check Allow Transaction Date Outside of Posting Period (Setup > Accounting > Preferences > Accounting Preferences, General subtab). On Disallow, users cannot save a transaction dated outside its posting period, so date versus period is an unlikely cause for transactions saved under that setting.

For figures by posting period, have the AI run a transaction saved search filtered on Accounting Period Fields with ns_runSavedSearch. How to set up that search, tie out step by step, and prompts for month-end: Claude and ChatGPT on NetSuite for finance.

The 3 MCP Apps

MCP Apps are small interactive screens an AI client can render inside the chat instead of plain text. AI clients list them as tools, so Claude’s directory listing for NetSuite shows 17 tools.

MCP App Tool name What it shows Permission to see it
Prompt Library MCP App ns_prompt_library_app Prompt templates from the Companion SuiteApp and your account’s public custom prompts; needs the Companion No extra permission
Record Selector MCP App ns_selector_app Records of one type to pick, for example for a reference field during a create or update REST Web Services (Full)
Report Filters MCP App ns_report_filters_app The filters a report needs, to confirm before ns_runReport runs No extra permission

The apps are optional. Oracle’s tool pages say the AI client “may” open the Record Selector or Report Filters app when a reference field or filter is missing; the Prompt Library opens when you ask for it.

Watch it. In Oracle’s SuiteConnect San Francisco keynote (April 28, 2026, before the apps shipped; the released app may differ), a demo runs the Record Selector in Claude: the user picks the customer and item, and Claude creates the sales order (NetSuite, keynote demo).

Which clients render them. Oracle’s documentation names no client. OpenAI says ChatGPT “implements the open MCP Apps standard”. Anthropic says interactive connectors, built on MCP Apps, work in Claude, Cowork, Claude Desktop and the mobile apps, but its list of them does not include NetSuite (September 2026).

Seen in practice. In a Eureka Solutions webinar (July 2026), the Report Filters app renders in Claude on the web. For a Profit and Loss, the form asks for the subsidiary and dates, not a period; Send to chat passes the choices and Claude runs ns_runReport (Eureka Solutions, webinar).

A community-maintained matrix adds Cursor, VS Code GitHub Copilot and Microsoft 365 Copilot. Check whether the NetSuite apps render in your client or fall back to text.

Prompt Library: the Companion SuiteApp

The Prompt Library app reads samples from the optional NetSuite AI Connector Service Companion SuiteApp, which “doesn’t replace the tools themselves” and needs MCP Standard Tools. A visible prompt can still fail if your role lacks the tools it calls, and samples that say “[current period]” need real dates. Where to find the library, which samples write, and its two roles: Oracle’s prompt library.

For admins: how the SuiteApp is served

The NetSuite AI Connector Service, introduced in August 2025, is the MCP server Oracle hosts for each NetSuite account. It serves tools from SuiteApps and custom projects. MCP Standard Tools, application ID com.netsuite.mcpstandardtools, is Oracle’s set.

  • Managed. Oracle updates it automatically and warns that “some updates may change how the tools operate.” Oracle documents no way to hold a version.
  • Own server URL. The URL below returns only the standard tools. The /services/mcp/v1/all URL returns them plus any custom tools.
  • File Cabinet access. Your role must be able to open the SuiteApp folder in the File Cabinet, or tool calls return an access denied error.
https://<accountid>.suitetalk.api.netsuite.com/services/mcp/v1/suiteapp/com.netsuite.mcpstandardtools

Take the account-specific domain from Setup > Company > Company Information, Company URLs subtab. A sandbox ID such as 123456_SB1 appears as 123456-sb1.

MCP Sample Tools is retired (see the FAQ). Tutorials showing tools such as createCustomer or getCustomerBalance use it or Oracle’s sample code, not MCP Standard Tools.

Its only create tool was createCustomer (Oracle’s tool list). That likely explains why, in JR Tallman’s August 2025 demo, a vendor request created a customer while Claude reported a vendor. Check the created record, not the AI’s summary.

When the standard tools are not enough: custom tools

A fixed query for a figure you publish monthly, a write limited to a few fields, logic specific to your account: that is custom tool territory. Generic tools can also miss data. In one account, Prolecto reports a purpose-built tool found 447 timesheet entries where the standard tools found 216.

How to build one with SuiteScript 2.1 and SDF (SuiteCloud Development Framework): Build a custom MCP tool for NetSuite.

Common problems

Symptom Cause Fix
No tools at all SuiteApp not installed in that account, or role lacks permissions Install it in that account (practitioners report it does not carry over between environments); check the role
Record, metadata or saved search tools missing Role lacks REST Web Services (Full) or Perform Search (View) Add the permission, then refresh or reconnect the connector (practitioner advice)
“Access denied” when a tool runs SuiteApp folder restricted for the role Remove the File Cabinet restriction
P&L by period does not match Periods ignored; calendar fiscal year possibly assumed Tie out by posting period
“Too Many Requests” The connector shares the account’s concurrency limit with your other integrations Retry; set a Concurrency Limit on the AI client’s integration record
Truncated results or timeouts AI client row and token limits Narrow the query; paginate; take totals from a report

More: NetSuite AI Connector (MCP) errors: causes and fixes.

FAQ

Is the NetSuite MCP Standard Tools SuiteApp free?

Yes. Oracle says the AI Connector Service “is not a paid feature” and MCP Standard Tools “is a free SuiteApp”. You may need a paid AI client plan. Per Oracle’s AI Units FAQ, the connector does not consume NetSuite AI Units.

Does NetSuite MCP support accounting periods?

Not in the report tools: Oracle says “Accounting periods are not supported.” They run on a date range, and in NetSuite reports a date range selects by transaction date, not posting period. Give exact dates, or run a saved search filtered on Accounting Period Fields with ns_runSavedSearch, then tie totals to the standard report (how).

Can Claude post a journal entry or approve a bill in NetSuite?

It can create or update a journal entry through ns_createRecord or ns_updateRecord if your role has REST Web Services (Full) and create or edit rights on journal entries. Oracle does not document approvals through these tools; assume an update can approve if your role can, and test in a sandbox. No standard tool deletes.

How do I update MCP Standard Tools to the latest version?

You do not. It is a managed SuiteApp that Oracle updates automatically; Oracle documents no customer-triggered update. Practitioners report installed versions lagging behind: if yours does, open a case with NetSuite Support.

What happened to MCP Sample Tools?

Oracle closed MCP Sample Tools, the first SuiteApp, to new installations in September 2025, replaced it with MCP Standard Tools, and says it “will stop working at any time from December 2025 onward.” Uninstall it; the code remains on Oracle’s GitHub as an example.

Sources

Oracle Help Center

Oracle, other

AI client vendors and the MCP project

Third party

About SeamSet. When what you need is a screen, a scheduled export or an approval step rather than a chat, SeamSet builds it from a request in plain words: sandbox first, tested, documented and approved by your NetSuite admin, with audit and rollback.