Ultimate guide · Updated August 2026

The ultimate guide to NetSuite MCP 2026.

NetSuite's MCP server is Oracle's hosted AI Connector Service — there is nothing to download. Tools come from the MCP Standard Tools SuiteApp, and the NetSuite role you pick at sign-in is the access boundary. Every route to it, compared on permissions, write access, maintenance, and cost.

Want the shortlist instead of the full map? Read 6 ways to connect AI to your NetSuite books. Setting up one specific client? Skip ahead to ChatGPT, Claude, Codex, or a local bridge.

The basics

What is NetSuite MCP?

The Model Context Protocol (MCP) is an open standard for connecting AI assistants to outside systems through one interface. NetSuite MCP is Oracle's implementation of it: the NetSuite AI Connector Service, a NetSuite-hosted endpoint that exposes approved tools to any compatible client.

This is where NetSuite parts company with QuickBooks and Xero, both of which publish a server you clone and run. NetSuite publishes a service you authorize. Tools arrive as a SuiteApp, authorization runs through OAuth 2.0, and the NetSuite role selected at consent decides everything the AI can reach. No scope list, no API key — a role.

So the real decisions are narrower than "can AI read NetSuite." They are: which client your users will actually use, which tools that client needs, whether anything is allowed to write, and who is still maintaining the setup six months after the pilot.

Under the hood

How a NetSuite MCP request actually travels.

Six links in the chain. Every failure and every permission question belongs to exactly one of them, which is why "just widen the role" fixes so little.

01

MCP client

ChatGPT, Claude, Codex, an IDE client behind a local bridge, or a managed layer such as Kipper. The client is the caller — it is never the permission system.

02

OAuth 2.0 authorization

Authorization Code Grant with PKCE. The person signing in picks a NetSuite role at consent time, and that choice scopes the whole connection.

03

NetSuite AI Connector Service

Oracle's hosted MCP endpoint, reached over streamable HTTP at MCP protocol version 2025-06-18. This is the NetSuite MCP server. There is nothing to download.

04

Tool package

The MCP Standard Tools SuiteApp supplies record, report, saved-search, and SuiteQL tools. Custom SuiteScript tools can be published alongside them.

05

NetSuite role

Every tool call executes as the selected role. Records it cannot see return fewer rows, blank fields, or a permission error — which is correct behavior, not a bug.

06

Execution log

NetSuite logs AI Connector Service activity per integration record. It records tool calls, not the question a person typed or the answer they were shown.

The two endpoint shapes

MCP Standard Tools SuiteApp
https://<accountid>.suitetalk.api.netsuite.com/services/mcp/v1/suiteapp/com.netsuite.mcpstandardtools
Oracle's standard tool set — the endpoint used by the documented Claude flow.
All tool namespaces
https://<accountid>.suitetalk.api.netsuite.com/services/mcp/v1/all
Spans tool namespaces including custom tools. Check this first when tools are missing after a successful login.

The landscape

Three categories of option.

01

Official & developer

Oracle's hosted service, the Standard Tools SuiteApp, local bridges, CData's read-only server, and custom SuiteScript tools.

02

Managed cloud platforms

MCP gateways, agent platforms, iPaaS tools, and unified APIs that already support NetSuite, with the differences labeled plainly.

03

Hosted finance layer

A managed, read-only answer layer for teams that need governed NetSuite answers without every user holding a NetSuite seat.

Category 01 · Official & developer

The official service and developer routes

Every other path on this page sits on top of this one. Get the account side right — features, SuiteApp, a dedicated role — and swapping clients later is a five-minute job.

NetSuite Official · Oracle NetSuite Start here whichever client you end up using

NetSuite AI Connector Service

Oracle documentation ↗

Oracle's hosted MCP endpoint for NetSuite. Enable Server SuiteScript and OAuth 2.0 (plus REST Web Services to install the standard tools), install a tool package, create a dedicated non-administrator role with MCP Server Connection and Log in using OAuth 2.0 Access Tokens, then authorize from your client. Oracle refuses the service on Administrator and full-permission roles, so scoped role design is built into the product rather than bolted on.

Its tools come from the MCP Standard Tools SuiteApp — records, reports, saved searches, and SuiteQL. The optional Companion SuiteApp adds prompt samples, not data access; the retired MCP Sample Tools SuiteApp is a different, deprecated package. When the standard tools cannot express a workflow, developers can build custom SuiteScript tools with SDF and expose them through the same service.

Full permission model, layer by layer
Transport
Streamable HTTP · MCP 2025-06-18
Auth
OAuth 2.0 auth code + PKCE
Permissions
The NetSuite role, per connection
Setup effort
Medium, admin led

Community local bridge

Third-party
dsvantien/netsuite-mcp-server ↗

A local STDIO process that fronts Oracle's hosted service so IDE clients such as Claude Code, Cursor, or Gemini CLI can reach it. Reach for it when your client cannot complete Oracle's remote OAuth and streamable-HTTP flow, or when you need tooling the hosted service does not expose. It is a third-party dependency with a path to business data — review the maintainer, source, dependency tree, OAuth callback behavior, and exact tool list, then pin the version.

Hosting
Your machine, plus Oracle's endpoint
Auth
Public-client integration record + localhost callback
Reviewed by Oracle
No
Setup effort
High

CData NetSuite MCP Server

Vendor OSS
CData NetSuite MCP GitHub repo ↗

A local Java MCP server that exposes NetSuite through CData's JDBC driver for Claude Desktop-style local clients. The server is open source and intentionally read-only; the commercial driver and driver configuration are the moving pieces you still have to own.

Hosting
Local Java process
Transport
Local stdio
Write access
Read-only by design
Setup effort
Medium-high

OpenSuiteMCP

