Unified MCP Client Library

Unified MCP Client Library

site icon
2025.04.20 1
TypeScript开发工具自动化代理开发效率
Unified MCP Client Library 是一个开源的 TypeScript/Node.js 库,旨在帮助开发者轻松连接任何大型语言模型(LLM)到任何 MCP 服务器,从而构建具有工具访问能力的自定义代理。该库支持多种功能,包括动态服务器选择、多服务器支持、工具访问控制等,适用于需要自动化工具访问的开发场景。
View on GitHub

Overview

基本能力

产品定位

Unified MCP Client Library 是一个开源的 TypeScript/Node.js 库,旨在帮助开发者轻松连接任何大型语言模型(LLM)到任何 MCP 服务器,从而构建具有工具访问能力的自定义代理。

核心功能

  • 易用性:只需几行 TypeScript 代码即可创建支持 MCP 的代理。
  • LLM 灵活性:支持任何 LangChain.js 兼容的 LLM。
  • HTTP 支持:直接通过 SSE/HTTP 连接到 MCP 服务器。
  • 动态服务器选择:代理可以动态从服务器池中选择合适的 MCP 服务器。
  • 多服务器支持:在一个代理中使用多个 MCP 服务器。
  • 工具限制:可以限制不安全工具(如文件系统或网络)的使用。
  • 自定义代理:可以使用 LangChain.js 适配器或实现新的适配器来构建自定义代理。

适用场景

  • 构建自动化代理,用于网页浏览、文件操作、3D 建模等工具访问。
  • 开发需要动态选择 MCP 服务器的应用。
  • 构建多服务器支持的自定义代理。

工具列表

  • playwright:用于浏览器自动化的工具。
  • airbnb:用于 Airbnb 相关操作的 MCP 服务器。

常见问题解答

  • 如何安装? 使用 npm 安装 mcp-use 和 LangChain.js 及相关 LLM 提供者。
  • 如何配置 MCP 服务器? 可以通过 JSON 配置文件或直接在代码中配置。
  • 如何限制工具访问? 使用 disallowedTools 参数限制不安全工具的使用。

使用教程

使用依赖

  • Node.js 22.0.0 或更高版本。
  • npm、yarn 或 pnpm(示例中使用 pnpm)。

安装教程

# 从 npm 安装
npm install mcp-use
# 安装 LangChain.js 和 LLM 提供者(如 OpenAI)
npm install langchain @langchain/openai dotenv

创建 .env 文件:

OPENAI_API_KEY=your_api_key

调试方式

import { ChatOpenAI } from '@langchain/openai'
import { MCPAgent, MCPClient } from 'mcp-use'
import 'dotenv/config'

async function main() {
  // 1. 配置 MCP 服务器
  const config = {
    mcpServers: {
      playwright: { command: 'npx', args: ['@playwright/mcp@latest'] }
    }
  }
  const client = MCPClient.fromDict(config)

  // 2. 创建 LLM
  const llm = new ChatOpenAI({ modelName: 'gpt-4o' })

  // 3. 实例化代理
  const agent = new MCPAgent({ llm, client, maxSteps: 20 })

  // 4. 运行查询
  const result = await agent.run('Find the best restaurant in Tokyo using Google Search')
  console.log('Result:', result)
}

main().catch(console.error)

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。