AIGC浪潮下,风靡全球的Mcp到底是什么?一文讲懂,技术小白都知道!!

AIGC浪潮下,风靡全球的Mcp到底是什么?一文讲懂,技术小白都知道!!

个人主页-爱因斯晨

文章专栏-AIGC

 

长大好多烦恼,好愁!

目录

 

前言

初步了解

Mcp到底是个啥?

发展

理论基础

核心组件

使用逻辑

于传统API不同之处

模型推荐


 

前言

上年这个时候,刚拿到录取通知书。哥哥教我用ai智能体,其实就是向我炫技。当时我问他,为什么不能直接给我生成图表,直接给我生成多好,省得我再去复制了。他说,其实很简单,只要做个接口协议什么的就行,只是目前国内没人做。当时说的很高深,我也听不懂。没想到年底,这个功能就实现内测了。在某种程度上,我也算是预言了哈哈。

初步了解

Mcp到底是个啥?

Mcp,全称 Model Context Protocol,翻译过来是模型上下文协议。你不用管这高大上的名字,简单说,它就是和大 AI 模型聊天时,一种把相关信息整理好、按规矩传给 AI 的方式。​

之前我们使用的AI智能体如果比作是个思考问题的大脑,那么Mcp就是思考后,给你去干活的。AI大模型是给你思维结果,而Mcp就是调用工具给你做好工作。也就是低代码~

发展

2024 年 11 月,Anthropic(由 OpenAI 前员工创办)发布并开源 Mcp。当时 AIGC 发展快但存痛点,AI 模型与外部数据、工具连接不足,此前方案缺通用性。Mcp 提供标准化交互方式,助 AI 与外部系统互动。后获多家支持,OpenAI 等巨头入局,成 AI 智能体时代关键技术。真的好快啊!

理论基础

与 RAG(为大模型提供充足上下文)和 Function Calling(让模型能使用工具)密切相关,在它们基础上实现 AI 与外部系统更高效交互。

核心组件

使用逻辑

目前在Claude,OpenAI GPT,阿里云百炼,纳米AI都有接入Mcp,可以在工具箱中调用工作使用的Mcp来完成现有工作,但是带来的问题是权限过大,不安全。

于传统API不同之处

  • 传统 API 参数变更时,用户必须更新代码,否则请求可能失败。​
  • MCP 采用动态灵活方式,客户端连接服务器时会先了解其能力,服务器也会动态更新功能描述,客户端无需重写代码就能适应变化,大幅降低维护成本。

模型推荐

事先声明!!不是广告!!不是广告!!红衣大叔没给我打钱!!当然,也欢迎纳米AI官方给我打钱~~

打开我们的大模型,选择工具,我们可以看到有很多官方或个人开发的mcp工具,我们可以点击使用

提出要求

他会给你充分的回答,但是,我觉着还是不够方便,如何直接get成品呢?

纳米ai有另一功能,相当于成熟的mcp堆出来的agent,点击智能体页面

我选择网页搭建

