Skip to content
SeamSetTalk to us

All guides

NetSuite MCP servers, skills and AI tools on GitHub: which to use (September 2026)

By Arnaud de Turckheim

Last verified against NetSuite 2026.2

In short

  • A community NetSuite MCP server is an open-source program, usually on GitHub or npm, that connects an AI client to NetSuite through the Model Context Protocol (MCP). Bridges relay to Oracle’s own server, the NetSuite AI Connector Service; independent servers call NetSuite’s APIs with their own credentials.
  • Most setups need none: Claude, ChatGPT, Claude Code, Codex, Copilot Studio, Cursor and VS Code connect to Oracle’s server directly (setup guide).
  • The most-starred dedicated community MCP server, the dsvantien bridge (22 stars), has had no commit since October 15, 2025.
  • Worth a look: joshOrigami/netsuite-developer, the post-je-to-netsuite skill, OpenSuiteMCP, and agent-ready templates built on @hitc/netsuite-types.
  • Check first: last commit, license file, a readable repository behind each npm package, the custom tool format, and token-based authentication (TBA).

Snapshot: September 26, 2026 (NetSuite 2026.2), from the GitHub API, the npm registry, READMEs, source code for flagged rows, and vendor or practitioner videos. Nothing was installed or run against a NetSuite account. SeamSet publishes this guide and is not affiliated with any project listed.

Try anything in a sandbox, with a dedicated non-Administrator role (role guide).

Start with what Oracle gives for free

Oracle offer What you get Where
NetSuite AI Connector Service Oracle’s hosted MCP server; free, per Oracle’s FAQ; refuses Administrator and full-permission roles https://<accountid>.suitetalk.api.netsuite.com/services/mcp/v1/all
MCP Standard Tools SuiteApp 14 tools (records, reports, saved searches, SuiteQL, NetSuite’s SQL dialect) and 3 MCP Apps; two tools write, none deletes All tools
SuiteCloud Agent Skills 10 skills (Universal Permissive License, UPL-1.0), also as 3 plug-ins oracle/netsuite-suitecloud-sdk
Custom tool samples Sample-Toolsets, in the current toolset format oracle-samples/netsuite-suitecloud-samples

Per Oracle’s FAQ, any AI client must support remote MCP, protocol version 2025-06-18, Streamable HTTP, and OAuth 2.0 Authorization Code Grant with PKCE (Proof Key for Code Exchange).

On skills.sh, Oracle’s 10 current skills show about 350 to 900 installs each. Apart from Membrane’s generic connector skill (367), the top NetSuite-specific community skill has 17. Among the NetSuite-specific community projects below, only the SuiteScript type definitions (172) pass 25 GitHub stars; WYRE’s 47 cover a multi-vendor repository.

NetSuite MCP servers and skills on GitHub, compared

“Last commit” is on the default branch; “maintained” means one in the last 90 days (since June 28, 2026). License “None” means GitHub finds no license file: you may read the code, but have no granted right to reuse it.

MCP servers and bridges

Bridges relay to Oracle’s endpoint, so OAuth consent, your role’s permissions, the Administrator block and the MCP execution log still apply. But a bridge holds your tokens and sees every response: Qualifyze vendored dsvantien rather than run @latest from “an unreviewed third-party publisher with OAuth access to production financials”.

Independent servers call REST web services, RESTlets or SuiteAnalytics Connect (Open Database Connectivity, ODBC) with their own credentials. They run with the token role’s permissions, outside the AI Connector’s Administrator block, per-user consent and MCP execution log.