Source-available
opensuitemcp.com ↗

A self-hostable chat UI, from Unstacked Apps, that sits on Oracle's AI Connector Service: the Standard Tools, SuiteCloud Agent Skills, and a Companion prompt library in one interface you run yourself. Reach for it when you want a ready-made NetSuite chat app on Oracle's native endpoint instead of wiring a client yourself. Run it free with Docker, try it hosted, or have it installed in your VPC. It is source-available under a Sustainable Use License, so review the code, dependencies, and tool surface as you would any third-party path to business data.

Hosting
Self-host (Docker), hosted eval, or your VPC
Auth
OAuth 2.0 + PKCE via the AI Connector Service
Reviewed by Oracle
No
Setup effort
Low to medium

Building the local bridge yourself? Follow the developer setup guide, step by step

Category 02 · Paid, managed

Managed cloud platforms

MCP gateways, agent platforms, iPaaS tools, and unified APIs all offer NetSuite paths, and this is where false equivalence is easiest. Zapier, Composio, CData, Workato, and Tray.ai have MCP-relevant NetSuite paths. Boomi, Celigo, MuleSoft, Merge, and Apideck are strong integration or API options, but not verified NetSuite MCP servers.

Turnkey MCP

Managed platforms with a native MCP endpoint

Zapier NetSuite MCP

Hosted MCP gateway

Zapier exposes selected NetSuite actions through a secure MCP URL, so an MCP-compatible assistant can call Zapier's NetSuite actions beside thousands of other app actions. It is action-first, not a NetSuite-native role design tool.

Model
Workflow/action MCP
Hosting
Zapier cloud
Auth
Zapier-managed app connection
Write access
Read-write actions
Pricing
Zapier plan + task usage
Best for
No-code cross-app actions
Limitation
Tool surface follows Zapier actions, not Oracle's full MCP Standard Tools

Composio NetSuite toolkit

Agent platform

Composio positions NetSuite as a hosted toolkit for agents and chatbots, with OAuth handling and Tool Router MCP access across agent frameworks such as Codex, ChatGPT Work, Cursor, LangChain, and Mastra.

Model
MCP gateway / tool router
Hosting
Composio cloud
Auth
Managed OAuth2
Write access
Read-write tool-based
Pricing
Published usage tiers
Best for
Agent builders who need managed auth
Limitation
Still requires reviewing the exposed tools before production writes

CData Connect AI

Remote MCP + data layer

CData Connect AI provides a hosted Remote MCP path to live NetSuite data and a broader data-connectivity layer. It fits IT and data teams that want governed query and action access across many sources rather than a NetSuite-only client route.

Model
Remote MCP / data platform
Hosting
CData cloud
Auth
CData-managed source connection
Write access
Vendor-scoped read/write
Pricing
Subscription
Best for
IT/data teams standardizing AI access
Limitation
Commercial layer and driver/source configuration to maintain

Workato Enterprise MCP

Enterprise MCP/iPaaS

Workato's Enterprise MCP layer can expose governed enterprise automations to agents, and its marketplace includes a NetSuite Financial Operations MCP Server built on Workato by Jade Global. This is an orchestration path, not Oracle's native endpoint.

Model
Enterprise MCP orchestration
Hosting
Workato cloud
Auth
Platform-managed connections
Write access
Read-write workflows
Pricing
Enterprise / marketplace-led
Best for
Enterprise automations with governance
Limitation
Recipe/server design and platform ownership required

Tray.ai Agent Gateway

Governed MCP gateway

Tray.ai says its NetSuite connector can be exposed through Agent Gateway for MCP, with RBAC, observability, and governed tool calls. It is strongest when NetSuite is one of many enterprise tools an agent needs to orchestrate.

Model
Agent gateway / iPaaS
Hosting
Tray.ai cloud
Auth
Tray-managed connector auth
Write access
Read-write workflows
Pricing
Enterprise / sales-led
Best for
Governed multi-app agents
Limitation
Not a NetSuite-specific finance answer layer

Integration-led

Integration platforms & unified APIs

Reach NetSuite, but not a verified NetSuite MCP server.

Boomi

iPaaS / AI automation

Boomi supports NetSuite integration and agentic automation inside Boomi workflows, including AI agent steps. Include it when the project is integration automation, not when the buyer expects a native MCP endpoint for an AI client.

Model
iPaaS / automation
Hosting
Boomi cloud / runtime
Auth
Boomi connection management
Write access
Read-write integrations
Pricing
Subscription / sales-led
Best for
Enterprise integration teams
Limitation
No first-party NetSuite MCP server claim found

Celigo

NetSuite iPaaS

Celigo is a NetSuite-centered integration platform with broad templates and flows. It belongs in the managed integration comparison, but should not be described as an MCP server unless a specific MCP product is verified.

Model
NetSuite iPaaS
Hosting
Celigo cloud
Auth
Platform-managed NetSuite connection
Write access
Read-write flows
Pricing
Subscription / sales-led
Best for
NetSuite integration programs
Limitation
Integration platform, not verified MCP endpoint

MuleSoft NetSuite Connector

Enterprise connector

MuleSoft's NetSuite connector synchronizes data and automates processes through Anypoint. Treat it as an enterprise integration substrate that can sit near AI work, not as a drop-in NetSuite MCP option.

Model
Enterprise API/iPaaS connector
Hosting
Mule runtime / Anypoint
Auth
Connector configuration
Write access
Read-write integrations
Pricing
Enterprise / sales-led
Best for
Salesforce/MuleSoft shops
Limitation
Connector docs are not a NetSuite MCP product page

Merge

Unified accounting API

Merge abstracts NetSuite behind a unified Accounting API for product teams building customer-facing integrations. It is useful when your app needs normalized accounting data, not when an AI client needs Oracle's MCP tool surface.

