MCP核心组件Resources、Prompts、Tools、Sampling、Roots、Transports介绍
MCP协议核心组件详解及交互关系
1. 核心组件定义与功能
1.1 Resources(资源)
定义:服务器提供的静态数据访问接口,支持类文件系统操作,通过URI标识资源路径(如file:///doc.txt或https://api.example.com/data)
功能:
支持只读操作(读取文件内容/查询数据库/获取API响应)
提供结构化元数据(MIME类型/描述)
示例:IDE通过MCP读取本地代码文件作为LLM调试上下文
控制权:用户完全控制资源的可见性与访问权限
1.2 Prompts(提示)
定义:预定义的指令模板,用于优化LLM的输入上下文结构和输出格式
功能:
...
MCP详解
MCP(Model Context Protocol,模型上下文协议)是由Anthropic公司于2024年11月推出的开放协议,旨在标准化大型语言模型(LLM)与外部数据源、工具及服务的交互方式,从而实现AI应用与外部资源的无缝集成。以下是其核心概念的详细介绍:
1. 定义与目标
MCP通过定义通用接口和通信协议,使LLM能够动态访问并整合外部数据(如数据库、API、文件系统)和工具(如开发工具、邮件服务),同时维护对话上下文。其目标是简化AI应用的开发流程,打破数据孤岛,扩展LLM的功能边界,类似“AI领域的USB-C接口”。
2. 核心组件
MCP基于客户端-服务器架构,包含以下核心组件:
MCP主机(Host) :需要访问外部资源的AI应用程序(如Claude D...
使用MyBatis拦截器捕获和拼接完整SQL的实现过程
使用MyBatis拦截器捕获和拼接完整SQL的实现过程
最近要实现一个安全审计功能,需要记录用户操作系统过程中下载数据的所有行为,具体到实际执行的sql,核心需要获取到接口执行过程中所有的sql语句。
拦截器实现以及解释
import org.apache.ibatis.executor.statement.StatementHandler;
import org.apache.ibatis.mapping.BoundSql;
import org.apache.ibatis.mapping.ParameterMapping;
import org.apache.ibatis.plugin.*;
import org.apache.ibatis.session.ResultHan...
控制Swagger访问的动态过滤器实现
控制 Swagger 访问的动态过滤器实现
在现代 Web 应用开发中,为了安全性和便捷性,经常需要在不同的环境下动态控制 API 文档页面的访问。本文将解读一段 Java 代码,展示如何通过一个自定义的过滤器来控制 Swagger 文档的访问权限。
背景
Swagger 是一个流行的 API 文档生成工具,但在生产环境中,通常我们不希望所有用户都能访问这些文档。通过动态配置信息来控制 Swagger 页面的访问,可以帮助提升应用的安全性。
代码实现
以下代码片段展示了如何使用 Java 过滤器来实现这个功能:
import javax.annotation.Resource;
import javax.servlet.Filter;
import javax.serv...
IDEA找不到符号
首选解决办法 直接 “mvn clean install -U” 一键解决
在IntelliJ IDEA中遇到“找不到符号”错误时,通常可通过以下步骤排查和解决:
检查依赖管理
Maven/Gradle项目:执行 mvn clean install 或 gradle build 确保依赖正确下载。
手动刷新依赖:IDEA右侧边栏点击Maven/Gradle图标,选择重新导入项目。
本地仓库清理:删除有问题的依赖目录(如 ~/.m2/repository/ 中的对应包),重新下载。
验证JDK配置
项目JDK:File > Project Structure > Project,确认使用的JDK版本与代码兼容。
模块JDK:在 Project St...
记一次arthas性能分析以及优化
问题反馈
接到实施同事反馈线上某医院的服务导出数据比较久,大数据导出导致服务暂时卡死,影响其他服务正常运行,需要帮忙排查解决,数据量在百万级别。
分析调试工具
IDEA(需要插件arthas idea)
arthas
Postman
Windows PowerShell
分析过程
分析环境准备
idea启动服务并安装插件”arthas ide”,方便快捷使用arthas 命令
官网下载解压arthas,进入目录,右键”此处打开PowerShell”,执行如下启动命令
java -jar .\arthas-boot.jar
选择需要分析的服务序号,比如现在要分析的server服务序号是2
确定需要分析的方法,获...
deepseek搭配cherrystudio搭建本地知识库
老规矩,我们还是先来看看搭建完的知识库效果。
比如,我想让DeepSeek告诉我“吕毅是谁?”。
那么,吕毅到底是谁呢?
其实,我也不知道,他是我从网上下载的一篇网络小说里面的一个男性角色。
那么,为了让大家更加直观地好理解,我们来做个简单的对比。
首先,我们先去官网直接提问看看,这是官方给出的答案。
看来,官方也不知道吕毅是谁(废话)。
然后,在我们搭建完私有化知识库之后,再来提问试试。
OK,看到了吧,这就是知识库的意义所在。
那么……科普时间到了。
一、什么是知识库?
知识库(Knowledge Base)是一个存储和管理知识的系统,通常包含结构化和非结构化的信息,用于帮助用户或系统快速查找和获取相关知识。
你可以把它想象成一个“知识仓库”,里面存放着...
本地部署DeepSeek-R1模型
首先 我们需要了解一下,什么是 Ollama ?
Ollama 简介
Ollama 是一个快速、轻量且易于使用的开源 AI 代理框架,由 Facebook 开发,可以用来托管和运行各种语言模型(LLM),可以实现在您的硬件设备快速部署各种本地大模型,并且提供了一个简单命令行界面,方便用户快速部署。
既然现在已经了解了 Ollama是干嘛的,那么接下来就是在你的操作系统中安装 Ollama了
安装Ollama
Windows
访问 Ollama官网 下载Windows版本安装即可
Linux 操作系统
在你的终端中执行如下命令
1curl -fsSL https://ollama.com/install.sh | sh
Docker安装
在 Linux操作系统中也...
共计 80 篇文章,10 页。