news 2026/7/15 1:47:09

LangChain从入门到进阶(7):学会让AI调用MCP「喂饭教程」

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain从入门到进阶(7):学会让AI调用MCP「喂饭教程」

LangChain从入门到进阶(7):学会让AI调用MCP「喂饭教程」

    • 前言
    • 一、MCP是什么?
      • 1.1 传统工具调用的痛点
      • 1.2 MCP的解决方案
    • 二、环境准备
      • 2.1 安装Node.js和npm
      • 2.2 安装Python依赖
      • 2.3 配置环境变量
    • 三、快速开始:第一个MCP应用
      • 3.1 最简单的例子:Web自动化
      • 3.2 使用文件系统MCP服务器
    • 四、使用多个MCP服务器
      • 4.1 同时使用文件系统和GitHub
    • 五、实战案例:智能代码助手
    • 六、进阶技巧
      • 6.1 查看可用的MCP工具
      • 6.2 自定义System Prompt
      • 6.3 错误处理
      • 6.4 使用环境变量配置
    • 七、常见问题与解决方案
      • Q1: MCP服务器启动失败怎么办?
      • Q2: 如何调试MCP工具调用?
      • Q3: 工具调用超时怎么处理?
      • Q4: 如何限制文件系统访问范围?
      • Q5: GitHub Token如何获取?
    • 结语

前言

你有没有想过:

  • 让AI直接访问你的文件系统、GitHub仓库
  • 让AI使用标准化的协议调用各种外部服务
  • 让AI能够与任何支持MCP的工具无缝集成,无需自己写代码

这就是 MCP(Model Context Protocol,模型上下文协议),它是Anthropic推出的开放标准,让AI能够安全、标准化地访问外部数据和工具。

学完这篇,你就能:

  • 理解MCP的工作原理
  • 在LangChain中集成热门MCP服务器
  • 同时使用多个MCP服务器
  • 构建功能强大的MCP驱动的AI应用

一、MCP是什么?

1.1 传统工具调用的痛点

在之前的文章中,我们学习了Tool Calling。但传统方式有几个问题:

# 每个工具都需要单独定义@tool
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 1:04:51

[UUCTF 2022 新生赛]ezpop

1.打开先看代码<?php //flag in flag.php error_reporting(0); class UUCTF{public $name;public $key;public $basedata;public $ob;function __construct($str){$this->name$str;}function __wakeup(){if($this->key"UUCTF"){$this->obunserialize(ba…

作者头像 李华
网站建设 2026/7/15 1:09:02

盛水最多的容器(滑动窗口 双指针)

这道题当然可以暴力求解&#xff0c;O(N^2),但是有时候并不会通过&#xff0c;因此要想一个时间复杂度为O&#xff08;N&#xff09;的方法。如果说用滑动窗口肯定会有人会有疑问&#xff0c;这怎么用&#xff1f;下面直接说解法&#xff1a;首先left与right分别指向数组的两边…

作者头像 李华
网站建设 2026/7/13 16:57:56

深度探究Span:.NET内存布局与零拷贝原理及实践

深度探究Span&#xff1a;.NET内存布局与零拷贝原理及实践 在.NET开发中&#xff0c;高效的内存管理至关重要&#xff0c;尤其在处理高性能、低延迟的应用场景时。Span<T> 类型应运而生&#xff0c;它为开发者提供了一种灵活且高效的内存操作方式&#xff0c;能够显著提升…

作者头像 李华
网站建设 2026/7/13 5:34:28

helm 部署 elasticsearch 栈

说明:本文使用的 chart 仓库名字为 elastic/cloud-on-k8s 地址为 elastic/cloud-on-k8s。 1、添加 repo 源 helm repo add elastic https://helm.elastic.co helm repo update2、安装 eck-operator ⚠️说明:ECK Operator(Elastic Cloud on Kubernetes)本身安装的东西其…

作者头像 李华
网站建设 2026/7/14 18:02:47

Qt定时器线程使用全解析

1.Qt定时器线程使用全解析在Qt框架中&#xff0c;定时器&#xff08;如QTimer&#xff09;的“使用线程”特指其所属线程&#xff08;即创建该定时器的线程&#xff09;必须是由QThread启动并管理、且运行了事件循环&#xff08;exec()&#xff09;的线程。这一规则涉及线程的创…

作者头像 李华
网站建设 2026/7/13 22:54:55

低代码开发的“真香”定律:从排斥到离不开

在数字化工具迭代的历史中&#xff0c;几乎所有颠覆性技术都曾经历过“从排斥到追捧”的转折——智能手机初现时&#xff0c;有人质疑“不如功能机耐用”&#xff1b;云计算普及前&#xff0c;企业担忧“数据放在云端不安全”&#xff1b;低代码开发如今的处境&#xff0c;亦复…

作者头像 李华