Model
Unified API
Hosting
Merge cloud
Auth
Merge-managed customer connection
Write access
API-dependent read/write
Pricing
Subscription / sales-led
Best for
SaaS products embedding accounting integrations
Limitation
API layer, not MCP

Apideck

Unified accounting API

Apideck provides a unified Accounting API with NetSuite support and documented CRUD coverage for entities such as subsidiaries. It belongs in a product-integration shortlist, but it is not a native NetSuite MCP server.

Model
Unified accounting API
Hosting
Apideck cloud
Auth
Apideck-managed connector auth
Write access
Read-write API operations
Pricing
Subscription / usage
Best for
Developers normalizing many accounting systems
Limitation
API abstraction, not MCP

Category 03 · Paid, hosted

Hosted finance layer

Best when the constraint is seat count rather than the connection. Under the native model, every extra person asking a question is a NetSuite user, a role assignment, and a role to review — which is why access tends to stop at the people who already have seats.

Kipper

Managed · read-only
Explore Kipper's NetSuite MCP connector

Kipper connects NetSuite once, then lets people ask in plain language without SuiteApps, roles, bridges, or client configuration of their own. It is read-only by architecture, permissions are set per user or team in Kipper, and every question and answer is logged. The same connection answers in Slack, Teams, and SMS today, with Claude, ChatGPT, and Gemini through the Kipper MCP beta. It does not replace Oracle's service or its role model — your admin still authorizes a scoped NetSuite connection.

Write access
Impossible by architecture
Permissions
Per user / team, per query
Pricing
$1,000/month
Included users
Up to 20 active users
Additional users
$25/month per additional active user
Best for
Finance and operations teams that want managed access to NetSuite data
Setup effort
Low — hosted portal, no code

Everything compared

19 paths, two tables.

The first table is who a path is for and what it costs you in effort. The second is how it connects and what it can reach. MCP gateways, iPaaS platforms, and unified APIs are separated because they solve different problems.

Fit and effort

Path Category Best for Skill required Setup effort Who maintains it
AI Connector Service + Standard Tools Native The account-side foundation every other path sits on NetSuite administration Medium — features, SuiteApp, role Oracle hosts it; your admin owns the role
NetSuite app in ChatGPT Native client Teams already standardized on ChatGPT Low, once NetSuite is configured Low in ChatGPT NetSuite admin + ChatGPT workspace admin
NetSuite connector in Claude Native client A watchable first pilot — Claude prompts per tool call Low, once NetSuite is configured Low in Claude NetSuite admin + Claude org owner
NetSuite in Codex Native client Developers who want ERP context in their coding client Medium — config file and OAuth callback Low to medium The developer
Community local bridge Community Clients that cannot do Oracle's remote OAuth flow High — you are vetting a dependency High You, including security review
CData local MCP server Vendor OSS Read-only local SQL-style access through CData JDBC Medium-high — driver and Java config Medium-high You, plus CData driver upkeep
OpenSuiteMCP (self-host UI) Source-available A ready-made, self-hosted NetSuite chat UI on Oracle's endpoint Low to medium — Docker plus NetSuite admin Low to medium Unstacked Apps; you host and review it
Custom MCP tools Custom Named workflows the standard tools cannot express High — SuiteScript and SDF High Your developers, as production code
Zapier NetSuite MCP Hosted MCP No-code actions across NetSuite and many apps Low-medium Low-medium Zapier, plus your Zapier admin
Composio NetSuite toolkit Agent platform Developers building agents with managed auth Medium Low-medium Composio, plus your agent team
CData Connect AI Remote MCP/data IT/data teams standardizing AI access to many sources Medium Low-medium CData, plus your data admin
Workato Enterprise MCP Enterprise MCP/iPaaS Governed enterprise automations and finance workflows Medium-high Medium Workato admins and recipe owners
Tray.ai Agent Gateway MCP gateway/iPaaS Multi-app agents with RBAC and observability Medium-high Medium Tray admins and workflow owners
Boomi iPaaS Enterprise integration teams wiring NetSuite into processes Medium-high Medium Boomi integration owners
Celigo NetSuite iPaaS NetSuite-centered integration programs Medium Medium Celigo integration owners
MuleSoft NetSuite Connector Enterprise connector MuleSoft estates automating NetSuite with other systems High Medium-high MuleSoft integration owners
Merge Unified API SaaS products embedding customer NetSuite integrations Medium Medium Merge plus your product engineering team
Apideck Unified API Developers normalizing accounting APIs across providers Medium Medium Apideck plus your product engineering team
Kipper managed connector Managed Staff who will never hold a NetSuite login None Low — hosted portal, no code Kipper, with your admin approving the connection

Architecture and access

