Skip to content
SyncMyShop

Notes

NetSuite with Claude: the connector, its tools and its limits

Claude connects to NetSuite through the NetSuite AI Connector Service, Oracle's own MCP server, with the free MCP Standard Tools SuiteApp installed in the account. Claude can then read records, run reports, saved searches and read-only SuiteQL, and create or update records, all within the NetSuite role the user signs in with and within the concurrency limit the account shares with every other integration.

Updated

How does Claude connect to NetSuite?

Through the Model Context Protocol. Oracle runs an MCP server inside NetSuite, the NetSuite AI Connector Service, at an address per account:

https://<accountid>.suitetalk.api.netsuite.com/services/mcp/v1/all
https://<accountid>.suitetalk.api.netsuite.com/services/mcp/v1/suiteapp/com.netsuite.mcpstandardtools

The first URL returns every tool installed in the account; the second only the tools of one SuiteApp. Oracle's FAQ names a missing /all as the reason Claude shows "connected" while the connector stays disconnected.

The tools themselves come from a SuiteApp. Oracle's MCP Standard Tools SuiteApp is free and covers the common work. What has to be in place before the first prompt:

Where What Detail
NetSuite features Server SuiteScript, OAuth 2.0, REST Web Services REST is needed for the standard tools
NetSuite role MCP Server Connection, OAuth 2.0 Access Tokens, REST Web Services Administrator roles are refused
Integration record Created on the first connection from Claude Public client, authorization code grant, AI Connector Service scope
Claude NetSuite AI connector from the directory Pro plan or higher, per Oracle's setup page
Protocol Remote MCP, version 2025-06-18, streamable HTTP, OAuth 2.0 with PKCE Any MCP client that supports these can connect

Sign-in is OAuth 2.0 with the user's own NetSuite login. Claude sees what that role sees and nothing more.

What can Claude do in NetSuite?

The standard tools come in four groups, 14 tools in total, as listed on October 3, 2026:

Group Tools Permission Limit worth knowing
Records ns_getRecord, ns_createRecord, ns_updateRecord, ns_getRecordTypeMetadata REST Web Services (Full) Any record available through REST
Reports ns_runReport, ns_listAllReports and 4 filter lookups none extra Date and subsidiary filters only; no accounting periods
Saved searches ns_listSavedSearches, ns_runSavedSearch Perform Search (View) Runs searches that already exist
SuiteQL ns_runCustomSuiteQL, ns_getSuiteQLMetadata none extra Read-only queries

Two lines in Oracle's own best practices matter for a finance team. Have Claude run a report or a saved search before it writes SuiteQL. And do not use SuiteQL for financial reports, because the standard reports apply business rules that a query does not. A revenue figure Claude assembles with SELECT SUM(amount) FROM transactionline will differ from the income statement whenever the report's rules for posting, consolidation or currency apply.

Can Claude write to NetSuite?

Yes. ns_createRecord and ns_updateRecord create and change records through REST web services. Oracle's warning is plain: a user whose role has the MCP Server Connection permission can perform these actions on any record available through REST, if the role's permissions allow it. A buyer who may edit vendors in the UI may edit them through Claude.

Three controls keep writes contained:

  • A separate role for AI use, with MCP Server Connection and only the record permissions that role needs.
  • Tool permissions in Claude. Per tool or per group: Always allow, Needs approval or Blocked. Write tools on Needs approval means every create or update is shown before it runs.
  • An external ID on every record Claude creates. Oracle recommends setting externalId on ns_createRecord. A prompt that is retried, or asked twice, then updates the record instead of creating a duplicate. The same rule applies to an order sync, as explained in duplicate customers and orders.

How many questions fit in the limits?

Three limits apply at the same time.

Concurrency, shared with every integration. Unless an administrator allocates a limit to the AI Connector's integration record, Claude draws on the account's pool of concurrent requests. That pool is 5 on the Standard service tier, 15 on Premium and 20 on Enterprise and Ultimate, plus 10 per SuiteCloud Plus license. Oracle's own example: with a limit of 5 and 2 allocated to a REST integration, the AI Connector can use the remaining 3. One prompt is not one request: MCP sends protocol requests before the tool call. A request over the limit gets Too Many Requests, and the AI client has to retry.

A Claude question and the order sync share one NetSuite concurrency limit Claude calls the SuiteQL tool through the NetSuite AI Connector Service while the order sync writes a sales order. On a Standard tier account with a limit of 5, two requests are allocated to the order sync and three remain for Claude. A request over the limit gets Too Many Requests. Claude AI client AI Connector MCP endpoint NetSuite limit 5 requests Order sync integration record Standard tier: 5 concurrent requests. 2 allocated to the order sync, 3 left for every other integration, Claude included. initialize, tools/list 14 standard tools ns_runCustomSuiteQL SuiteQL, read-only PUT salesorder order updated up to ~5,000 rows result, ~150,000 chars max 4th concurrent call Too Many Requests
Claude and the order sync draw on the same NetSuite concurrency limit unless the order sync has its own allocation.