我们可以看一下最后成品

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>L'Éclat | 精致美妆体验</title> <link rel="stylesheet" href="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-100-M/font-awesome/6.0.0/css/all.min.css"> <link rel="stylesheet" href="https://s2.ssl.qhres2.com/static/56662140ef7d5d03.css"> <style> :root { --beige: #F5F5DC; --light-yellow: #FAF8ED; --gold: #D4AF37; --soft-pink: #F8D7DA; --transition: all 0.3s ease; } body { font-family: 'Helvetica Neue', Arial, sans-serif; background-color: var(--light-yellow); color: #5A5A5A; line-height: 1.6; } .header { background-color: var(--beige); box-shadow: 0 2px 10px rgba(0,0,0,0.05); position: sticky; top: 0; z-index: 100; } .logo { font-family: 'Times New Roman', serif; color: var(--gold); letter-spacing: 2px; } .nav-item { transition: var(--transition); border-bottom: 2px solid transparent; } .nav-item:hover { color: var(--gold); border-bottom-color: var(--gold); } .hero { background: linear-gradient(135deg, var(--light-yellow) 0%, var(--beige) 100%); min-height: 500px; } .product-card { background-color: white; transition: var(--transition); box-shadow: 0 5px 15px rgba(0,0,0,0.05); } .product-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.1); } .category-badge { background-color: var(--soft-pink); color: #8E4A49; } .price { color: var(--gold); font-weight: bold; } .btn-primary { background-color: var(--gold); transition: var(--transition); } .btn-primary:hover { background-color: #C19A3D; transform: translateY(-2px); } .footer { background-color: var(--beige); } .fade-in { animation: fadeIn 1s ease-in; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } </style> </head> <body> <!-- 导航栏 --> <header> <div> <div> <div>L'Éclat</div> <nav> <a href="#">首页</a> <a href="#">护肤</a> <a href="#">彩妆</a> <a href="#">香水</a> <a href="#">关于我们</a> </nav> <div> <button> <i></i> </button> <button> <i></i> </button> <button> <i></i> <span>3</span> </button> </div> </div> </div> </header> <!-- 英雄区域 --> <section> <div> <div> <h1>发现你的独特之美</h1> <p>精选全球优质美妆产品,为您带来非凡的护肤与彩妆体验</p> <button>探索新品</button> </div> </div> </section> <!-- 产品分类 --> <section> <div> <h2>产品分类</h2> <div> <div> <div> <i></i> </div> <h3>护肤系列</h3> </div> <div> <div> <i></i> </div> <h3>彩妆系列</h3> </div> <div> <div> <i></i> </div> <h3>香水系列</h3> </div> <div> <div> <i></i> </div> <h3>礼盒套装</h3> </div> </div> </div> </section> <!-- 精选推荐 --> <section> <div> <div> <h2>精选推荐</h2> <div> <button>新品</button> <button>热销</button> <button>特惠</button> </div> </div> <div> <!-- 产品卡片1 --> <div> <div> <img src="https://images.unsplash.com/photo-1596755094514-f87e34085b2c?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=80" alt="玫瑰精华面霜"> <div>护肤</div> </div> <div> <h3>玫瑰精华面霜</h3> <p>深层滋养,焕发肌肤活力</p> <div> <span>¥298</span> <button>加入购物车</button> </div> </div> </div> <!-- 产品卡片2 --> <div> <div> <img src="https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=80" alt="丝绒唇膏"> <div>彩妆</div> </div> <div> <h3>丝绒唇膏 #12</h3> <p>哑光质地,持久不脱色</p> <div> <span>¥168</span> <button>加入购物车</button> </div> </div> </div> <!-- 产品卡片3 --> <div> <div> <img src="https://images.unsplash.com/photo-1592945403244-b3fbafd7f539?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=80" alt="清晨花园香水"> <div>香水</div> </div> <div> <h3>清晨花园香水</h3> <p>清新花香调,50ml</p> <div> <span>¥458</span> <button>加入购物车</button> </div> </div> </div> <!-- 产品卡片4 --> <div> <div> <img src="https://qcdn2.zhaomi.cn/t11de458816ceac5d1e59b3cfaf.png" alt="假日礼盒"> <div>礼盒</div> </div> <div> <h3>假日礼盒套装</h3> <p>精选5件明星产品</p> <div> <span>¥998</span> <button>加入购物车</button> </div> </div> </div> </div> </div> </section> <!-- 品牌故事 --> <section> <div> <div> <div> <h2>我们的故事</h2> <p>L'Éclat 源自法语,意为"光芒"。我们相信每个女性都拥有独特的光芒,而我们的使命就是帮助您发现并绽放这份美丽。</p> <p>自2015年创立以来,我们始终致力于从全球精选最优质的化妆品和护肤品,只为您带来最安全、最有效的美丽体验。</p> <button>了解更多</button> </div> <div> <img src="https://images.unsplash.com/photo-1522337360788-8b13dee7a37e?ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=80" alt="品牌故事"> </div> </div> </div> </section> <!-- 客户评价 --> <section> <div> <h2>客户评价</h2> <div> <div> <div> <div> <img src="https://randomuser.me/api/portraits/women/43.jpg" alt="客户头像"> </div> <div> <h4>张小姐</h4> <div> <i></i> <i></i> <i></i> <i></i> <i></i> </div> </div> </div> <p>"玫瑰精华面霜真的太好用了!我的皮肤变得水润有光泽,会一直回购的!"</p> </div> <div> <div> <div> <img src="https://randomuser.me/api/portraits/women/65.jpg" alt="客户头像"> </div> <div> <h4>李女士</h4> <div> <i></i> <i></i> <i></i> <i></i> <i></i> </div> </div> </div> <p>"丝绒唇膏的颜色太美了,而且一点都不干,持久度也很好,已经买了三个颜色了!"</p> </div> <div> <div> <div> <img src="https://randomuser.me/api/portraits/women/32.jpg" alt="客户头像"> </div> <div> <h4>王小姐</h4> <div> <i></i> <i></i> <i></i> <i></i> <i></i> </div> </div> </div> <p>"清晨花园香水味道很清新,不会太浓烈,适合日常使用,包装也很精美。"</p> </div> </div> </div> </section> <!-- 订阅区 --> <section> <div> <h2>订阅我们的电子报</h2> <p>订阅即可获取新品上市、独家优惠和护肤美妆小贴士,首次订阅还可获得9折优惠券!</p> <div> <input type="email" placeholder="您的电子邮箱"> <button>订阅</button> </div> </div> </section> <!-- 页脚 --> <footer> <div> <div> <div> <h3>L'Éclat</h3> <p>发现你的独特之美</p> </div> <div> <h4>快速链接</h4> <ul> <li><a href="#">首页</a></li> <li><a href="#">所有产品</a></li> <li><a href="#">新品上市</a></li> <li><a href="#">特惠活动</a></li> </ul> </div> <div> <h4>客户服务</h4> <ul> <li><a href="#">联系我们</a></li> <li><a href="#">配送信息</a></li> <li><a href="#">退换政策</a></li> <li><a href="#">常见问题</a></li> </ul> </div> <div> <h4>关注我们</h4> <div> <a href="#"> <i></i> </a> <a href="#"> <i></i> </a> <a href="#"> <i></i> </a> </div> <p>客服时间: 9:00-21:00</p> <p>客服热线: 400-123-4567</p> </div> </div> <div> <p>© 2025 L'Éclat 美妆. 保留所有权利.</p> </div> </div> </footer> <script> // 简单的淡入动画 document.addEventListener('DOMContentLoaded', () => { const elements = document.querySelectorAll('.fade-in'); elements.forEach(el => { el.style.opacity = '0'; setTimeout(() => { el.style.transition = 'opacity 1s ease'; el.style.opacity = '1'; }, 100); }); // 产品卡片悬停效果 const productCards = document.querySelectorAll('.product-card'); productCards.forEach(card => { card.addEventListener('mouseenter', () => { card.style.transform = 'translateY(-5px)'; card.style.boxShadow = '0 10px 25px rgba(0,0,0,0.1)'; }); card.addEventListener('mouseleave', () => { card.style.transform = ''; card.style.boxShadow = '0 5px 15px rgba(0,0,0,0.05)'; }); }); }); </script> </body> </html>

