程序员就不要把MCP当神话了!MCP协议深度剖析

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

程序员就不要把MCP当神话了!


MCP协议深度剖析--楼兰

​ 之前给大家分享过,现在AI大模型的发展方向是希望更好的将AI大模型与传统的软件能力相结合。现在,这个方向有了更实际的突破。在2024年底,claude大模型的开发公司Anthropic提出了一个MCP(Model Context Protocol)协议。通过MCP协议,可以让应用程序以一种统一的方式向LLM大语言模型提供工具调用。

​ 而随着几千个MCP服务突然冒出,百度、阿里等厂商也开始大规模接入MCP,这个协议也迅速在互联网上引起轩然大波。按照那些流量派见风就是雨的性子,MCP也着实被大吹特吹了一波。我见过最夸张的说法是,23年是AI大模型的元年,24年是Agent的元年,那么25年就是MCP的元年。这个MCP真有这么神奇吗?那我们就分三个步骤来剖析下MCP到底是个什么东东。

  • MCP快速上手
  • 详解MCP工作机制
  • 手写实现MCP服务

一、MCP快速上手


​ MCP最神奇的地方就是只要做下简单的配置,就能完成很多复杂的工作。那这次,我们就先不来介绍MCP那些花里胡哨的概念,直接上手来玩玩MCP。

​ 首先,我们需要使用一个支持MCP的客户端工具。 这类工具现在有很多,以后肯定也会越来越多。这次我们使用一个免费的。 在VSCode中有一个开发插件,Cline。通过这个插件可以快速和AI大模型交互。

安装VSCode和Cline过程略。需要稍微注意下的是,cline插件默认是访问Claude大模型。使用Cline需要先登录。登录时,可以使用google邮箱或者github账号登录。

​ 然后,对Cline插件进行配置,让他访问国内的模型,这样就不需要科学上网了。

在这里插入图片描述

​ 接下来,就可以正常的访问大语言模型了。

在这里插入图片描述

​ 到这里,还一切正常,没什么不同的。接下来,在cline的上方有个小小的MCP Server按钮。通过这里,就可以打开MCP的体验之路。

​ 以高德地图提供的MCP服务为例。高德地图开放平台提供了非常详细的MCP接入介绍: https://lbs.amap.com/api/mcp-server/summary。 只需要在高德开放平台注册账号,登录后,在左侧菜单中选择“应用管理”-》“我的应用”,然后创建新应用,就可以申请一个API-KEY

在这里插入图片描述

​ 有了这个API-KEY之后,在MCP Server按钮的右侧,选择MCP Server。在MCP的配置文件中写入以下内容:

{
   
   
  "mcpServers": {
   
   
    "amap-amap-sse": {
   
   
      "url": "https://mcp.amap.com/sse?key=你在高德官网上申请的key"
    }
  }
}

​ 配置完成,右侧就能看到这个MCP服务被安装上来了。

在这里插入图片描述

​ 接下来,在Cline中,如果你询问和地图相关的一些问题,那么,Cline在调用大模型的过程中,就会自动调用高德地图的MCP服务,获得地图相关的信息。

在这里插入图片描述

并且,最终参考高德地图给出的路线信息,大模型会给出一个完整的路线规划

在这里插入图片描述

​ 到这里,我们就完成了MCP服务的初体验。只需要简单配置一个JSON文件,就可以给大模型提供更多扩展的功能。

​ 当然,除了这里演示到的高德地图的MCP服务外,还有很多五花八门的MCP服务。甚至还有很多MCP的信息聚合网站。比如 https://mcp.so 上,目前就聚合了好几千个各种各样的MCP服务。通过这些服务,我们可以让AI大模型完成聊天以外的各种各样的功能。包括发送邮件、浏览网页等。甚至直接操作本地文件也可以。还有阿里云百炼平台 https://bailian.console.aliyun.com/?tab=mcp#/mcp-market 更是将各种MCP服务聚合成了很多独立的服务。只要开通对应的服务后,就可以在阿里云百炼的智能应用中,用图形化的方式直接集成这些MCP服务。

​ 通过MCP服务,可以让大模型不再只是扮演一个大脑的角色,而是拥有了四肢,直接替代人的工作能力。这样看起来,MCP确实给大模型带来了一次质的飞跃。但是,事实情况真的是这样吗?

​ 作为纯小白,或许你只能跟在别人身后,听风就是雨。但是,作为程序员,我们是有能力更全面的去理解MCP的。


二、了解MCP工作机制


​ MCP协议,全程Model Context Protocol,中文翻译是模型上下文协议。MCP协议是由Anthropic公司提出的,是一个专门用于与AI大语言模型进行交互的协议。但是本质上,MCP协议只是允许应用程序以一种统一的方式向大语言模型提供Function call函数调用。而Function call是很多大语言模型自身就提供的一种功能机制。

​ 例如,通过下面的案例,我们就可以很简单的给大模型提供路线规划的能力。

from config.load_key import load_key
from langchain_openai import ChatOpenAI
# 构建阿里云百炼大模型客户端
llm = ChatOpenAI(
    model="qwen-plus",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    openai_api_key=load_key("BAILIAN_API_KEY"),
)

import datetime
from langchain.tools import tool

# 定义工具 注意要添加注释
@tool(description="规划行车路线")
def get_route_plan(origin_city:str,target_city:str):
    """规划行车路线
    Args:
        origin_city: 出发城市
        target_city: 目标城市
    """
    result = f"从城市 

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roykingw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值