文件管理工具

一款基于NetSuite的SuiteCloud自定义工具,通过NetSuite AI连接器向外部AI客户端提供文件管理功能,包括获取文件、文件夹、文件内容、枚举和创建文件。

  • by JustTanwa
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 JustTanwa/netsuite-mcp-file-tool

使用说明

NetSuite文件柜MCP工具——部署指南

SuiteCloud自定义工具,通过NetSuite AI连接器向外部AI客户端公开文件柜功能。部署后,该工具提供了五个可调用函数: getFiles, getFolders, getFileContents, getEnumerations,以及 createFile.

归因

此工具基于原始 文件柜工具 作者: 蒂姆·迪特里希 (@蒂姆迪特里希),根据 MIT许可证原创的设计、架构和实现完全归功于他。

原始来源已保存,并可在以下网址公开获取 原创博客.

发生了什么变化以及为什么

此版本的脚本和XML对象已升级,以满足 网络套件2026.1这些变化有意地保持最小——原始的逻辑和结构保持不变。仅应用了以下更新:

更改 理由
已添加 @NScriptType CustomTool 到JSDoc标题 原始文件中缺少注释。NetSuite 2026.1要求明确声明这一点,以便将脚本识别并注册为自定义工具类型。
已转换 var 声明 const 和 let 符合ES6+最佳实践和范围界定规则。
将所有函数转换为 async 需要与2026.1自定义工具执行模型兼容,该模型要求每个工具功能都具有异步功能。
已转换 tool 到 toolset 和 exposeto3rdpartyagents 到 exposetoaiconnector 需要与2026.1自定义工具执行模型兼容。
已转换 customtool 到 custtoolset 需要与2026.1自定义工具执行模型兼容。
已添加 outputSchema JSON模式和修改后的描述 描述现在包括明确的用例,以更好地帮助LLM理解如何使用该工具及其返回的内容。

为什么这很重要: NetSuite 2026.1引入了通过AI连接器记录工具调用的功能。为了使日志记录正常工作,自定义工具脚本必须声明 @NScriptType,其功能必须使用 async 签名。如果没有这些更改,工具调用将被执行,但不会被记录在执行日志中,从而导致调试和审计跟踪不可用。


先决条件

在继续之前,请确保已安装以下内容并满足最低版本要求。

要求 最低版本 注意事项
Node.js 22.18.0 运行SuiteCloud CLI需要。
Java SDK 21 SuiteCloud CLI工具链所需。
VS代码 1.11.1 此项目的推荐IDE。
用于VS代码的SuiteCloud扩展 3.1.2 在VS代码中提供SuiteCloud项目脚手架和部署命令。
NetSuite帐户 -- 需要具有管理员/开发人员访问权限的活动NetSuite帐户。

注: 列出的所有版本号都是基于我的机器,其他版本也可以,除非特定工具中记录了特定的兼容性问题。


步骤1-NetSuite设置

在部署SuiteCloud对象之前,必须在您的NetSuite帐户中启用SuiteCloud开发框架(SDF)功能。

  1. 导航至 设置>公司>启用功能.
  2. 点击 SuiteCloud 选项卡。
  3. 定位 SuiteCloud开发框架 并选中该框以启用它。
  4. 定位 OAuth2.0 并选中该框以启用它。
  5. 点击 保存.

步骤2--将VS代码连接到您的NetSuite帐户

在运行部署之前,必须根据您的NetSuite帐户对SuiteCloud CLI进行身份验证。在项目根目录的VS Code中打开一个终端并运行:

suitecloud account:setup -i

交互式提示将指导您通过浏览器连接到您的NetSuite帐户。完成后,您的凭据将存储在本地,并可用于后续命令。

提示: 如果您管理多个NetSuite帐户,则可以运行 account:setup -i 多次。CLI允许您命名每个帐户,并在部署时选择目标帐户。

步骤3——验证部署

在对NetSuite环境进行任何更改之前,请验证项目结构并检查错误。在此步骤中,不会在NetSuite中创建或修改任何对象。

suitecloud project:validate -i

仔细检查输出。任何验证错误或缺少的依赖项都将在此处列出。在继续进行实时部署之前,解决所有报告的问题。

步骤4--部署到NetSuite

验证完成且无错误后,运行实时部署。这将在NetSuite中创建自定义工具对象,上传脚本文件(customtool_file_cabinet.js),并上传JSON模式文件。

suitecloud project:deploy

CLI将在部署时确认每个对象。成功的部署以一个摘要结束,该摘要指示所有对象都已正确处理。

步骤5--在NetSuite UI中确认部署

成功部署后,请验证自定义工具是否在NetSuite中正确注册。

  1. 导航至 自定义>脚本>自定义工具 (2026.1年上市)。
  2. 定位 文件柜工具 在列表中。
  3. 单击工具名称打开其记录,并确认以下内容:
    • 状态为 活跃的.
    • 脚本文件 指向 customtool_file_cabinet.js.
    • 模式文件 指向 customtool_file_cabinet_schema.json.
    • 所有五个工具都列在 工具 选项卡: getFiles, getFolders, getFileContents, getEnumerations, createFile.

故障排除

症状 解决
account:setup 由于身份验证错误而失败 验证您的环境变量设置,您应该能够通过浏览器进行身份验证并正常登录。
project:validate 报告缺少对象 确保在中启用了SuiteCloud开发框架 设置>公司>启用功能。您还可以运行添加依赖关系来解决任何依赖关系问题。
部署后自定义工具不可见 检查JSON架构和XML对象。

其他资源