Rows per call. Oracle's FAQ puts the practical ceiling of AI clients at about 5,000 rows per call. Claude's own documentation limits a tool result to about 150,000 characters. A SuiteQL row with item number, name, location, quantity and amount runs to about 90 characters as JSON. 150,000 divided by 90 is 1,666 rows, well below 5,000. A question about 4,200 items at 3 locations, 12,600 rows, takes at least 8 calls.

Usage units per custom tool. A custom tool script has 1,000 usage units per execution. Loading a sales order costs 10 units and saving it 20. 1,000 divided by 30 is 33 orders per call, so a tool that updates 120 orders needs 4 calls. The full table of units is on NetSuite concurrency and governance limits.

When the standard tools are not enough

Custom tools are SuiteScript 2.1 scripts with a JSON-RPC schema that describes each tool, deployed as a toolset SDF object through the SuiteCloud Development Framework. They make sense for a fixed question asked daily, such as open orders past their ship date per customer, where one tool returns exactly the rows needed instead of letting Claude compose SuiteQL each time.

Two restrictions shape what a custom tool can be:

  • The modules N/http, N/https, N/llm and N/sftp are not supported. A custom tool cannot call Shopify, a WMS or a carrier. A question that spans NetSuite and the store needs a second MCP server outside NetSuite, or data that an integration already brought into NetSuite.
  • Since the September 2026 minor release, custom tools can no longer be deployed with the old tool XML definition; they use the toolset object. The tool object is deprecated in NetSuite 2027.1.

Claude next to an order sync

Claude answers when someone asks. An order sync runs whether anyone is looking or not: every order from the store reaches NetSuite once, with retries and backoff when NetSuite answers Too Many Requests and a queue that holds orders through a busy hour. Both run on the same account, so they affect each other.

Situation Effect Handling
Analyst runs 6 Claude prompts in parallel on a Standard account The order sync gets 429 CONCURRENCY_LIMIT_EXCEEDED on REST or SSS_REQUEST_LIMIT_EXCEEDED on a RESTlet Allocate concurrency to the sync's integration record
Claude creates a customer without externalId A second customer when the sync creates the same buyer from the next order External ID or a matching rule on both sides
A store-only field, such as the Shopify order name Claude cannot see it unless the sync wrote it to NetSuite Map it to a NetSuite field, for example externalid

The AI Connector keeps its own log. Each integration record has an Execution Log tab with a subtab for AI Connector Service (MCP): time, duration, status, user, HTTP status, method and URL path per request. Production keeps 21 days, a sandbox 7. When the order sync starts seeing 429s at 10 am every day, that log shows whether the same hour has a burst of MCP calls.

What this means for your integration

Claude is more useful on NetSuite data that is complete. When orders, customers and stock from the store are in NetSuite with stable external IDs, a question about last week's orders by state is answered from NetSuite alone. We build and run the NetSuite integration that puts that data there, with its own concurrency allocation so a busy hour of AI questions does not stall the order flow.

Custom MCP tools are part of the same work when a question needs a fixed, governed answer: a tool that returns exactly the rows the team asks for daily, within the 1,000 units a call allows. Tell us what you want to ask NetSuite, and we show you which part the standard tools cover.

Frequently asked questions

Is there a NetSuite connector for Claude?

Yes. Oracle runs the NetSuite AI Connector Service, an MCP server inside NetSuite, and lists it in Claude's connector directory. With the MCP Standard Tools SuiteApp installed, Claude gets 14 tools for records, reports, saved searches and SuiteQL. Oracle's setup page says the connector in Claude needs the Pro plan or higher.

Does the NetSuite AI Connector Service cost extra?

Oracle's FAQ states that the service is not a paid feature and that the MCP Standard Tools SuiteApp is free. The AI client needs its own subscription. The cost that does show up is concurrency: the connector uses the same pool of concurrent requests as the account's other integrations.

Can I connect with an Administrator role?

No. The AI Connector Service does not accept Administrator roles. Create a role with the permissions MCP Server Connection and OAuth 2.0 Access Tokens, plus REST Web Services for the standard tools, and give it only the record permissions the users of Claude need.

Can Claude post journal entries or change prices in NetSuite?

If the role allows it, yes: ns_createRecord and ns_updateRecord work on any record available through REST web services that the role may edit. A role without those permissions, a tool set to Needs approval or Blocked in Claude, and a separate role for AI use are the controls that keep writes where they belong.

Where do I see what Claude did in NetSuite?

On the integration record under Setup > Integration > Manage Integrations, tab Execution Log, subtab AI Connector Service (MCP). Each request shows time, duration, status, user, HTTP status code, method and URL path. Production keeps 21 days of entries and a sandbox 7.

Tell us what you need

Tell us which systems you use and what needs to work better. We reply personally within one working day. We help you define the work, then agree the price and timing before you commit.

  • You know the price and the timeline before you commit to anything
  • We work out the connection that takes the work off your hands
  • We handle the build, hosting, monitoring and maintenance
  • Your team has less information to retype and fewer discrepancies to chase

Suppliers, products, orders per day, a rough estimate is fine.

Or email directly: carsten@syncmyshop.com