你别说,你还真别说!纳米ai有两把刷子!红衣大叔打钱!!!!

图片来源:阿里云

Read more

前端表格性能优化从0到1:虚拟滚动实现百万级数据流畅渲染

前端表格性能优化从0到1:虚拟滚动实现百万级数据流畅渲染 【免费下载链接】Luckysheet 项目地址: https://gitcode.com/gh_mirrors/luc/Luckysheet 你是否曾在处理大型Excel表格时遭遇浏览器崩溃?当数据量突破10万行,传统渲染方式往往束手无策。本文将带你从0到1掌握虚拟滚动技术,解决百万级数据渲染难题,让前端表格操作如丝般顺滑。我们将深入探讨虚拟滚动的实现原理,解析Luckysheet的核心优化策略,为你的前端项目性能优化提供实用指南。 问题引入:为什么传统表格渲染不堪重负? 核心概要:揭示传统渲染方式在大数据量下的性能瓶颈 想象一下,当你打开一个包含100万行数据的表格时,浏览器需要创建多少个DOM节点?如果每一行有100列,那就是1亿个节点!这就像试图用自行车运送一卡车货物,必然会导致严重的性能问题。传统表格渲染方式会一次性将所有数据渲染到页面中,这不仅会占用大量内存,还会导致页面加载缓慢、滚动卡顿,甚至浏览器崩溃。 [!TIP] 研究表明,当DOM节点数量超过10万个时,浏览器的渲染性能会急剧下降,操作延迟可达数

