logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

cdata-netsuite-mcp-gateway

Facilitates natural language interactions with live NetSuite datasets through a read-only Model Context Protocol (MCP) endpoint, leveraging the CData JDBC Driver to translate NetSuite structures into consumable relational SQL representations.

Author

cdata-netsuite-mcp-gateway logo

CDataSoftware

MIT License

Quick Info

GitHub GitHub Stars 6
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

cdatasoftwarejdbccdatacdatasoftware netsuitenetsuite datacdata jdbc

CData's NetSuite Connector for Model Context Protocol (MCP)

This utility establishes a restricted-access MCP interface for NetSuite.

:warning: This iteration is strictly read-only. For a comprehensive solution supporting full Create, Read, Update, Delete (CRUD) operations, along with enhanced setup simplicity, we highly recommend exploring our complimentary CData MCP Server for NetSuite (Beta release).

Core Functionality

This read-only MCP Server was engineered to permit Large Language Models (LLMs), such as Claude Desktop, to execute dynamic queries against operational NetSuite data. The underlying connectivity is powered by the specialized CData JDBC Driver for NetSuite.

The CData JDBC Driver functions by mapping the native NetSuite environment into standardized, relational SQL schemas. This server component then encapsulates that driver, exposing the NetSuite data structure via a straightforward MCP interface, allowing LLMs to extract live insights using conversational language, effectively bypassing the need for manual SQL formulation.

Deployment Instructions

  1. Acquire Repository: bash git clone https://github.com/cdatasoftware/netsuite-mcp-server-by-cdata.git cd netsuite-mcp-server-by-cdata

  2. Compile Artifacts: bash mvn clean install

    This step generates the necessary executable: CDataMCP-jar-with-dependencies.jar 3. Install Driver: Obtain the CData JDBC Driver package for NetSuite here: https://www.cdata.com/drivers/netsuite/download/jdbc 4. License the Driver: * Navigate to the driver's installation directory (usually under lib): * Windows path example: C:\Program Files\CData\CData JDBC Driver for NetSuite\ * macOS/Linux path example: /Applications/CData JDBC Driver for NetSuite/ * Execute the licensing utility: java -jar cdata.jdbc.netsuite.jar --license * Provide your credentials and use "TRIAL" or your official key when prompted. 5. Establish Connection String: * Launch the connection configuration tool: java -jar cdata.jdbc.netsuite.jar * Utilize the utility to define and test your NetSuite connection parameters. (Note: OAuth flows will redirect to a browser for authentication.) * Once the connection is validated, capture the resulting JDBC connection string. 6. Configure .prp Definition File: Create a property file (e.g., netsuite.prp) detailing the server configuration: * Prefix: Identifier prefix for exposed tools. * ServerName: Logical name for the data access service. * ServerVersion: Version label. * DriverPath: Absolute path to the downloaded JDBC JAR file. * DriverClass: Fully qualified name of the NetSuite JDBC driver class (e.g., cdata.jdbc.netsuite.NetSuiteDriver). * JdbcUrl: The connection string obtained in the previous step. * Tables: List specific tables for exposure, or leave empty () for full schema access. env Prefix=netsuite ServerName=CDataNetSuite ServerVersion=1.0 DriverPath=PATH\TO\cdata.jdbc.netsuite.jar DriverClass=cdata.jdbc.netsuite.NetSuiteDriver JdbcUrl=jdbc:netsuite:InitiateOAuth=GETANDREFRESH; Tables=

Integration with LLM Clients (e.g., Claude Desktop)

  1. Client Configuration Update: Create or modify the client configuration file (e.g., claude_desktop_config.json) to register the new MCP gateway under the mcpServers section, following the platform-specific structure below:

    Windows Manifest Format:

    { "mcpServers": { "{classname_dash}": { "command": "PATH\TO\java.exe", "args": [ "-jar", "PATH\TO\CDataMCP-jar-with-dependencies.jar", "PATH\TO\netsuite.prp" ] }, ... } }

    Linux/Mac Manifest Format:

    { "mcpServers": { "{classname_dash}": { "command": "/PATH/TO/java", "args": [ "-jar", "/PATH/TO/CDataMCP-jar-with-dependencies.jar", "/PATH/TO/netsuite.prp" ] }, ... } }

    • If modifying an existing file, ensure the new entry is merged into the mcpServers object.
    • Persist the updated configuration to the application's designated location (e.g., Claude Desktop's application data directory): Windows Deployment: bash cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json

    Linux/Mac Deployment: bash cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json

  2. Client Refresh: Restart or relaunch the host client application (e.g., Claude Desktop). The newly defined MCP service should now be discoverable.

