使用 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。你的点赞是我们持续优化和进步的动力!

相关推荐
专注API从业者17 分钟前
基于 Node.js 的淘宝 API 接口开发:快速构建异步数据采集服务
大数据·前端·数据库·数据挖掘·node.js
前端无冕之王19 分钟前
一份兼容多端的HTML邮件模板实践与详解
前端·css·数据库·html
哈基米喜欢哈哈哈34 分钟前
Kafka复制机制
笔记·分布式·后端·kafka
君不见,青丝成雪1 小时前
SpringBoot项目占用内存优化
java·spring boot·后端
再学一点就睡2 小时前
深入理解 Redux:从手写核心到现代实践(附 RTK 衔接)
前端·redux
追逐时光者2 小时前
一个 .NET 开源、功能强大的在线文档编辑器,类似于 Microsoft Word,支持信创!
后端·.net
想买CT5的小曹2 小时前
SpringBoot如何获取系统Controller名称和方法名称
java·spring boot·后端
天天进步20153 小时前
从零到一:现代化充电桩App的React前端参考
前端·react.js·前端框架
柯南二号3 小时前
【大前端】React Native Flex 布局详解
前端·react native·react.js