Project Stars Last commit License Access What it adds Verdict
dsvantien/netsuite-mcp-server (npm @suiteinsider/netsuite-mcp) 22 2025-10-15 None (package.json says MIT) OAuth 2.0 + PKCE to Oracle Bridge: local (stdio) relay to Oracle’s /all endpoint; 5 commits Unmaintained; only if you need a bridge, pinned
void-Lu/netsuite-mcp-tools 0 2026-09-01 MIT OAuth 2.0 + PKCE to Oracle Bridge: Windows-only VS Code extension; listens on 127.0.0.1, keeps tokens in memory; docs in Chinese Watch: Windows only
samson10504/odbc-netsuite-mcp 1 2026-08-14 Apache-2.0 TBA for Connect; read Independent: one bounded SELECT per call; needs a Connect license Watch: one commit
alegerber/zed-suitecloud-plugin (npm suitecloud-mcp) 0 2026-07-08 MIT Your SuiteCloud CLI (command-line interface) auth IDs; deploys, uploads files Validate, deploy (with dryRun), import objects; each call can switch the auth ID Use pinned, sandbox auth IDs only
aaronsb/netsuite-mcp 0 2026-07-16 MIT TBA; read, write, delete Independent: records, SuiteQL, saved searches; 6 commits Avoid for new setups
cafeasp/cafeasp-netsuite-cli-mcp-server 2 2026-04-05 MIT TBA; read Independent: CLI and MCP server; all 45 commits on 2026-04-05 Avoid: TBA, unmaintained
CDataSoftware/netsuite-mcp-server-by-cdata 9 2025-10-18 MIT (server) CData JDBC (Java Database Connectivity) driver, licensed or trial; read Independent: three query tools Unmaintained; only with a CData license
ChatFin-Labs/netsuite-mcp 8 2025-11-24 MIT Your RESTlet + JSON Web Token (JWT); read Independent: finance data tools Avoid: npm package missing
maximizeGPT/netsuite-saved-search-mcp (PyPI) 0 2026-05-23 MIT None; exported files Seven tools on saved-search exports Low risk: no NetSuite connection

Also exposing MCP: OpenSuiteMCP (chat interfaces) and WYRE’s plug-in (skills). Also seen: Bolton-Z/ns-mcp-china, a maintained bridge for Chinese AI clients, and Devart’s proprietary server.

Not recommended: glints-dev/mcp-netsuite (one day of commits, June 2025), Kkartik14/MCP-Netsuite (a mock, per its description), manateeit/netsuite-mcp-v3 (last commit August 2025), rtanner1231/netsuite_mpc (“work in progress”, TBA, a runFunction tool) and yanivshoval0104/netsuite-mcp (a delete tool that “deletes immediately”). None has a license file.

Skills and agent instructions

A skill is a folder of instructions (SKILL.md), sometimes with scripts, that an AI agent loads for a task. It grants no access by itself; its scripts use the credentials you give them (Oracle’s skills).

Project Stars Last commit License Access What it adds
joshOrigami/netsuite-developer 24 2026-04-20 CC-BY-4.0 (skill), MIT (helper) No NetSuite access Codex-first rules: explicit environment, no invented field IDs, checks against your metadata exports
tmarsteller/netsuite-accounting-toolkit 0 2026-07-06 MIT per component (one CC-BY-4.0) AI Connector (skill), TBA (helpers) post-je-to-netsuite: preview, confirm, then a journal entry in Pending Approval. Other components write files and journal entry lines
Orderful/orderful-netsuite-skills 7 2026-09-22 Apache-2.0 TBA + Orderful API key; read/write after approval About 40 EDI (electronic data interchange) skills for Orderful’s SuiteApp
WYRE-AI/msp-claude-plugins, netsuite plug-in 47 (whole repo) 2026-08-28 (plug-in folder) Apache-2.0 Client credentials through WYRE’s hosted gateway; 12 read tools Read-only Claude Code plug-in; MCP through the gateway
nazir99/nsq 0 2026-09-24 MIT OAuth 2.0 machine-to-machine (M2M) certificate; read SuiteQL runner and skill; production opt-in on every run
tretuttle/netsuite-skills 1 2026-03-13 None Oracle’s docs get-netsuite-docs: a searchable index of Oracle’s Help Center

Custom tool collections

Custom tools are SuiteScript scripts (@NScriptType CustomTool) deployed with SDF (SuiteCloud Development Framework). Since the September 2026 minor release, the old tool object cannot be deployed; in 2027.1 such tools stop running (build one).

