Forge MCP 套件
概述
Suite Forge MCP 是一个全栈原型,它结合了 FastAPI 后端和 React(Vite + TypeScript)前端,用于探索将 NetSuite 与智能代理连接起来。该项目提供了一个对话界面,该界面将用户消息代理到一个了解 NetSuite 的连接器,并为使用 NetSuite REST API 进行 OAuth PKCE 认证提供了框架支持。
特点/功能
- 对话式用户界面 –
client/src/components/Chatbot.tsx提供了一个以聊天为主的工作区,支持历史记录切换和暗色模式client/src/contexts/DarkModeContext.tsx。 - 配置模式 –
client/src/components/ConfigModal.tsx和Navbar.tsx暴露NetSuite凭据和AI提供商选择的UI占位符。 - NetSuite 连接器存根 –
client/src/components/NetSuiteConnector.tsx集中调用面向NetSuite的API,用于聊天和数据检索。 - FastAPI 服务 –
server/app/main.py建立一个启用CORS的API,并接入基于PKCE的NetSuiteAuthService在……中定义server/services/netsuite_auth.py。
项目结构
.
├── client/
│ ├── package.json
│ ├── src/
│ │ ├── App.tsx
│ │ ├── components/
│ │ └── contexts/
│ └── README.md (Vite template)
├── server/
│ ├── app/main.py
│ └── services/netsuite_auth.py
└── .env先决条件
- Node.js 20+(用于Vite前端)
- npm 10及以上版本
- Python 3.10+(用于 FastAPI 后端)
环境变量
在运行堆栈之前创建环境文件:
client/.env
VITE_NETSUITE_API_ENDPOINT=http://localhost:8000
VITE_NETSUITE_API_KEY=replace_with_tokenserver/.env*(可选)* – 使用NetSuite OAuth详细信息进行填充,或使用其他密钥管理工具。当前,后端服务期望由调用者提供配置NetSuiteAuthService。
安装
导出Python库
cd serverpip freeze > requirements.txt
客户
cd clientnpm install
服务器
cd server- 创建并激活虚拟环境(推荐)。
python -m venv venv创建一个虚拟环境。venv\Scripts\activate激活虚拟环境。- 安装依赖项:
pip install fastapi uvicorn[standard] requests python-dotenv本地运行
启动FastAPI后端
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
uvicorn app.main:app --host localhost --port 8000 --reload # for local development启动Vite前端
npm run dev -- --host默认情况下,Vite 在 http://localhost:5173这已经在后端被列为CORS(跨源资源共享)的白名单中。
开发说明
- PKCE(Proof Key for Code Exchange,证明密钥用于代码交换)挑战流程在
NetSuiteAuthService在内存中保持状态。在生产环境中,请替换为持久化存储。 ConfigModal包含用于通过后端触发NetSuite身份验证的钩子(参见handleNetsuiteAuth)。 一旦实现,将其连接到适当的终端节点。- Tailwind CSS 和暗色模式类已全局应用;请确保
client/src/index.css并且client/src/App.css包括任何主题更改。
下一步行动
- 为(某系统/功能)充实后端接口
/chat,/data以及OAuth回调。 - 持久化对话历史和NetSuite会话状态。
- 添加自动化测试和持续集成(CI)工作流。
