使用 mcp-use 轻松打造连接 LLM 和 MCP 的 Typescript 工具

在开发 AI 应用的过程中,如何高效地整合大型语言模型(LLM)与外部服务或工具,是开发者常遇到的挑战之一。mcp-use 正是为了简化这一过程而生的开源 Typescript 工具库,让你能够快速、安全地将任意支持 LangChain.js 的 LLM 与 MCP 服务器相连,构建灵活强大的智能 Agent。

🌟 为什么选择 mcp-use

mcp-use 提供了统一且简洁的接口,帮助你迅速构建能够自由调用各类工具的智能代理,省去繁琐的整合环节,让你专注于业务逻辑。

✨ 核心特性:

  • 🚦 极致简单:数行代码即可搭建一个可用的智能代理。
  • 🔧 LLM 灵活性:与任意支持工具调用的 LangChain.js LLM 兼容。
  • 🌐 HTTP/SSE 支持:轻松连接 MCP 服务器。
  • 🔄 动态服务器选择:Agent 可实时动态地选择合适的服务器。
  • 🧩 多服务器支持:轻松实现多种 MCP 服务器同时使用。
  • 🔒 工具权限控制:限制敏感或危险工具的调用。
  • 🛠️ 完全定制化:可以基于 LangChain.js 创建自定义 Agent 或实现新的适配器。

⚡ 快速开始

📦 安装依赖

bash 复制代码
npm install mcp-use langchain @langchain/openai dotenv

创建 .env 文件:

ini 复制代码
OPENAI_API_KEY=your_api_key

🛠️ 示例代码

typescript 复制代码
import { ChatOpenAI } from '@langchain/openai';
import { MCPAgent, MCPClient } from 'mcp-use';
import 'dotenv/config';

async function main() {
  const config = {
    mcpServers: {
      playwright: { command: 'npx', args: ['@playwright/mcp@latest'] }
    }
  };

  const client = MCPClient.fromDict(config);
  const llm = new ChatOpenAI({ modelName: 'gpt-4o' });

  const agent = new MCPAgent({ llm, client, maxSteps: 20 });
  const result = await agent.run('Find the best restaurant in Tokyo using Google Search');

  console.log('🔍 结果:', result);
}

main().catch(console.error);

🗂️ 使用配置文件

可通过 JSON 文件统一管理 MCP 服务器配置:

json 复制代码
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

加载配置文件:

typescript 复制代码
import { MCPClient } from 'mcp-use';
const client = MCPClient.fromConfigFile('./mcp-config.json');

🌍 多服务器高级用法

typescript 复制代码
const config = {
  mcpServers: {
    airbnb: { command: 'npx', args: ['@openbnb/mcp-server-airbnb'] },
    playwright: { command: 'npx', args: ['@playwright/mcp@latest'] }
  }
};

const client = MCPClient.fromDict(config);
const agent = new MCPAgent({ llm, client, useServerManager: true });
await agent.run('Search Airbnb in Barcelona, then Google restaurants nearby');

🔐 精细的权限控制

typescript 复制代码
const agent = new MCPAgent({
  llm,
  client,
  disallowedTools: ['file_system', 'network']
});

📖 参与贡献

mcp-use 项目完全开源,欢迎开发者们提出 issue 或发起 PR!

如果你觉得 mcp-use 不错,欢迎给项目一个 GitHub star。你的点赞是我们持续优化和进步的动力!

相关推荐
小二·5 分钟前
ECharts:数据可视化的强大引擎
前端·信息可视化·echarts
蓝婷儿1 小时前
第二章:CSS秘典 · 色彩与布局的力量
前端·css
Wyc724092 小时前
HTML:入门
前端·html
Sunny_lxm2 小时前
自定义列甘特图,原生开发dhtmlxgantt根特图,根据数据生成只读根特图,页面展示html demo
前端·html·甘特图·dhtmlxgantt
熊猫钓鱼>_>3 小时前
建筑IT数字化突围:建筑设计企业的生存法则重塑
前端·javascript·easyui
GISer_Jing5 小时前
前端性能指标及优化策略——从加载、渲染和交互阶段分别解读详解并以Webpack+Vue项目为例进行解读
前端·javascript·vue
不知几秋5 小时前
数字取证-内存取证(volatility)
java·linux·前端
水银嘻嘻7 小时前
08 web 自动化之 PO 设计模式详解
前端·自动化
Zero1017138 小时前
【详解pnpm、npm、yarn区别】
前端·react.js·前端框架