Project Stars Last commit License Access What it adds
JustTanwa/netsuite-mcp-file-tool 2 2026-03-26 None AI Connector; read/write (createFile) File Cabinet tools; the only community tool found in toolset format
BrokenRubik/netsuite-mcp-context-ql 9 2026-03-13 None AI Connector; read Table schemas so the AI writes correct SuiteQL; old tool format

Agent-ready project templates and dev tooling

Most give a coding agent types, lint and tests so wrong code fails fast, without touching NetSuite (agent setup).

Exceptions: mattplant’s template gives the agent yarn deploy (suitecloud project:deploy) to the account of your default auth ID (see check 10), and the Rust CLI connects directly. anagram-dev’s AGENTS.md says not to deploy unless asked.

Project Stars Last commit License Access What it adds
mattplant/netsuite-ts-sdf-template 20 2026-03-17 MIT Your SuiteCloud CLI auth ID; deploys TypeScript SDF template with CLAUDE.md, Copilot instructions, lint and Jest tests
anagram-dev/suitecloud-ts 0 2026-09-25 MIT-0 None TypeScript boilerplate; AGENTS.md says where to change code and how to verify it
headintheclouddev/typings-suitescript-2.0 (@hitc/netsuite-types) 172 2026-09-10 MIT None SuiteScript types, including N/llm; 46,880 npm downloads in 30 days
acdvs/eslint-plugin-suitescript 20 2026-07-17 MIT None ESLint rules for SuiteScript entry points and modules; v3 needs ESLint 9
CreativePlanningBusinessServices/netsuite-cli 0 2026-09-15 None OAuth 2.0 M2M or authorization code; read/write Rust CLI built for agents (JSON output, fixed exit codes) plus a skill

Chat interfaces

Project Stars Last commit License Access What it adds
unstackedapps/opensuitemcp (OpenSuiteMCP) 25 2026-09-25 Sustainable Use License AI Connector + NetSuite login Self-hosted chat with your own Gemini, Claude or OpenAI keys, Oracle and community skills; an MCP server since v5.3
braedonsaunders/com.flux.gantry (Gantry) 18 2026-06-25 MIT SuiteApp; your model provider’s key Finance dashboards and an AI chat that sends data to OpenAI, Claude or OpenRouter

Seen in practice: Prolecto’s Chidi Okwudire ran OpenSuiteMCP with OpenAI’s models (December 2025) and tells viewers to vet its code first (Prolecto, AI Connector setup). Unlike Claude’s directory connector, it needs an integration record you create yourself; its current README says an admin does this once per account.

Which NetSuite MCP server or skill should you use?

  1. Claude, ChatGPT, Claude Code, Codex, Copilot Studio, Cursor or VS Code: connect to Oracle’s endpoint directly (setup); Oracle has no procedure for Cursor or VS Code yet.
  2. A client that fails Oracle’s four requirements: you need a bridge, and the most-starred one is unmaintained. If you use dsvantien, replace @latest in its README config with its only version: "args": ["@suiteinsider/[email protected]"]. That pins its code, not its dependencies (axios ^1.6.0).
  3. A pinned bridge you can review: Qualifyze’s copy of dsvantien also pins @modelcontextprotocol/sdk, commits a lockfile and ships an MIT license file (the original declares MIT only in package.json). Run it from a clone at a fixed commit: its README examples still call the upstream @latest.
  4. Developer agents: Oracle’s skills, plus netsuite-developer for checks against your own metadata. Start from netsuite-ts-sdf-template or suitecloud-ts, with @hitc/netsuite-types and eslint-plugin-suitescript.
  5. An agent that deploys: suitecloud-mcp, pinned (its README runs npx -y suitecloud-mcp), with only sandbox auth IDs on that machine.
  6. Finance writes: the post-je-to-netsuite pattern: preview, explicit confirmation, then an entry in Pending Approval for a person to approve.
  7. Users without a Claude or ChatGPT seat: OpenSuiteMCP with your own model keys. Its license allows internal use and self-hosting but forbids using it to “provide commercial services to third parties”, such as a paid install for a client.
  8. No NetSuite credentials: netsuite-saved-search-mcp on exported saved searches. Watch nsq and odbc-netsuite-mcp: read-only designs, too new to judge.

