项目简介
这是一个基于Model Context Protocol (MCP) 实现的服务器,旨在通过标准化的接口,允许大型语言模型 (LLM) 与模拟的 Oracle NetSuite ERP 系统进行交互。它将常见的 NetSuite 操作(如查询客户、创建销售订单、执行SuiteQL等)封装为可供LLM调用的工具。本项目默认使用模拟后端,不连接真实的NetSuite系统,主要用于测试和演示MCP客户端与特定业务系统集成的场景。
主要功能点
- 工具调用: 暴露一系列与NetSuite交互的工具,LLM可以通过这些工具执行具体任务。
- 数据访问: 提供模拟的数据读取和写入功能,允许LLM获取和更新NetSuite中的记录(如客户、销售订单、发票等)。
- SuiteQL查询: 支持执行模拟的SuiteQL查询,实现更灵活的数据检索。
- 元数据获取: 提供模拟的NetSuite记录元数据查询能力,帮助LLM理解可用的记录类型。
安装步骤
- 克隆仓库: 打开终端,执行以下命令下载项目代码:
git clone https://github.com/Kkartik14/MCP-Netsuite cd MCP-Netsuite - 创建并激活虚拟环境: 推荐使用'uv'工具创建独立的Python环境:
如果未安装'uv',请先安装:'pip install uv'uv venv source .venv/bin/activate - 安装依赖: 在激活的虚拟环境中,安装项目所需库:
uv sync
服务器配置
MCP服务器通过标准输入输出 (stdio) 与客户端通信。要将此服务器与MCP客户端(如 MseeP)连接,您需要在客户端中配置服务器的启动参数。配置信息通常以JSON格式提供,包含服务器名称、启动命令和参数等。
对于本项目,典型的MCP客户端配置应包含以下信息:
- 'name': 服务器的标识名称,例如 "NetSuite Mock Server"。
- 'command': 启动服务器的可执行命令,通常是 '"python"'。
- 'args': 传递给命令的参数列表,指向服务器的入口文件,例如 '["src/server.py"]'。
- 'env': 启动服务器所需的环境变量,本项目需要设置 'MCP_API_KEY',值为 '"default_key"'。
这是一个配置示例的描述,请根据您的MCP客户端的具体界面或文件格式进行配置:
{ "name": "NetSuite Mock Server", "command": "python", "args": ["src/server.py"], "env": { "MCP_API_KEY": "default_key" } }
请在您的MCP客户端中找到添加或配置MCP服务器的选项,并填入或选择相应的启动命令和参数。注意,此配置信息并非直接在终端中执行的命令。
基本使用方法
- 启动服务器: 按照上述配置,在MCP客户端中启动NetSuite MCP服务器。服务器将监听标准输入输出。
- 客户端交互: 启动后,MCP客户端(如LLM应用)将自动通过MCP协议与服务器进行通信。
- 客户端会首先发送 'initialize' 请求获取服务器能力(如可用工具列表)。
- LLM可以根据获取的工具列表和描述,通过 'call_tool' 请求调用具体的NetSuite操作,例如查询客户或创建销售订单。
- 服务器接收请求,执行对应的Python函数(与模拟的NetSuite后端交互),并通过标准输出返回JSON-RPC响应给客户端。
信息
分类
商业系统