Path Hosting Authentication Permission model Client type Write capability Main limitation
AI Connector Service + Standard Tools Oracle hosted OAuth 2.0 auth code + PKCE NetSuite role, per connection Any remote-MCP client Role-scoped One role per connection — different access means another role and another connection
NetSuite app in ChatGPT Oracle hosted NetSuite OAuth via the app NetSuite role + workspace app policy ChatGPT Role-scoped Availability varies by plan and workspace; some plans need developer mode
NetSuite connector in Claude Oracle hosted NetSuite OAuth via the connector NetSuite role + Claude org settings Claude Role-scoped Team and Enterprise plans need an Owner to enable it first
NetSuite in Codex Oracle hosted OAuth 2.0 auth code + PKCE NetSuite role Codex Role-scoped Redirect URI has to match the integration record exactly
Community local bridge Your machine + Oracle endpoint Public client + localhost callback NetSuite role, plus whatever the bridge does Local STDIO clients Role-scoped Unreviewed third-party code on a machine that can reach your books
CData local MCP server Local Java process + CData driver CData driver/source credentials Driver connection and NetSuite account permissions Local STDIO clients Read-only Read-only SQL-style layer; driver licensing/configuration still required
OpenSuiteMCP (self-host UI) Self-host (Docker), hosted eval, or your VPC OAuth 2.0 + PKCE via the AI Connector Service NetSuite role, per connection Self-hosted chat UI Role-scoped Source-available third party you host and review; not an Oracle-reviewed build
Custom MCP tools Oracle hosted OAuth 2.0, manual integration record Role, plus the tool's own SuiteScript logic Any remote-MCP client Read-write You own the design, testing, and rollback of anything it can change
Zapier NetSuite MCP Zapier cloud Zapier-managed NetSuite connection Zapier connection plus selected MCP actions Any MCP-compatible client Read-write Action list and task pricing follow Zapier, not Oracle's tool package
Composio NetSuite toolkit Composio cloud Managed OAuth2 Composio connection and tool scopes Agent frameworks and MCP clients Read-write Tool surface and production writes need review
CData Connect AI CData cloud CData-managed source connection CData governance over NetSuite source Remote MCP / AI tools Read-write Commercial data layer, not Oracle's role-native endpoint
Workato Enterprise MCP Workato cloud Platform-managed connections Workato recipes, MCP server config, platform RBAC Enterprise agents / MCP clients Read-write Requires Workato design, governance, and recipe ownership
Tray.ai Agent Gateway Tray.ai cloud Tray-managed connector auth Tray workspace RBAC and tool policy Agents and MCP clients Read-write General governed tool gateway, not NetSuite-only finance Q&A
Boomi Boomi cloud / runtime Boomi connection management Boomi process permissions Boomi workflows and agents Read-write Integration automation; no verified NetSuite MCP endpoint
Celigo Celigo cloud Celigo-managed NetSuite connection Integration flow configuration Celigo flows Read-write NetSuite iPaaS, not verified MCP
MuleSoft NetSuite Connector Mule runtime / Anypoint Connector configuration Mule app policy and NetSuite role/token setup Mule apps/APIs Read-write Enterprise connector, not direct AI-client MCP
Merge Merge cloud Merge-linked customer connection Merge unified API permissions Your product/API client Read-write Normalized accounting API, not MCP
Apideck Apideck cloud Apideck connector auth Apideck unified API permissions Your product/API client Read-write Normalized accounting API, not MCP
Kipper managed connector Kipper cloud One admin-authorized NetSuite connection Kipper permission sets over approved data Slack, Teams, SMS + MCP clients in beta Impossible Scoped to the finance records Kipper reads — not a general NetSuite tool runner

Role-scoped means the path can read or write whatever the selected NetSuite role permits — including nothing beyond View, if that is how the role is built. Hosted platform claims were checked against first-party vendor pages, August 2026. This surface is still moving; re-verify before relying on it.

Developer decision guide

Pick the route by the problem you are solving.

Start with Oracle's NetSuite AI Connector Service when client compatibility is there. Move away from it only when the client, workflow, or audience forces a different shape. Use the permissions guide and SuiteQL guide before production data is involved.

Choose Oracle's official route when

  • Your AI client supports remote MCP, streamable HTTP, OAuth 2.0, and PKCE
  • The Standard Tools SuiteApp covers the use case
  • A NetSuite administrator can create and review the role directly
  • The rollout can live with one role per connection

Choose a local or community bridge when

  • The client only supports a local stdio MCP server
  • Oracle's remote transport or OAuth callback does not work in that client
  • Your team accepts security review, version pinning, and maintenance
  • The package source, dependencies, and callback behavior have been reviewed

Choose a hosted cloud platform when

  • The workflow spans NetSuite plus CRM, ticketing, email, warehouse, or project systems
  • You want managed authentication and platform logs
  • The use case needs actions or automations, not just finance answers
  • You are comfortable with task, tool-call, or enterprise platform pricing

Choose a finance-focused hosted layer when

  • Business users need answers, not raw tools or NetSuite screens
  • Per-user permissions and question-level audit matter
  • The organization wants one governed rollout across Slack, Teams, SMS, and MCP-enabled clients
  • Users should not need NetSuite seats or local client setup

Tools and data

What NetSuite MCP can reach.

The MCP Standard Tools SuiteApp ships four tool families plus room for your own — this is the native NetSuite surface, the ceiling for what a direct connection can reach before a role or a managed layer like Kipper narrows it. Picking the right family for a question matters more than prompt wording.

Tool family Tools Access Best for Watch out for
Record tools ns_getRecord, ns_getRecordTypeMetadata, ns_createRecord, ns_updateRecord Read and write One specific record, by ID or lookup The only write path in the standard set. Gated by the REST Web Services role permission plus create or edit rights on the record type.
Report tools ns_listAllReports, ns_runReport, plus ns_getSubsidiaries, ns_getAccountingBooks, ns_getAccountingContexts, ns_getNexusIds for filtering Read only Standard and custom reports the role can already access Seeing a report in the NetSuite UI does not prove ns_runReport returns the same thing for the connected role. Test the reports your team actually depends on.
Saved-search tools ns_listSavedSearches, ns_runSavedSearch Read only Trusted operational lists and filters finance already maintains Needs Perform Search plus visibility of each search to the role. A saved search still needs a named owner.
SuiteQL tools ns_runCustomSuiteQL, ns_getSuiteQLMetadata Read only Ad hoc structured retrieval, joins, grouped analysis A generated query can be syntactically valid and financially wrong. Read-only is not the same as low-risk.
Custom tools Account-specific Whatever the tool defines Workflows you want encoded once rather than improvised The tool definition, its SuiteScript, its deployment, and the role all matter. Review it like production code.