Known issues in NetSuite AI repos (September 2026)

Project Fact on September 26, 2026 Do this
@suiteinsider/netsuite-mcp No commit since October 15, 2025; no LICENSE file; README runs @latest; tokens in plain JSON in the package’s own folder. npm downloads: 2,485 in May 2026, 217 in August Pin or vendor it; protect the token file
npm netsuite-supermcp, @lysi/netsuite-mcp, netsuite-mcp (samson10504), netsuite-mcp-server (dhineshk24) Linked repository missing, empty or undeclared Skip: you cannot read what you run
ChatFin-Labs/netsuite-mcp README installs @chatfinai/netsuite-mcp, which is not on npm Skip, or build from the source after reading it
BrokenRubik/netsuite-mcp-context-ql, JustTanwa/netsuite-mcp-custom-tool, sari-d-tarabay/netsuite-mcp-custom-tools Old tool object: not deployable since September 2026, stops running in 2027.1. mdsnoc/netsuite-expense-mcp-tools is not a valid SDF object as published Port to toolset (see Common problems)
TBA-based: aaronsb, cafeasp, Orderful Oracle blocks new TBA integrations for SOAP, REST web services and RESTlets from 2027.1; existing ones end tentatively in 2028.2. SuiteAnalytics Connect is excluded, so odbc-netsuite-mcp is unaffected Prefer OAuth 2.0 for new setups
WYRE netsuite plug-in Client credentials, while Oracle documents Authorization Code Grant with PKCE for the AI Connector Ask WYRE before sending your private key
Oracle Sample-Toolsets createCustomer and updateCustomer are marked "readOnlyHint": true; in developer mode, ChatGPT asks for confirmation only on tools not marked read-only (OpenAI docs). The SuiteQL toolset has no <permissions> Set both hints to false; add <permissions> to limit which roles see SuiteQL
Oracle agent skills #1168: netsuite-ai-connector-instructions adds ROWNUM <= 1000 to every WHERE, capping rows before GROUP BY and ORDER BY, so totals can be wrong. #1169: netsuite-sdf-safe-guide gives Map/Reduce 10,000 units per phase; Oracle sets limits per invocation (map: 1,000). Both closed by their reporter, unfixed Edit your local copy (skills guide)

How to vet a repository that is not listed

Run the first five checks from a clone of the repository.

  1. Find the family. /services/mcp/v1 means a bridge; REST record or query paths, RESTlets or a consumer key (TBA) mean an independent server.

    grep -rnEi "services/mcp/v1|services/rest/(record|query)|restlet|consumer.?key" --exclude-dir=node_modules .
    
  2. Compare the npm package with the repository. Read any preinstall, install or postinstall script. The tarball unpacks into package/; for TypeScript, build the repository first.

    npm view <package>@<version> repository.url scripts dist.tarball
    curl -sL "$(npm view <package>@<version> dist.tarball)" | tar -xz
    diff -r package/src ./src
    
  3. List outbound hosts other than NetSuite, your model provider and documentation:

    grep -rnoE "https?://[A-Za-z0-9.-]+" --exclude-dir=node_modules . | grep -v netsuite.com
    
  4. Find where tokens go, and what the OAuth callback listens on. In Node.js, listen(port) without a host accepts network connections, not only local ones. dsvantien does this for up to five minutes at sign-in (with a state check and PKCE); void-Lu binds 127.0.0.1.

  5. Check the license file and commit history.

  6. Test in a sandbox. After one call, open Setup > Integration > Manage Integrations, the tool’s integration record, Execution Log tab, AI Connector Service (MCP) subtab. A bridge’s calls should appear there; an independent server’s will not.

