Netsuite AI连接器和MCP定制工具
此存储库包含任何希望在不通过Claude的情况下连接到NetSuite Connector AI的人所需的信息,并使用Postman和VS Code及其可用工具的组合。
我选择VS Code是因为它内置了MCP服务器和Copilot 免费!
先决条件
您需要安装一些软件才能与此存储库一起使用,但理论上您可以将其调整为您熟悉的任何工具。
- VS代码(版本1.102+,适用于MCP服务器)
- 访问Copliot(应使用Github帐户免费)
- Node.js(版本22.x.x,用于 SuiteCloud命令行界面)
- 邮递员
- NetSuite帐户设置(您需要设置NetSuite角色,并按照以下步骤安装SuiteApp 文档,我建议自定义标准CFO角色并添加所需权限)
前言
我做这一切的动机是,我想尝试NetSuite发布的新工具,但我没有Claude Pro帐户来设置自定义MCP服务器连接器并测试功能。我还想尝试创建新的自定义工具SuiteScript类型,并大致学习和跟上最新技术。所以我做了大量的阅读和研究,得出了你在这个存储库中可以找到的结果。这个存储库是我实验的结果,所以如果你是一个喜欢修补的人,你可以把它作为一个起点。
入门指南
邮递员,为什么?
Postman是一个常用的API测试工具,它允许您快速创建和测试API。Postman将是MCP客户端(NetSuite将是MCP服务器),用于与NetSuite进行身份验证以获取访问令牌,以便以后可以在VS代码中使用它来建立MCP服务器到客户端的连接。
使用Postman,OAuth 2.0非常简单,用户需要登录NetSuite并授权Postman,以便它可以使用代码获取访问令牌。如果你需要更多信息,我建议你阅读 OAuth 2.0授权码授予 (或者请AI总结并向您解释)。不可能为每个应用程序自己创建一个集成记录,因此您需要借助Claude AI集成,这就是为什么您将在示例中看到硬编码的客户端ID。
我有一个收藏 netsuite_ai_connector_mcp_test.postman_collection 您可以将其导入Postman,它应该具有您需要的东西,可以向NetSuite MCP服务器进行身份验证并获取访问令牌。您需要点击几下:
- 将收藏导入邮递员
- 点击收藏名称
- 单击“变量”子选项卡,并将您的NetSuite帐户ID添加到
ACCOUNT_ID变量 - 点击“Auth”子选项卡,向下滚动并按“获取新访问令牌”
- 登录NetSuite(希望您已经准备好了非管理员角色),阅读风险和安全消息,然后单击“允许”(也可以是“继续”)
在此之后,您将获得访问令牌,您可以使用该令牌发送工具列表的消息并测试可用的示例工具。(没有人工智能,只需阅读文档并发送JSON-RPC 2.0消息)。
VS Code,为什么?
VS Code是一个用于代码编辑的填充工具,今年夏天,微软宣布为所有人提供免费的Copilot(有限制),因此您需要将VS Code连接到Github,以便跟踪您的使用情况。它还附带了MCP服务器,因此您可以在Copilot上使用您设置的列出的MCP服务器的代理模式。
在文件夹中,您将找到 .vscode/mcp.json 该文件设置了如何配置MCP服务器以连接到NetSuite等远程MCP服务器。您需要将从邮差处收到的访问令牌复制到 ACCESS_TOKEN 适当的 env 部分(你不能错过,文件很小)。您还需要输入您的NetSuite ACCOUNT_ID 就像你在《邮差》中一样。设置好后,您可以按 Start 要连接到Netsuite MCP服务器,您已经可以从那里开始在代理模式下使用Copilot与MCP服务器进行交互。
您还将使用VS Code编写自定义工具包脚本文件和其他项目文件。
Node.js,为什么?
Node.js是流行的JavaScript运行时环境,它附带了一个名为 npm由于VS Code原生MCP服务器只能连接到远程MCP服务器,您可以在那里设置重定向URI,因此在这种情况下无法使用它,因为目前无法在Netsuite中创建集成记录,并且必须依赖Claude AI的集成记录。因此,来拯救一个名为的Node包 mcp-remote@latest 用于远程而非本地调用MCP服务器。
仅配置到 .vscode/mcp.json 这是必需的,这样vscode就可以运行Node Pack Executor(npx)命令来运行上述包。
您需要安装的一个软件包是SuiteCloud Development Framework CLI,这是通过以下方式实现的 npm install -g @oracle/suitecloud-cli,这样做是为了使命令 suitecloud 您可以使用它来设置NetSuite项目、链接NetSuite帐户和部署自定义工具。
预定义MCP工具列表
自定义工具包脚本
此脚本是新的,它允许您使用大多数标准NetSuite N模块(http、https和搜索除外)来实现一些您希望AI客户端能够代表用户执行的自定义逻辑。对于这个例子,我从官方网站获取了示例代码 NetSuite自定义工具 在尝试创建自己的函数之前,确保我能让它工作。我想测试一下 N/sftp 因此,我决定将其作为我将探索的用例的一部分,这个想法是,如果NetSuite连接到某个SFTP(或多个SFTP),用户可以提示AI为他们获取文件,并对这些文件执行某些操作。编写这些自定义工具脚本非常直观,而且还必须为函数创建模式。
挑战
- 我最初想使用VS Code的内置配置将VS Code与NetSuite AI连接器(MCP服务器)连接起来
MCP: Add Server但是不可能像使用Postman那样使用VS Code更改授权的重定向URI,所以我决定使用Postman进行访问令牌获取步骤,然后复制到VS Code。
- 上的环境变量
mcp.json文件是我想在文件之外存储的东西,作为.env文件,但此文件在mcp.json在发射期间。我试图使用财产envFile但这显然仅在MCP服务器启动后使用,以便您可以加载以下内容.env进入MCP服务器环境。这意味着您必须将访问令牌粘贴到mcp.json文件,所以我在推送到github时删除了它。
- 未找到自定义工具是我在部署示例工具时遇到的一个问题,似乎需要几个小时才能弄清楚为什么该工具在中不可见
tools/list即使SDF表示已成功部署,也会向MCP服务器发送消息。原来问题是拼写错误,我只是通过比较MCP示例工具的文件才发现这一点,很高兴NetSuite共享了SuiteApp的源文件。要部署工具,您需要设置XML属性exposeto3rdpartyagents向T,因为拼写错误是“exposeto3rdpartyagent”,所以我创建的自定义工具从未部署过。
- 更新:我想尝试使用人工智能代理和环境设置为Netsuite制作那些“氛围编码”的应用程序。因此,第一个挑战是确保AI可以调用命令行工具,如“suitecloud cli”,我遇到了一个问题,因为我使用的是git bash,所以我的“suitecloud-cli”的PATH变量没有正确解析,我也无法让Copilot调用python脚本。所以我不得不改用PowerShell。结合Copilot指令文件和预先安排的脚本,我即将使用Copilot测试提示创建脚本,并通过RESLet进行自动部署和测试。
鸣谢
真棒网络套件ai -这是一个非常有用的存储库,包含NetSuite社区指南和NetSuite Connect AI和自定义工具的见解。