SuiteQL is the family teams over-reach for. When a figure already exists as a report or a saved search, that is usually the safer answer — the logic has an owner and a history. SuiteQL access explained works through the trade-off in detail, including query limits, field IDs, and pagination.

Entities

Customers, vendors, employees, subsidiaries, departments, classes, and locations — as records and as the scope that filters everything else.

Transactions

Invoices, bills, payments, bill payments, credit memos, vendor credits, sales orders, purchase orders, and their line items.

Items and inventory

Item records, quantity on hand, and bills of materials, subject to the location and subsidiary scope on the role.

Custom records

Account-specific record types. Confirm the record type ID, the field IDs, and the audience restrictions before exposing one.

Reports and saved searches

Standard and custom reports, plus saved searches — the places where your finance logic already lives.

SuiteQL results

Structured rows across records the role can reach, with joins and aggregation SuiteQL supports.

None of that is a guarantee. Actual access depends on six things.

  • Which tool package is installed — no SuiteApp means no standard tools to expose
  • Which endpoint the client points at: the SuiteApp URL or the /all namespace
  • Which NetSuite account features are enabled, and on which release
  • Which role was selected at OAuth consent — not which role the person usually uses
  • That role's record, report, saved-search, and SuiteQL permissions, reviewed separately
  • The client's own limits — roughly 5,000 rows per call, plus token and timeout ceilings

Permissions & security

Eight layers, and they fail independently.

The most expensive mistake in a NetSuite MCP rollout is fixing a failed prompt by widening the role. Account features, SuiteApps, OAuth, connection permissions, record access, report access, the write gate, and the AI client's own policy are separate switches. Find the one that failed.

REST Web Services causes more confused debugging than anything else, because it is two different things with the same name. As an account feature it lets you install the Standard Tools SuiteApp. As a role permission it lets that role reach records — including creating and updating them. Enabling the feature does not grant the permission, and a read-only Q&A role should have the feature on account-wide and the permission off.

The connection is not read-only by nature. ns_createRecord and ns_updateRecord ship in the standard set. Read-only is something you design.

Layer What it controls What to check Owner
Account features Whether the AI Connector Service path can run at all Server SuiteScript and OAuth 2.0 always; REST Web Services to install the Standard Tools SuiteApp NetSuite administrator
SuiteApps Which tools exist to be exposed MCP Standard Tools; optionally the Companion prompt library or your own custom tool package NetSuite administrator
OAuth and integration record Which client can authenticate, and where the callback goes Auto-created for the Standard Tools route; manual for custom tools and local bridges NetSuite admin + AI-client admin
MCP connection permissions Whether a role may use the service at all MCP Server Connection and Log in using OAuth 2.0 Access Tokens, both under Permissions › Setup NetSuite administrator
Record permissions Which records and fields can be read or changed Transaction, list, setup, and custom-record permissions, at View unless a tested write workflow needs more Role owner
Report and search permissions Which reports run and which saved searches are visible Report access plus Perform Search, and the subsidiary or classification scope each one needs Role owner
Write gate Whether the two write tools appear at all REST Web Services as a role permission, on top of create or edit rights for the record type Role owner
AI-client controls Which app, connector, or MCP server users may reach Workspace app policy, org-level connector enablement, developer mode ChatGPT, Claude, or Codex admin
  • Is the connection running on a dedicated non-administrator role? Oracle blocks Administrator and full-permission roles outright.
  • Does that role hold MCP Server Connection and Log in using OAuth 2.0 Access Tokens — not the older, similarly named Log in using Access Tokens?
  • Is the REST Web Services role permission off, so ns_createRecord and ns_updateRecord never appear?
  • Are Accessible Subsidiaries and cross-subsidiary viewing scoped deliberately rather than set to All for convenience?
  • Are custom records included only where someone has confirmed the record type, fields, and audience?
  • Has the integration record been reviewed, and is token revocation documented for when someone leaves?

The one-minute acceptance test

Connect, ask the client to list its available NetSuite tools, and confirm ns_createRecord and ns_updateRecord are absent. If they appear on a role you meant to be read-only, fix the role before anyone asks a real question.

Least-privilege role matrices for AR, AP, inventory, and executive access

Setup at a glance

The NetSuite half barely changes.

Features, SuiteApp, dedicated role, assignment — that work is the same whichever client you connect. What differs is the client half and the one thing most likely to trip you up. Each row links out to the guide for that path.

Path In NetSuite In the client The thing that catches people Full guide
ChatGPT Features, SuiteApp, scoped role Apps › search NetSuite › Connect › Sign in to NetSuite Confirm the app is visible on your plan and workspace before touching NetSuite permissions ChatGPT guide →
Claude Features, SuiteApp, scoped role Search and tools › Add connectors › paste the Standard Tools Server URL › Connect Adding the connector is not connecting it; Team and Enterprise need an Owner to enable it first Claude guide →
Codex Features, SuiteApp, scoped role Plugins › NetSuite, or [mcp_servers.netsuite] in ~/.codex/config.toml then codex mcp login Register the exact redirect URI Codex presents, including port and path Codex guide →
Local bridge Features, SuiteApp, public-client integration record, scoped role Reviewed and pinned package in your MCP client config, with env vars in the config block The callback port in NetSuite and in your client config must match exactly Local bridge guide →
Custom tools Features, tool package via SDF, manual integration record, scoped role Point the client at the /all namespace endpoint No integration record is created for you on this path SuiteQL & tool choice →
Kipper One admin-authorized connection with a scoped role Invite users and set permissions in the Kipper portal Review the Kipper permission sets and the source NetSuite role — they are two control planes Kipper connector →

Agents & automations

Build the read path first.