Is a community NetSuite MCP server safe? 10 checks

  1. Know the family. Bridges keep Oracle’s Administrator block, consent and MCP log; independent servers have only the token role’s permissions. Both hold your credentials.

  2. Check the publisher. Oracle’s NetSuite code lives under github.com/oracle and github.com/oracle-samples.

  3. Pin versions. @latest runs whatever was published last, unreviewed. Oracle’s netsuite-owasp-secure-coding skill (OWASP: Open Worldwide Application Security Project) also says to pin skill versions and verify checksums.

  4. Find the tokens. sessions/session.json in the dsvantien package folder (for npx runs, in npm’s cache, ~/.npm by default on macOS and Linux), ~/.ns-mcp/tokens.json (Bolton-Z), ~/.netsuite/config.json (cafeasp). Keep them out of git and out of folders an agent reads.

  5. Know how long a leaked token works. For OAuth 2.0 public clients, Oracle’s defaults are a single-use refresh token valid 48 hours and a new sign-in after 168 hours. TBA tokens do not expire. Revoke leaks (governance guide).

  6. Never put a TBA token on Administrator. The Administrator block is an AI Connector rule; a TBA server acts with its token’s role.

  7. Question hosted gateways. WYRE’s Conduit holds your private key; mySMB’s myHub a TBA token pair. Oracle says it cannot control how outside components handle tokens or data.

    Vendor videos show four more. Like the independent servers above, each reaches NetSuite through the vendor’s own connection:

    • CData Connect AI (CData’s hosted service, not the JDBC-based server in the table), in Claude’s connector directory: a permissions tab allows read-only, or inserts, updates and deletes (CData, Claude demo). That switch lives in CData; the NetSuite role behind it still sets the ceiling (check 9).

    • Peliqan copies NetSuite into its own data cache for Claude to query; the video says Claude can also take actions, such as creating a draft invoice (Peliqan, MCP server). Ask which NetSuite role and authentication method those writes use, where the copy is stored and how often it syncs.

    • Celigo turns APIs built on its connectors, NetSuite included, into token-secured MCP servers that Claude Code can call (Fusion5 and Celigo webinar). Ask which NetSuite role the connection uses and who holds the token: all holders get the same access. Contrary to the webinar, Oracle’s connector uses each user’s own role.

    • Tray hosts an MCP server that Claude Code uses, through Tray’s tray-workflows plug-in (US workspaces only), to build and test workflows. In Tray’s demo, a test record reached NetSuite (Tray, Claude Code sync). The plug-in acts as you in the workspace chosen at sign-in, and test runs “have real side effects”.

      Tray’s NetSuite REST connector (v5.0) holds your M2M private key, so workflows act as the role mapped under Setup > Integration > Manage Authentication > OAuth 2.0 Client Credentials (M2M) Setup; its SOAP connector uses TBA (check 6). At sign-in, choose a workspace whose only NetSuite authentication is a sandbox one.

  8. Keep delete off the role. Oracle’s Standard Tools cannot delete; aaronsb, yanivshoval0104 and a Copilot Cowork plug-in in troystaylor/SharingIsCaring can. Oracle’s Edit level cannot delete; Full can.

    aaronsb puts every record operation in one tool. In Claude Code, a parameter rule blocks only delete; per Anthropic, such rules work on the command line, not in settings files:

    # "netsuite" is the server name you configured
    claude --disallowedTools "mcp__netsuite__manage_netsuite_record(operation:delete)"
    
  9. Set read-only in the role. WYRE’s governance file says a full-access role gives its read-only framing “no teeth at all” (permissions).

  10. Keep production off agent machines. Oracle’s netsuite-sdf-safe-guide skill suggests auto-allowing Bash(suitecloud project:deploy:*), and the SuiteCloud CLI accepts Administrator: keep only sandbox auth IDs there. Oracle warns tools can change after approval, so review updates.

Where NetSuite people discuss AI