By Ne0inhk

WebAssembly跨平台优化实战:FFmpeg.wasm架构解析与性能提升指南

WebAssembly跨平台优化实战:FFmpeg.wasm架构解析与性能提升指南 【免费下载链接】ffmpeg.wasmFFmpeg for browser, powered by WebAssembly 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpeg.wasm WebAssembly作为现代浏览器中的高性能计算引擎,正在彻底改变音视频处理在Web端的实现方式。本文将通过FFmpeg.wasm项目,深入探讨如何实现真正的跨平台优化,让复杂的多媒体处理在浏览器中也能获得接近原生的性能表现。 为什么需要WebAssembly跨平台优化? 传统Web应用在处理音视频时面临三大痛点: 1. 性能瓶颈:JavaScript在处理大规模计算时力不从心 2. 兼容性挑战:不同浏览器、不同设备架构差异巨大 3. 开发复杂度:传统方案需要大量平台特定代码 FFmpeg.wasm项目通过WebAssembly技术栈,成功将桌面级的FFmpeg功能移植到浏览器环境,但如何在不同CPU架构上实现最优性能,这才是真正的技术挑战。 核心架构设

By Ne0inhk

WebSocket 超细致完整用法讲解(含原理 + 前端 + 后端 + 实战案例 + 避坑)

你想要透彻掌握 WebSocket 的完整用法,我会从核心原理、前后端完整代码、使用场景、核心 API、心跳保活、常见问题等维度,一步步细致讲解,内容通俗易懂,学完就能直接落地开发。 一、WebSocket 核心认知(必懂,理解了用法才通透) 1. WebSocket 是什么? WebSocket 是 HTML5 新增的一种「全双工、持久化」的网络通信协议,协议标识是 ws://(明文)和 wss://(加密,推荐生产环境用),是 HTTP 协议的补充和升级。 2. 为什么需要 WebSocket?HTTP 协议的痛点 HTTP 协议是 「单工 / 半双工」、「短连接」、「无状态」 的通信模式,

By Ne0inhk
【JS】【前端】JavaScript 模块化演进之路(CJS/AMD/UMD/CMD/ESM)

【JS】【前端】JavaScript 模块化演进之路(CJS/AMD/UMD/CMD/ESM)

CommonJS CommonJS 是 JavaScript 在服务器端(Node.js)的一种 模块规范。 在浏览器之外的环境(比如服务器)中,JavaScript 需要一种方式来组织代码、管理依赖和导出功能。CommonJS 就是为了解决这个问题而诞生的。 核心概念 CommonJS 的精髓可以概括为三个关键词:require、module 和 exports * 导入(require): 使用 require() 函数来加载模块 * 模块(module): 每个文件都是一个独立的模块,拥有自己的作用域 * 导出(exports): 使用 module.exports 或 exports 对象来决定模块中哪些内容可以被外部访问 代码示例 假设我们有两个文件: 1. math.js (定义模块) constadd=(a, b)

By Ne0inhk