Six patterns that the standard tools genuinely support, with the tools each one needs and whether it requires the write gate open. An agent that reads badly gives someone a wrong number; an agent that writes badly is a record somebody has to find and clean up.

Pattern Concrete example Tools Writes? Design note
Retrieval agent Answer "is invoice 10234 paid?" or "what is the quantity on hand for SKU-9032?" on demand Record tools, SuiteQL No The safest thing to build first, and the one that proves the role, endpoint, and client all point at the same account.
AR follow-up preparation List customers with invoices past 60 days, with amount and oldest due date, and draft the outreach for a person to send SuiteQL or a saved search No Draft, never send. The agent assembles the list; a human owns the customer relationship.
AP payment-run preparation List vendor bills coming due inside seven days, grouped by vendor, for a human to approve Saved search, record tools No Preparation is read-only. The approval and the payment stay in NetSuite, with NetSuite's own approval routing.
Inventory watch Flag items below a threshold on hand in one location and post the list to a channel SuiteQL, record tools No Give it an explicit threshold and location. "Anything unusual" is not a specification an agent can honor.
Report assistant Run an AR aging summary for one subsidiary and summarize the movement since the last run ns_runReport with ns_getSubsidiaries No Test the specific report first. Report parity with the UI has to be proven per report, not assumed.
Record maintenance Update a named field on a specific record after a human confirms the change ns_updateRecord Yes The only pattern here that needs the REST Web Services role permission. Scope it to one record type and keep a human in the confirm step.

Guardrails worth writing down before the first run.

NetSuite's approval routing, period locks, and audit trail already exist. An agent should feed them, not go around them.

  • Test every workflow in a sandbox account first, with a sandbox-only role
  • Keep the write gate closed until a named, tested workflow needs it — then open it for one record type, not for the role
  • Put a human approval step in front of anything that creates, updates, approves, submits, or sends
  • Make write calls idempotent: target a specific internal ID, and check current state before changing it
  • Give the agent a role of its own so the execution log attributes calls to the automation, not to a person
  • Log the prompt and the answer on your side — NetSuite's execution log records tool calls, not what anyone asked
  • Re-run the tool-discovery check after any role change; permissions drift and tool lists change with them

Two follow-ups worth having open while you build: the permission model for scoping the agent's own role, and SuiteQL access explained for row limits, pagination, and why a query can be valid and still wrong.

No code required

If you only want answers, skip the server.

Nobody needs to maintain an MCP bridge to find out whether an invoice is paid. Use an approved ChatGPT or Claude connection if the people asking already hold NetSuite seats, or a managed connector when they never will. These are the questions that come up first, and the tool family that answers each. For the longer list, grouped by who asks, see 30 questions you can ask AI about your NetSuite data.

Accounts receivable

Sales and account reps

  • "Which customers have invoices more than 60 days overdue?"
  • "Is invoice 10234 paid?"
  • "What is this customer's open balance?"

Usually · SuiteQL or an AR saved search

Accounts payable

Procurement and ops

  • "Which vendor bills are due in the next seven days?"
  • "Have we paid this vendor's last bill?"
  • "What is outstanding on this purchase order?"

Usually · Record tools, saved search

Sales orders and quotes

Sales and customer service

  • "What open sales orders does this account have?"
  • "What is the status of this order?"
  • "Which quotes are still open for this customer?"

Usually · Record tools, SuiteQL

Inventory

Warehouse and service staff

  • "What is the quantity on hand for SKU-9032?"
  • "Which items are below their reorder point in this location?"
  • "What is on the bill of materials for this assembly?"

Usually · SuiteQL, record tools

By class or department

Cost-center and project owners

  • "Which invoices in my department are still unpaid?"
  • "What purchase orders are open against this class?"

Usually · SuiteQL with the class or department filter

Period lookups

Executives away from a desk

  • "How much did we invoice this month compared with last month?"
  • "Which invoices issued in the period are still open?"

Usually · SuiteQL, or a report run with ns_runReport

Two honest caveats. Report-shaped questions — a period AR aging summary, or a figure scoped to one subsidiary — run through ns_runReport on Oracle's native path and depend on the role's report permissions, so test the specific report. And month-end close, reconciliation, and budget-versus-actual work are processes finance runs inside NetSuite, not lookups an MCP tool answers — treat those as out of scope for any of these routes.

Side by side

Oracle-native or a managed layer?

These are not competing versions of the same thing. Oracle's service connects a client to NetSuite tools. A managed layer answers questions for people who will not be configuring a client. Nine dimensions where the difference actually shows up.

Dimension Oracle-native path Kipper managed connector
Who owns setup NetSuite admin, plus the AI client's workspace admin Kipper onboarding, with your admin authorizing one connection
Per-person cost of adding someone Another NetSuite user, another role assignment, another role to review A permission grant in the Kipper portal — no NetSuite login
Maintenance Features, SuiteApp updates, integration records, roles, and one client config per user One connection Kipper maintains
Business-user accessibility Assumes the user understands records, roles, reports, and tool calls Plain questions in Slack, Teams, SMS, and MCP clients in beta
Permission governance NetSuite roles — powerful, and the only lever you have Kipper permission sets over the approved connection, reviewed alongside the source NetSuite role
Write exposure A role design decision. Two write tools ship in the standard set Read-only by architecture — there is no write path to enable
Audit trail NetSuite execution logs record tool calls per integration record Every question and answer logged, on top of the NetSuite side
Customization Unlimited, via custom SuiteScript tools Bounded by the finance records Kipper reads
Cross-interface reach Whichever MCP client each person configures One connection behind Slack, Teams, SMS, and the MCP beta

Kipper does not replace Oracle's AI Connector Service or its role model — a NetSuite admin still authorizes a scoped connection. See the NetSuite MCP connector, or a governance-first read of the native route in what finance teams still need to check.