Community Link What you find
NetSuite Professionals Slack https://netsuiteprofessionals.com/slack/ Register, then get an email invitation. Channels include #ask-stanley-ai (named on the site) and #ai-netsuite (listed by awesome-netsuite-ai in 2025). Archive: https://archive.netsuiteprofessionals.com/
r/Netsuite, r/SuiteScript https://www.reddit.com/r/Netsuite/ , https://www.reddit.com/r/SuiteScript/ Practitioner threads; several FAQ questions below come from them
Oracle NetSuite Support Community https://community.oracle.com/netsuite/english/ Oracle’s forum: setup and custom tool questions
Oracle SuiteCloud SDK issues https://github.com/oracle/netsuite-suitecloud-sdk/issues Where errors in Oracle’s skills get reported (#1168, #1169)
YouTube NetSuite AI videos Practitioner demos with jump links, and which steps are out of date

Common problems

Symptom Cause Fix
A community custom tool fails to deploy Old tool object Port it to a toolset object: scriptid starting with custtoolset (27 characters max, same as the XML file name), <exposetoaiconnector>T</exposetoaiconnector> instead of exposeto3rdpartyagents, @NScriptType CustomTool, async entry points (custom tools)
Port 8080 is already in use at dsvantien sign-in Another local server holds the callback port; Qualifyze moved its default to 55182 for this reason Set OAUTH_CALLBACK_PORT to a free port and use it in the integration record’s Redirect URI
No tools after dsvantien sign-in Documented in its README Restart the chat or reconnect the MCP server
Custom tools missing, or your role refused Connector setup Use .../services/mcp/v1/all, and a non-Administrator role with MCP Server Connection, Log in using OAuth 2.0 Access Tokens and, for the record tools, REST Web Services (troubleshooting)

FAQ

Is there an official NetSuite MCP server, or do I need one from GitHub?

There is an official one: the NetSuite AI Connector Service, with tools from the free MCP Standard Tools SuiteApp. Claude, ChatGPT, Claude Code, Codex, Copilot Studio, Cursor and VS Code need no GitHub server. Community servers cover other clients, SuiteAnalytics Connect and developer workflows; few are maintained.

Does anyone have NetSuite MCP working on anything besides Claude or ChatGPT?

Yes. Oracle links setup articles for Claude Code, Codex, Copilot Studio and Postman. Any client works if it supports remote MCP, protocol version 2025-06-18, Streamable HTTP, and OAuth 2.0 Authorization Code Grant with PKCE. Otherwise, a local bridge or a self-hosted interface such as OpenSuiteMCP fills the gap.

Do I need a local bridge for Cursor or VS Code?

No. Both connect to remote MCP servers by URL with OAuth, so they can use Oracle’s endpoint. Oracle has no procedure for either; expect to create an integration record (setup guide).

Can I use Gemini CLI with @suiteinsider/netsuite-mcp@latest?

Its README lists Gemini CLI, whose own docs describe remote HTTP servers with OAuth: try Oracle’s URL in a sandbox first (Oracle has no Gemini procedure). If you use the bridge, pin 1.0.2, its only version (October 15, 2025). It stores tokens unencrypted in its own folder.

Is there an open-source Claude skill that is fluent at SuiteQL?

Oracle’s netsuite-ai-connector-instructions has a SuiteQL checklist, and its Finance Analyst skill a 458-line query patterns file; check their row limits against issue #1168 (known issues). In the community, nsq pairs a read-only SuiteQL runner with a skill, and netsuite-developer requires quality checks on non-trivial SuiteQL. Neither is widely adopted yet.

Can a plug-in or MCP server enforce read-only access centrally?

Not on its own. Read-only comes from the NetSuite role: a plug-in that hides write tools still runs with whatever the role allows, as WYRE’s governance file states. Use a dedicated role with view-level permissions.

Sources

Oracle

Third party

What reaches production still needs a review path. SeamSet builds what a NetSuite account is missing that way: sandbox first, tested, documented, approved by your NetSuite admin, with audit and rollback.