LangChain+OpenRouter+思科MCP示例
本项目演示了如何将LangChain与OpenRouter结合使用,并集成MCP(模型上下文协议)服务器,特别是Cisco Support MCP服务器。
文件
- index.ts -LangChain代理与Cisco Support MCP服务器集成
先决条件
- OpenRouter API密钥
- 注册地址: 开放路由 - 从仪表板获取API密钥
- Cisco API凭据 (以MCP为例)
- 访问 Cisco API控制台 - 创建应用程序 - 获取您的客户ID和客户密码 - 确保您的应用程序可以访问Bug API、Case API、EoX API和PSIRT API
设置
- 安装依赖项:
npm install- 配置环境变量:
编辑 .env 文件并添加您的凭据:
OPENROUTER_API_KEY=sk-or-v1-your-key-here
CISCO_CLIENT_ID=your_cisco_client_id
CISCO_CLIENT_SECRET=your_cisco_client_secret运行示例
思科MCP示例
npx tsx index.ts这个例子:
- 连接到Cisco支持MCP服务器
- 加载所有可用的Cisco Support API工具(Bug、Case、EoX、PSIRT)
- 将它们转换为LangChain工具
- 创建可以使用这些工具的代理
- 运行有关Cisco漏洞的查询
Cisco MCP查询示例
配置好Cisco凭据后,您可以提出以下问题:
- “搜索思科产品中与‘崩溃’相关的最新错误”
- “查找过去30天内修改的高严重性错误”
- “搜索影响Catalyst 9200系列的错误”
- “获取错误CSCab12345的详细信息”
- “显示产品XYZ的寿命终止信息”
可用的Cisco支持API
MCP服务器提供对以下内容的访问:
- 缺陷API (14个工具)-错误搜索和详细信息
- 案例API (4个工具)-支持案例管理
- EoX API (4个工具)-寿命终止信息
- API磅/平方英寸 (8个工具)-安全漏洞
- 产品API (3个工具)-产品信息
- 软件API (6个工具)-软件发布
- 串行API (3个工具)-序列号查找
- RMA API (3个工具)-退货授权
定制
更改AI模型
在 index.ts,您可以将模型更改为任何OpenRouter支持的模型:
const model = new ChatOpenAI({
model: "anthropic/claude-3.5-sonnet", // Change this
apiKey: process.env.OPENROUTER_API_KEY,
// ...
});热门选项:
anthropic/claude-3.5-sonnetopenai/gpt-4-turbogoogle/gemini-prometa-llama/llama-3.1-70b-instruct
启用/禁用Cisco API
在 index.ts,修改 SUPPORT_API 环境变量:
SUPPORT_API: "bug,case,eox,psirt", // Add or remove APIs选项: bug, case, eox, psirt, product, software, serial, rma,或 all
建筑
LangChain Agent (with OpenRouter)
↓
MCP Client (connects to Cisco Support MCP Server)
↓
Cisco Support APIs (Bug, Case, EoX, PSIRT, etc.)MCP客户端充当LangChain和Cisco支持API之间的桥梁,提供代理可以使用的结构化工具定义。
故障排除
“未找到cookie身份验证凭据”错误
- 确保您正在使用
apiKey不openAIApiKey在ChatOpenAI配置中 - 确保您的
.env文件没有export声明(只是KEY=value)
MCP连接错误
- 验证您的Cisco客户端ID和密码是否正确
- 检查一下
npx mcp-cisco-support可以独立运行 - 确保您可以通过网络访问Cisco的API服务器
TypeScript错误
- 确保
@types/node已安装:npm install --save-dev @types/node - 验证
"type": "module"在...里