Known limits

Fourteen things to know before the rollout plan hardens.

Limitation Practical effect
Administrator role blocked Oracle refuses the AI Connector Service on Administrator or any full-permission role. Role design is unavoidable work, not optional hardening.
One role per connection The connection sees exactly what that one role sees. Different access for different people means another role and another connection.
Per-user NetSuite seats The connected identity is a NetSuite user, so a broad rollout is a licensing question before it is a technical one.
Client compatibility Clients need remote MCP, streamable HTTP, protocol version 2025-06-18, and OAuth 2.0 auth code with PKCE. Not every client does all four — which is the whole reason local bridges exist.
Plan and workspace gating ChatGPT availability depends on plan and workspace app policy, and some plans require developer mode. Claude Team and Enterprise need org-level enablement.
Report parity is not guaranteed ns_runReport runs reports the role can access, but matching a UI report exactly still needs testing per report.
Saved-search visibility A saved search has to be visible to the role, and its definition still needs an owner who understands the logic inside it.
Row and token ceilings AI clients typically handle around 5,000 rows per call. Large extracts time out rather than paginating quietly.
SuiteQL is not portable SQL SuiteQL supports SQL-92 or Oracle SQL syntax but not both in one query, over NetSuite's own records, fields, and functions. Queries from a warehouse rarely run unchanged.
Custom records need groundwork Record type IDs, field IDs, and audience restrictions vary per account. Confirm all three before exposing one.
Write tools ship by default The standard set includes ns_createRecord and ns_updateRecord. The connection is read-only only if you leave the REST Web Services role permission off.
Local bridges are unreviewed Community packages are not developed or verified by Oracle. Read the source, pin the version, and treat it as a dependency with access to your books.
Audit trail is NetSuite-side Execution logs record tool calls, not the question a person typed or the answer they were shown.
The surface is still moving Oracle, OpenAI, and Anthropic are all shipping into this. UI labels, availability, and tool lists change — re-verify before a rollout plan hardens.

Diagnose fast

Identify the path before you change anything.

A ChatGPT availability problem, a Claude org-enablement problem, a Codex transport problem, and a bridge callback problem all look like "NetSuite isn't working." They fail in completely different places.

Where Symptom Likely cause What to do
ChatGPT NetSuite is not in the directory Plan eligibility, workspace app policy, or a plan that needs developer mode Check the directory under both Apps and Plugins, then ask the workspace admin — do not change NetSuite permissions first
Claude Connector will not add Server URL copied wrong, or the org has not enabled it Use the exact account ID in the SuiteApp URL; on Team or Enterprise have an Owner enable the connector
Codex Server listed but disconnected Transport mismatch, wrong profile, or invalid config syntax Check ~/.codex/config.toml, then codex mcp list and codex mcp get netsuite
Local bridge OAuth callback never completes Port conflict or a redirect URI that does not match the integration record Align the callback port in the client config with the Redirect URI in NetSuite, character for character
OAuth Role is rejected, or missing from the picker Administrator or full-access role, an unassigned role, or a stale NetSuite session Assign the role to the signing-in user, sign out of NetSuite completely, then retry
Permissions Connected, but no tools appear Missing SuiteApp, wrong endpoint, or a role without MCP Server Connection Install MCP Standard Tools, check the SuiteApp versus /all endpoint, then reconnect in a fresh session
Record tools Read tools work, record writes fail The role is missing the REST Web Services permission Add it only if this role is genuinely meant to change records
Reports A report the role can open in NetSuite will not run Report shape does not survive the round trip for that role Try a saved search or SuiteQL for the same figure, and test report support per report
SuiteQL Query fails or returns nothing Wrong field IDs, unsupported syntax, mixed SQL dialects, or a role limit Call ns_getSuiteQLMetadata first, then simplify to one table and add joins back one at a time
Full troubleshooting guide, with the ten-step diagnostic sequence

Cost compared

What each path actually costs.

Oracle does not publish NetSuite seat pricing, so the honest framing is structural rather than numerical: on every native path the connected identity is a NetSuite user, which makes a broad rollout a licensing conversation before a technical one. Budget the recurring internal cost too — role design, sandbox testing, and log review do not stop after go-live.

Path Software Hosting / infra Ongoing cost Notes
AI Connector Service + Standard Tools Oracle capability plus a SuiteApp install Oracle hosted NetSuite licensing, per connected user Availability depends on account features and release. Oracle does not publish seat pricing.
ChatGPT, Claude, or Codex AI client subscription Vendor cloud Plan dependent, per user An AI plan buys the client, not NetSuite access — the NetSuite seat and role still apply
Community local bridge Free open-source package The developer's machine Your time, plus a real security review Free to install, not free to own. Budget the review and version pinning.
CData local MCP server Free open-source server Local Java + CData JDBC driver Driver licensing plus your config/support time Read-only server; CData Connect AI is the commercial hosted route.
Custom MCP tools Your SuiteScript and tool definitions Oracle hosted Developer build plus admin maintenance Highest ceiling, highest carrying cost. Price it like an internal integration.
Zapier NetSuite MCP Zapier subscription None for the customer Plan and task usage Useful for action automation; budget around task/call volume.
Composio Usage-tier subscription None for the customer Published free and paid tool-call tiers Best priced as an agent platform, not a finance seat replacement.
CData Connect AI Subscription None for the customer Subscription / plan dependent Remote MCP plus enterprise data connectivity across many sources.
Workato / Tray.ai / Boomi / Celigo / MuleSoft Enterprise platform subscription Vendor cloud or enterprise runtime Contract and implementation dependent These are integration platforms; implementation effort is part of the price.
Merge / Apideck Unified API subscription Vendor cloud Subscription and usage dependent Most relevant to SaaS products embedding NetSuite integrations.
Security and admin review Internal time per rollout Role design, sandbox testing, and log review are the recurring cost every native path shares
Kipper Subscription None for the customer $1,000/month — up to 20 active users, plus $25/month per additional active user Request a demo. Billed on active users, not provisioned seats.

