内容
# NetSuite MCP 服务器(由 CData 构建)
:heavy_exclamation_mark: 本项目构建一个本地的、只读的 MCP 服务器。如需完全远程的 MCP 访问,请查看首个托管的 MCP 平台:[CData Connect AI](https://www.cdata.com/ai/)。如需本地托管、具备完全的读取、写入、更新、删除和操作功能,并简化设置,请查看我们的 [CData NetSuite 的 MCP 服务器](https://www.cdata.com/drivers/netsuite/download/mcp/)。
## 目的
我们创建了这个只读的 MCP 服务器,允许 LLMs(例如 Claude Desktop)查询由 [CData NetSuite JDBC 驱动](https://www.cdata.com/drivers/netsuite/jdbc/) 支持的 NetSuite ライブ 数据。
CData JDBC 驱动通过将 NetSuite 暴露为关系 SQL 模型来连接 NetSuite。
该服务器封装了该驱动程序,并通过简单的 MCP 接口使 NetSuite 数据可用,因此 LLMs 可以通过提出自然语言问题来检索实时信息 - 无需 SQL。
## 设置指南
1. 克隆仓库:
```bash
git clone https://github.com/cdatasoftware/netsuite-mcp-server-by-cdata.git
cd netsuite-mcp-server-by-cdata
```
2. 构建服务器:
```bash
mvn clean install
```
这会创建 JAR 文件:CDataMCP-jar-with-dependencies.jar
2. 下载并安装 CData NetSuite JDBC 驱动:[https://www.cdata.com/drivers/netsuite/download/jdbc](https://www.cdata.com/drivers/netsuite/download/jdbc/)
3. 许可 CData JDBC 驱动:
* 导航到安装目录中的 `lib` 文件夹,通常为:
* (Windows)`C:\Program Files\CData\CData JDBC Driver for NetSuite\`
* (Mac/Linux)`/Applications/CData JDBC Driver for NetSuite/`
* 运行命令 `java -jar cdata.jdbc.netsuite.jar --license`
* 输入您的姓名、电子邮件和“Trial”(或您的许可密钥)。
4. 配置您与数据源的连接(以 Salesforce 为例):
* 运行命令 `java -jar cdata.jdbc.netsuite.jar` 以打开连接字符串实用程序。
<img src="https://github.com/user-attachments/assets/a5b5237b-79c1-472c-8c2f-3f9eb1ac9627" title="CData JDBC 驱动程序连接字符串实用程序." width=384px />
* 配置连接字符串并单击“测试连接”
> **注意:** 如果数据源使用 OAuth,您需要在浏览器中进行身份验证。
* 成功后,复制连接字符串以备后用。
5. 使用以下属性和格式为您的 JDBC 连接创建 `.prp` 文件(例如 `netsuite.prp`):
* **前缀** - 用于公开工具的前缀
* **服务器名称** - 服务器名称
* **服务器版本** - 服务器版本
* **驱动程序路径** - JDBC 驱动程序 JAR 文件的完整路径
* **驱动程序类** - JDBC 驱动程序类(例如 cdata.jdbc.netsuite.NetSuiteDriver)
* **JDBC URL** - 用于通过 CData JDBC 驱动程序连接到您的数据的 JDBC 连接字符串(从上面复制)
* **表** - 留空以访问所有数据,否则您可以显式声明要创建访问的表
```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=
```
## 在 Claude Desktop 上使用服务器
1. 为 Claude Desktop 创建配置文件(claude_desktop_config.json),以添加新的 MCP 服务器,使用以下格式。如果文件已存在,请在配置文件中将条目添加到 `mcpServers` 中。
**Windows**
```json
{
"mcpServers": {
"{classname_dash}": {
"command": "PATH\\TO\\java.exe",
"args": [
"-jar",
"PATH\\TO\\CDataMCP-jar-with-dependencies.jar",
"PATH\\TO\\netsuite.prp"
]
},
...
}
}
```
**Linux/Mac**
```json
{
"mcpServers": {
"{classname_dash}": {
"command": "/PATH/TO/java",
"args": [
"-jar",
"/PATH/TO/CDataMCP-jar-with-dependencies.jar",
"/PATH/TO/netsuite.prp"
]
},
...
}
}
```
如果需要,将配置文件复制到适当的文件夹(以 Claude Desktop 为例)。
**Windows**
```bash
cp C:\PATH\TO\claude_desktop_config.json %APPDATA%\Claude\claude_desktop_config.json
```
**Linux/Mac**
```bash
cp /PATH/TO/claude_desktop_config.json /Users/{user}/Library/Application\ Support/Claude/claude_desktop_config.json'
```
2. 运行或刷新您的客户端(Claude Desktop)。
> **注意:** 您可能需要完全退出或关闭 Claude Desktop 客户端,然后重新打开它,以便 MCP 服务器出现。
## 运行服务器
1. 运行以下命令,以单独运行 MCP 服务器
```bash
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/Salesforce.prp
> **注意:** 服务器使用 `stdio`,因此只能与在与服务器相同的计算机上运行的客户端一起使用。
## 用法详情
配置 MCP 服务器后,AI 客户端将能够使用内置工具读取、写入、更新和删除底层数据。通常,您不需要显式调用工具。只需要求客户端回答有关底层数据系统的查询即可。例如:
* “我的已关闭的成功机会与帐户行业之间的相关性是什么?”
* “我在 SUPPORT 项目中有多少个打开的工单?”
* “你能告诉我今天我有哪些日历事件吗?”
可用工具及其描述列表如下:
### 工具和描述
在以下定义中,`{servername}` 指的是配置文件中 MCP 服务器的名称(例如上面的 `{classname_dash}`)。
* `{servername}_get_tables` - 检索数据源中可用的表列表。使用 `{servername}_get_columns` 工具列出表的可用列。工具的输出将以 CSV 格式返回,第一行包含列标题。
* `{servername}_get_columns` - 检索表的列列表。使用 `{servername}_get_tables` 工具获取可用表的列表。工具的输出将以 CSV 格式返回,第一行包含列标题。
* `{servername}_run_query` - 执行 SQL SELECT 查询
## JSON-RPC 请求示例
如果您正在脚本编写发送到 MCP 服务器的请求,而不是使用 AI 客户端(例如 Claude),那么在调用可用工具时,可以参考以下 JSON 载荷示例 - 遵循 JSON-RPC 2.0 规范。
#### netsuite_get_tables
```json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "netsuite_get_tables",
"arguments": {}
}
}
```
#### netsuite_get_columns
```json
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "netsuite_get_columns",
"arguments": {
"table": "Account"
}
}
}
```
#### netsuite_run_query
```json
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "netsuite_run_query",
"arguments": {
"sql": "SELECT * FROM [Account] WHERE [IsDeleted] = true"
}
}
}
```
## 故障排除
1. 如果您在 Claude Desktop 中看不到 CData MCP 服务器,请确保您已完全退出 Claude Desktop(Windows:使用任务管理器,Mac:使用活动监视器)
2. 如果 Claude Desktop 无法检索数据,请确保您已正确配置连接。使用连接字符串生成器创建连接字符串(参见上文),并将连接字符串复制到属性(.prp)文件中。
3. 如果您在连接到数据源时遇到问题,请联系 [CData 支持团队](https://www.cdata.com/support/submit.aspx)。
4. 如果您在使用 MCP 服务器时遇到问题,或有其他反馈,请加入 [CData 社区](https://community.cdata.com)。
## 许可证
该 MCP 服务器根据 MIT 许可证授权。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的 [LICENSE](./LICENSE) 文件。
## 所有支持的来源
<table>
<tr><td>访问</td><td>Act CRM</td><td>Act-On</td><td>Active Directory</td></tr>
<tr><td>ActiveCampaign</td><td>Acumatica</td><td>Adobe Analytics</td><td>Adobe Commerce</td></tr>
<tr><td>ADP</td><td>Airtable</td><td>AlloyDB</td><td>Amazon Athena</td></tr>
<tr><td>Amazon DynamoDB</td><td>Amazon Marketplace</td><td>Amazon S3</td><td>Asana</td></tr>
<tr><td>Authorize.Net</td><td>Avalara AvaTax</td><td>Avro</td><td>Azure Active Directory</td></tr>
<tr><td>Azure Analysis Services</td><td>Azure Data Catalog</td><td>Azure Data Lake Storage</td><td>Azure DevOps</td></tr>
<tr><td>Azure Synapse</td><td>Azure Table</td><td>Basecamp</td><td>BigCommerce</td></tr>
<tr><td>BigQuery</td><td>Bing Ads</td><td>Bing Search</td><td>Bitbucket</td></tr>
<tr><td>Blackbaud FE NXT</td><td>Box</td><td>Bullhorn CRM</td><td>Cassandra</td></tr>
<tr><td>Certinia</td><td>Cloudant</td><td>CockroachDB</td><td>Confluence</td></tr>
<tr><td>Cosmos DB</td><td>Couchbase</td><td>CouchDB</td><td>CSV</td></tr>
<tr><td>Cvent</td><td>Databricks</td><td>DB2</td><td>DocuSign</td></tr>
<tr><td>Dropbox</td><td>Dynamics 365</td><td>Dynamics 365 Business Central</td><td>Dynamics CRM</td></tr>
<tr><td>Dynamics GP</td><td>Dynamics NAV</td><td>eBay</td><td>eBay Analytics</td></tr>
<tr><td>Elasticsearch</td><td>Email</td><td>EnterpriseDB</td><td>Epicor Kinetic</td></tr>
<tr><td>Exact Online</td><td>Excel</td><td>Excel Online</td><td>Facebook</td></tr>
<tr><td>Facebook Ads</td><td>FHIR</td><td>Freshdesk</td><td>FTP</td></tr>
<tr><td>GitHub</td><td>Gmail</td><td>Google Ad Manager</td><td>Google Ads</td></tr>
<tr><td>Google Analytics</td><td>Google Calendar</td><td>Google Campaign Manager 360</td><td>Google Cloud Storage</td></tr>
<tr><td>Google Contacts</td><td>Google Data Catalog</td><td>Google Directory</td><td>Google Drive</td></tr>
<tr><td>Google Search</td><td>Google Sheets</td><td>Google Spanner</td><td>GraphQL</td></tr>
<tr><td>Greenhouse</td><td>Greenplum</td><td>HarperDB</td><td>HBase</td></tr>
<tr><td>HCL Domino</td><td>HDFS</td><td>Highrise</td><td>Hive</td></tr>
<tr><td>HubDB</td><td>HubSpot</td><td>IBM Cloud Data Engine</td><td>IBM Cloud Object Storage</td></tr>
<tr><td>IBM Informix</td><td>Impala</td><td>Instagram</td><td>JDBC-ODBC Bridge</td></tr>
<tr><td>Jira</td><td>Jira Assets</td><td>Jira Service Management</td><td>JSON</td></tr>
<tr><td>Kafka</td><td>Kintone</td><td>LDAP</td><td>LinkedIn</td></tr>
<tr><td>LinkedIn Ads</td><td>MailChimp</td><td>MariaDB</td><td>Marketo</td></tr>
<tr><td>MarkLogic</td><td>Microsoft Dataverse</td><td>Microsoft Entra ID</td><td>Microsoft Exchange</td></tr>
<tr><td>Microsoft OneDrive</td><td>Microsoft Planner</td><td>Microsoft Project</td><td>Microsoft Teams</td></tr>
<tr><td>Monday.com</td><td>MongoDB</td><td>MYOB AccountRight</td><td>MySQL</td></tr>
<tr><td>nCino</td><td>Neo4J</td><td>NetSuite</td><td>OData</td></tr>
<tr><td>Odoo</td><td>Office 365</td><td>Okta</td><td>OneNote</td></tr>
<tr><td>Oracle</td><td>Oracle Eloqua</td><td>Oracle Financials Cloud</td><td>Oracle HCM Cloud</td></tr>
<tr><td>Oracle Sales</td><td>Oracle SCM</td><td>Oracle Service Cloud</td><td>Outreach.io</td></tr>
<tr><td>Parquet</td><td>Paylocity</td><td>PayPal</td><td>Phoenix</td></tr>
<tr><td>PingOne</td><td>Pinterest</td><td>Pipedrive</td><td>PostgreSQL</td></tr>
<tr><td>Power BI XMLA</td><td>Presto</td><td>Quickbase</td><td>QuickBooks</td></tr>
<tr><td>QuickBooks Online</td><td>QuickBooks Time</td><td>Raisers Edge NXT</td><td>Reckon</td></tr>
<tr><td>Reckon Accounts Hosted</td><td>Redis</td><td>Redshift</td><td>REST</td></tr>
<tr><td>RSS</td><td>Sage 200</td><td>Sage 300</td><td>Sage 50 UK</td></tr>
<tr><td>Sage Cloud Accounting</td><td>Sage Intacct</td><td>Salesforce</td><td>Salesforce Data Cloud</td></tr>
<tr><td>Salesforce Financial Service Cloud</td><td>Salesforce Marketing</td><td>Salesforce Marketing Cloud Account Engagement</td><td>Salesforce Pardot</td></tr>
<tr><td>Salesloft</td><td>SAP</td><td>SAP Ariba Procurement</td><td>SAP Ariba Source</td></tr>
<tr><td>SAP Business One</td><td>SAP BusinessObjects BI</td><td>SAP ByDesign</td><td>SAP Concur</td></tr>
<tr><td>SAP Fieldglass</td><td>SAP HANA</td><td>SAP HANA XS Advanced</td><td>SAP Hybris C4C</td></tr>
<tr><td>SAP Netweaver Gateway</td><td>SAP SuccessFactors</td><td>SAS Data Sets</td><td>SAS xpt</td></tr>
<tr><td>SendGrid</td><td>ServiceNow</td><td>SFTP</td><td>SharePoint</td></tr>
<tr><td>SharePoint Excel Services</td><td>ShipStation</td><td>Shopify</td><td>SingleStore</td></tr>
<tr><td>Slack</td><td>Smartsheet</td><td>Snapchat Ads</td><td>Snowflake</td></tr>
<tr><td>Spark</td><td>Splunk</td><td>SQL Analysis Services</td><td>SQL Server</td></tr>
<tr><td>Square</td><td>Stripe</td><td>Sugar CRM</td><td>SuiteCRM</td></tr>
<tr><td>SurveyMonkey</td><td>Sybase</td><td>Sybase IQ</td><td>Tableau CRM Analytics</td></tr>
<tr><td>Tally</td><td>TaxJar</td><td>Teradata</td><td>Tier1</td></tr>
<tr><td>TigerGraph</td><td>Trello</td><td>Trino</td><td>Twilio</td></tr>
<tr><td>Twitter</td><td>Twitter Ads</td><td>Veeva CRM</td><td>Veeva Vault</td></tr>
<tr><td>Wave Financial</td><td>WooCommerce</td><td>WordPress</td><td>Workday</td></tr>
<tr><td>xBase</td><td>Xero</td><td>XML</td><td>YouTube Analytics</td></tr>
<tr><td>Zendesk</td><td>Zoho Books</td><td>Zoho Creator</td><td>Zoho CRM</td></tr>
<tr><td>Zoho Inventory</td><td>Zoho Projects</td><td>Zuora</td><td>... 还有很多</td></tr>
</table>
连接信息
猜你喜欢
暂无推荐服务器