MCP
MCP 通常指 Model Context Protocol(模型上下文协议)。
这是一个由 Anthropic 于 2024 年 11 月推出的开源标准协议,旨在解决大语言模型(LLM)与外部数据源、工具和服务之间的连接碎片化问题。它常被业界称为 “AI 时代的 USB-C 接口”。
核心概念与作用
-
统一标准,解决“N×M”难题:
- 过去:如果有 $N$ 个 AI 模型和 $M$ 种外部工具(如数据库、API、文件系统),开发者需要编写 $N \times M$ 个特定的适配器才能让它们互通。
- 现在:通过 MCP,只需开发 $N$ 个支持 MCP 的客户端(集成到模型中)和 $M$ 个支持 MCP 的服务器(封装外部工具)。任何支持 MCP 的模型都可以直接连接任何支持 MCP 的工具,实现了即插即用。
-
核心功能:
MCP 定义了模型与外部系统交互的三种基本原语(Primitives):- Prompts(提示词):预定义的指令模板,帮助模型更好地执行特定任务。
- Resources(资源):允许模型访问外部数据(如文件内容、数据库记录、API 响应),为模型提供“上下文”。
- Tools(工具):允许模型调用外部函数或执行操作(如发送电子邮件、运行代码、查询库存),赋予模型“行动能力”。
-
架构角色:
- MCP Host(宿主):通常是 AI 应用程序或模型客户端(如 Claude Desktop、IDE 插件),负责发起请求。
- MCP Client(客户端):内置在 Host 中,通过标准协议与服务器通信。
- MCP Server(服务器):轻量级的服务程序,封装了具体的工具、资源或提示词逻辑,并向外暴露标准接口。
为什么它很重要?
- 安全性:MCP 设计强调安全边界,模型不能随意访问用户数据,必须通过用户授权连接的 MCP Server 来获取特定资源。
- 生态扩展:开发者可以为常用的软件(如 Slack, Google Drive, GitHub, 本地数据库等)编写一次 MCP Server,所有支持 MCP 的 AI 助手都能立即使用这些功能,无需重复开发。
- 厂商中立:作为一个开放标准,它不绑定于特定的模型厂商,促进了 AI 应用生态的互操作性。
MCP 基础
简单来说,MCP就是让大模型能够更好的使用各类工具的一个协议。大模型本身只会问答,它自己并不会使用外部工具,而MCP的出现, 就等于是让大模型拥有了使用各种外部工具的能力

MCP Host
本质上就是一个支持MCP协议的软件。常见的MCP Host:

MCP Server
本质:本质上是一个node.js 或者 python 的 程序,只不过这个程序的运行符合MCP的规范
背景:这里使用 AI 编程工具做 Cline 做介绍, 在 VS code 中 安装Cline 插件 配置 OpenRouter 后,提问:纽约的天气怎么样?

下面有一个生动的类比解释:
拿iphone 的时钟进行举例: 内置了4个模块,分别解决不同场景的问题

而刚刚Cline 需要安装的OpenWeatherMap 的MCP Server 也内置了两个模块, 这些模块在MCP专业领域叫做Tool, 翻译成中文就是工具,其实Tool 这个词也不太好理解,翻译成函数就比较好理解了

OpenWeatherMap 就有两个函数,分别是 get_forecast 天气预报 和 get_alerts 天气预警,前者的功能是传入经纬度,返回未来几天的天气,后者的功能是传入地区,返回未来几天的气象预警

安装MCP Server
Clien 可以 一键 安装 MCP Server,其实本质上也是让模型自己安装

每一个MCP Server 都有一个对应的github 仓库 ,每一个github 仓库都有一个说明文档,告诉大家如何区安装 MCP server,模型就是通过阅读这个文档来运行程序,新增文件,从而完成MCP 安装的。但是这种安装有很大的不确定性。
有些MCP Host 还不支持自动安装,需要手动安装 , 个人比较习惯 通用性更高,确定性更高的办法手动安装 :

工作流程:

如何使用他人写的MCP Server
MCP Server 市场:

-
去市场超找到 fetch 配置

-
配置到mspServer 的json 文件中

3.使用mcp Server

claude code mcp 安装:
https://www.cnblogs.com/alibaba00/p/19376986
MCP 日志
为什么没有经过我的允许就生成了C:\Users\win.claude\projects\xxxx\408c9b7f-78c6-4bd4-b8f6-de699ba0df19.jsonl 文件
Thought for 7s (ctrl+o to expand)
● 这个文件不是我通过命令创建的,也不是分析过程的一部分——它是 Claude Code 程序本身的会话记录文件(transcript):
- C:\Users\win.claude\projects\xxxx\ 是 Claude Code 的项目数据目录
- 408c9b7f-....jsonl 是当前这次对话的会话 ID,Claude Code 启动会话时就会自动创建并持续写入对话内容,用于支持上下文恢复、/resume 等功能。每次新开对话都会生成一个这样的文件,这是 Claude Code
的固定机制,不经过(也无法经过)我的工具调用。
同理,目录下的 tool-results\mcp-mcpServers-getLog-*.txt 也是 Claude Code 自动落盘的——当 MCP 工具返回结果太大无法直接展示时(比如刚才查的 3.5MB 日志),harness 会自动保存到这个目录再让我按需读取,也不是我主动写的文件。
这些都在你本机 ~/.claude 下,仅用于本地会话功能,不会外传。如果你不想要历史会话记录,可以直接删除对应 .jsonl(只影响历史会话恢复),但当前会话的文件会在对话继续期间持续写入。
配置
本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/19699279

浙公网安备 33010602011771号