Kipper bills on active users — people who ask at least one billable question in a calendar month — not on provisioned seats. Full detail on the pricing page.

The bottom line

Your next step, by who you are.

Developers

Start with Oracle's hosted connector — point a remote-MCP client at the Standard Tools endpoint and authorize with a scoped role. Reach for a local bridge only when your client cannot complete Oracle's remote OAuth and streamable-HTTP flow, and for custom SuiteScript tools only when a workflow needs logic the standard tools cannot express.

Set up NetSuite MCP locally

Agent & automation builders

Managed gateways — Zapier, Composio, Workato — expose NetSuite actions to your agent without running a server, but they're built to act. Decide read-vs-write first, give the automation its own scoped role, and keep a human in front of every write.

The six ways to connect AI to NetSuite, compared

IT & data teams

If your team thinks in SQL and wants one governed query surface, SuiteQL through the AI Connector is the data route — scoped by the NetSuite role rather than a separate permission model. CData fits when you're standardizing AI access across many sources.

NetSuite MCP SuiteQL access explained

Finance, ops & the whole company

You don't need to run an MCP server to get answers out of NetSuite. When the people asking will never hold a NetSuite seat — and read-only access, per-user permissions, and an audit trail are requirements — a managed layer connects once and answers in Slack, Teams, SMS, and AI clients.

See Kipper's NetSuite MCP connector

FAQ

NetSuite MCP: frequently asked questions

The questions NetSuite admins, developers, security reviewers, and finance teams ask most.

NetSuite MCP is the use of the Model Context Protocol to let an AI client call approved NetSuite tools. Oracle's implementation is the NetSuite AI Connector Service: a NetSuite-hosted MCP endpoint, with tools supplied by a SuiteApp and access governed by the NetSuite role selected when the connection is authorized.
Yes, but not one you download. NetSuite's MCP server is Oracle's hosted AI Connector Service, reached at a URL derived from your account ID. Oracle does not publish a standalone local server, which is why community bridges exist for clients that cannot reach a remote MCP endpoint directly.
Enable Server SuiteScript, OAuth 2.0, and REST Web Services, install the MCP Standard Tools SuiteApp, and create a dedicated non-administrator role with MCP Server Connection and Log in using OAuth 2.0 Access Tokens. Then in ChatGPT open Apps on the sidebar — labeled Plugins in some builds — search for NetSuite, choose Connect, and sign in with that role.
Yes. Codex's Plugins directory lists an Oracle NetSuite entry, and Codex also supports Oracle's endpoint directly through an [mcp_servers.netsuite] block in ~/.codex/config.toml with a url and auth = "oauth". Both land on the same hosted service, the same tools, and the same role boundary.
Yes. Add the NetSuite connector under Search and tools, paste your account's MCP Standard Tools Server URL, then Connect and authorize with your dedicated role. On Team and Enterprise plans an Owner or Primary Owner has to enable the connector for the organization first.
Not by default. The MCP Standard Tools SuiteApp ships ns_createRecord and ns_updateRecord alongside the read tools. Oracle gates them behind the REST Web Services role permission plus create or edit rights on the record type, so a role without those is read-only in practice — but that is a role design decision, not a property of the connector.
Yes. The standard tools include ns_listAllReports, which returns standard and custom reports, and ns_runReport, which runs one — plus helpers for filtering by subsidiary, accounting book, accounting context, and nexus. Whether a given report works depends on the role's report permissions and whether that report's shape survives the round trip, so test the ones your team relies on.
Yes, through ns_listSavedSearches and ns_runSavedSearch. Both are read-only. The role needs Perform Search and the saved search itself has to be visible to that role, so a search that works for one person can be invisible to the connection.
Yes. ns_runCustomSuiteQL runs queries and ns_getSuiteQLMetadata reports which records and fields are reachable. Oracle documents the SuiteQL tools as read-only. Note that SuiteQL supports SQL-92 or Oracle SQL syntax but not both in one query, over NetSuite's own records and fields — queries written for a warehouse rarely run unchanged.
Two always: MCP Server Connection and Log in using OAuth 2.0 Access Tokens, both under Permissions › Setup. A third, REST Web Services, is conditional and appears twice — as an account feature needed to install the Standard Tools SuiteApp, and as a role permission needed only if that role should reach records through it. Enabling the feature does not grant the permission.
Not as an Oracle server. What you can run locally is a community bridge that fronts Oracle's hosted service so STDIO clients such as Claude Code, Cursor, or Gemini CLI can reach it. That bridge is third-party code with a path to your business data — review the maintainer, source, dependencies, and OAuth behavior, and pin the version.
It depends on who is asking the questions. If the people asking already hold NetSuite seats and are comfortable with roles and tool calls, an approved ChatGPT or Claude connection is the shortest path. If the people asking will never get a NetSuite login, a managed layer avoids turning every question into a seat, a role, and a client configuration.
Oracle's AI Connector Service connects an AI client to NetSuite tools, governed by a NetSuite role — one role per connection, one NetSuite user per person asking. Kipper is a managed answer layer over one admin-authorized connection: read-only by architecture, permissions set per user or team in Kipper, and every question and answer logged. Kipper does not replace Oracle's service or its role model.

Want NetSuite answers, not roles to maintain?

Kipper is the managed, read-only route: one authorized NetSuite connection, and answers in Slack, Teams, SMS, and MCP-enabled AI clients — for the people who will never get a NetSuite login.