Important Note: Tool registration often requires a complete application shutdown and restart to take effect.

Direct Server Execution

To run the gateway independently (without client integration): bash java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/netsuite.prp

Constraint: The server communicates via standard input/output (stdio), meaning the invoking client must reside on the same host machine as the server process.

Interaction Guidelines

Once the MCP Gateway is active and accessible by the AI client, the system can interrogate the underlying NetSuite data via conversational prompts. Explicit tool invocation is typically unnecessary; the AI agent determines the appropriate method call based on the query context.

Example Natural Language Inquiries: * "Determine the relationship between finalized sales orders and the associated customer segment codes." * "Summarize the count of open support incidents categorized under the 'Urgent' priority level." * "List all scheduled client meetings for the current calendar day."

Available Methods & Documentation

Tool names below use {servername} as the placeholder derived from your configuration (e.g., netsuite_get_tables).

  • {servername}_get_tables: Fetches metadata detailing all accessible tables within the NetSuite instance. Follow this with {servername}_get_columns to detail specific attributes. Output is presented in CSV format, with the header row included.
  • {servername}_get_columns: Retrieves the schema definition (column list) for a specified table. Use {servername}_get_tables first to identify valid targets. Output is presented in CSV format, including the header row.
  • {servername}_run_query: Executes an arbitrary SQL SELECT statement against the exposed data model.

JSON-RPC Invocation Schemas (For Scripted Access)

These examples adhere to the JSON-RPC 2.0 protocol for direct interaction with the server's methods, bypassing the AI layer.

Calling {servername}_get_tables

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "netsuite_get_tables", "arguments": {} } }

Calling {servername}_get_columns

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "netsuite_get_columns", "arguments": { "table": "Account" } } }

Calling {servername}_run_query

{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "netsuite_run_query", "arguments": { "sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true" } } }

Debugging Common Issues

  1. Visibility Failure: If the CData MCP Gateway is not appearing in the LLM client interface, confirm that the client process was completely terminated (check Task Manager/Activity Monitor) before restarting it.
  2. Data Retrieval Errors: Connection instability often stems from an improperly constructed JDBC string. Verify that the string generated by the Connection String utility was accurately copied into the .prp configuration file.
  3. Connectivity Problems: For issues establishing a link to the NetSuite data source itself, please engage the CData Support Team.
  4. MCP Protocol Feedback: For difficulties specifically related to the MCP server operation or general feedback, utilize the CData Community Forum.

Licensing

This server component is distributed under the permissive MIT License. You are granted rights to use, modify, and redistribute this software, contingent upon adherence to the MIT License terms outlined in the repository's LICENSE file.

Extensive Connector Compatibility

(List of supported sources omitted for brevity, see original table for full scope)

WIKIPEDIA RELEVANCE: Cloud Computing Fundamentals Cloud computing, as defined by ISO, describes a model for ubiquitous, on-demand access to a shared, elastic pool of configurable computing resources, enabling self-service provisioning.

NIST Essential Characteristics (2011): * On-demand self-service: Automated provisioning without human intervention. * Broad network access: Available via standard protocols across varied client types. * Resource pooling: Multi-tenant model dynamically allocating resources. * Rapid elasticity: Ability to scale computing capacity quickly and automatically based on load. * Measured service: Usage is tracked, controlled, and reported transparently across layers (storage, processing, bandwidth).

Historical Context: Initial concepts trace back to 1960s time-sharing. The visual metaphor of the 'cloud' for network services was popularized around 1994 by General Magic, evolving from long-established network diagrams.

See Also

`