41 lines
21 KiB
JavaScript
41 lines
21 KiB
JavaScript
import{_ as r,c as p,a as e,b as i,d as a,e as l,w as t,r as d,o as h}from"./app-t8Vldhgr.js";const o={};function k(c,s){const n=d("VPLink");return h(),p("div",null,[s[7]||(s[7]=e(`<p>嗨~今天来聊聊两个让 AI 助手变得更聪明、更贴心的小魔法:<strong>MCP</strong> 和 <strong>Skills</strong> 🪄</p><p>它们就像是给 AI 装上了「外挂」和「说明书」,让它不仅能聊天,还能真正帮你干活、调用工具、甚至访问你的本地知识库~</p><h2 id="一、mcp-是什么" tabindex="-1"><a class="header-anchor" href="#一、mcp-是什么"><span>一、MCP 是什么?</span></a></h2><p><strong>MCP</strong> 全称是 <strong>Model Context Protocol</strong>(模型上下文协议),是由 <a href="https://www.anthropic.com/" target="_blank" rel="noopener noreferrer">Anthropic</a> 提出的一种开放协议。</p><p>简单来说,它就像是 AI 和外部世界之间的「通用翻译官」🌐</p><h3 id="为什么需要-mcp" tabindex="-1"><a class="header-anchor" href="#为什么需要-mcp"><span>为什么需要 MCP?</span></a></h3><p>想象一下:</p><ul><li>你想让 AI 查一下你的本地数据库</li><li>你想让 AI 调用某个特定工具</li><li>你想让 AI 访问你的笔记知识库</li></ul><p>以前,每个工具都要写一套单独的对接代码,很麻烦对吧?</p><p>MCP 的出现,就是为了让这些「对接」变得标准化——<strong>一次配置,到处可用</strong>。</p><h3 id="mcp-的工作原理" tabindex="-1"><a class="header-anchor" href="#mcp-的工作原理"><span>MCP 的工作原理</span></a></h3><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-"><span class="line"><span>┌─────────────┐ ┌─────────────┐ ┌─────────────┐</span></span>
|
||
<span class="line"><span>│ AI 助手 │ ◄──► │ MCP 协议 │ ◄──► │ 外部工具 │</span></span>
|
||
<span class="line"><span>│ (Cursor等) │ │ (标准化) │ │ (数据库/API) │</span></span>
|
||
<span class="line"><span>└─────────────┘ └─────────────┘ └─────────────┘</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>AI 助手通过 MCP 协议,可以:</p><ul><li>🔍 <strong>检索</strong>(Retrieval):查询知识库、数据库</li><li>🛠️ <strong>调用工具</strong>(Tools):执行特定功能</li><li>💾 <strong>访问资源</strong>(Resources):读取文件、配置等</li></ul><h2 id="二、skills-是什么" tabindex="-1"><a class="header-anchor" href="#二、skills-是什么"><span>二、Skills 是什么?</span></a></h2><p>如果说 MCP 是「通信协议」,那 <strong>Skills</strong> 就是「技能说明书」📖</p><h3 id="skills-的概念" tabindex="-1"><a class="header-anchor" href="#skills-的概念"><span>Skills 的概念</span></a></h3><p>Skills(技能)是封装好的、可复用的功能模块。每个 Skill 通常包含:</p><ul><li><strong>功能描述</strong>:这个技能是干嘛的</li><li><strong>调用方式</strong>:需要哪些参数、返回什么结果</li><li><strong>使用示例</strong>:实际怎么调用</li></ul><h3 id="mcp-vs-skills-的关系" tabindex="-1"><a class="header-anchor" href="#mcp-vs-skills-的关系"><span>MCP vs Skills 的关系</span></a></h3><table><thead><tr><th>概念</th><th>比喻</th><th>作用</th></tr></thead><tbody><tr><td><strong>MCP</strong></td><td>电话线/网络协议 📡</td><td>负责「能连上」</td></tr><tr><td><strong>Skills</strong></td><td>电话簿/功能菜单 📋</td><td>负责「知道能做什么」</td></tr></tbody></table><p>MCP 让 AI 和工具<strong>连得通</strong>,Skills 让 AI<strong>知道怎么用</strong>。</p><h2 id="三、实际应用场景" tabindex="-1"><a class="header-anchor" href="#三、实际应用场景"><span>三、实际应用场景</span></a></h2><h3 id="场景-1-本地知识库检索-🗃️" tabindex="-1"><a class="header-anchor" href="#场景-1-本地知识库检索-🗃️"><span>场景 1:本地知识库检索 🗃️</span></a></h3>`,24)),i("p",null,[s[1]||(s[1]=a("就像我在 ",-1)),l(n,{href:"../windows11-ragflow-deployment-mcp/"},{default:t(()=>[...s[0]||(s[0]=[a("RAGFlow 部署文章",-1)])]),_:1}),s[2]||(s[2]=a(" 里写的,通过 MCP 把 RAGFlow 接到 Cursor 里:",-1))]),s[8]||(s[8]=e(`<div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;">// Cursor 的 MCP 配置</span></span>
|
||
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">mcpServers</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">RAGFlow</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">url</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://127.0.0.1:39382/mcp/</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
||
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>然后 AI 就能:</p><ul><li>自动检索你的笔记</li><li>基于本地知识回答问题</li><li>不用把敏感文件上传到云端</li></ul><h3 id="场景-2-数据库查询-🗄️" tabindex="-1"><a class="header-anchor" href="#场景-2-数据库查询-🗄️"><span>场景 2:数据库查询 🗄️</span></a></h3><p>配置一个数据库 MCP Server,AI 就能直接帮你:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-"><span class="line"><span>用户:查一下上个月销售额最高的产品</span></span>
|
||
<span class="line"><span>AI:【通过 MCP 调用数据库查询工具】</span></span>
|
||
<span class="line"><span> SELECT product_name, SUM(sales) </span></span>
|
||
<span class="line"><span> FROM sales </span></span>
|
||
<span class="line"><span> WHERE date >= '2025-02-01' </span></span>
|
||
<span class="line"><span> GROUP BY product_name </span></span>
|
||
<span class="line"><span> ORDER BY SUM(sales) DESC </span></span>
|
||
<span class="line"><span> LIMIT 1;</span></span>
|
||
<span class="line"><span> </span></span>
|
||
<span class="line"><span> 结果是:产品 A,销售额 ¥123,456</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="场景-3-文件操作-📁" tabindex="-1"><a class="header-anchor" href="#场景-3-文件操作-📁"><span>场景 3:文件操作 📁</span></a></h3><p>通过文件系统 MCP,AI 可以:</p><ul><li>读取项目配置文件</li><li>批量重命名文件</li><li>生成代码并保存到指定目录</li></ul><h2 id="四、在-cursor-中使用" tabindex="-1"><a class="header-anchor" href="#四、在-cursor-中使用"><span>四、在 Cursor 中使用</span></a></h2><h3 id="配置-mcp-server" tabindex="-1"><a class="header-anchor" href="#配置-mcp-server"><span>配置 MCP Server</span></a></h3><p>以 Cursor 为例,在 <code>~/.cursor/mcp.json</code> 中添加:</p><div class="language-json line-numbers-mode" data-highlighter="shiki" data-ext="json" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-json"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">mcpServers</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">my-database</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">url</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3000/mcp</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
||
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> },</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">file-system</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">command</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">npx</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
||
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">args</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">-y</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">@modelcontextprotocol/server-filesystem</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">/path/to/allowed/dir</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span>
|
||
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="使用流程" tabindex="-1"><a class="header-anchor" href="#使用流程"><span>使用流程</span></a></h3><ol><li><strong>AI 发现技能</strong>:启动时,AI 会自动获取所有可用的 Skills 列表</li><li><strong>意图识别</strong>:当你提问时,AI 判断是否需要调用工具</li><li><strong>参数填充</strong>:AI 自动提取所需参数</li><li><strong>执行并返回</strong>:调用 MCP Server,获取结果后呈现给你</li></ol><h3 id="交互示例" tabindex="-1"><a class="header-anchor" href="#交互示例"><span>交互示例</span></a></h3><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-"><span class="line"><span>你:帮我总结一下项目里的 API 接口</span></span>
|
||
<span class="line"><span></span></span>
|
||
<span class="line"><span>AI:我来帮你分析一下项目中的 API 接口。</span></span>
|
||
<span class="line"><span> 【调用 file-system skill 读取项目文件】</span></span>
|
||
<span class="line"><span> 【调用检索 skill 查找路由定义】</span></span>
|
||
<span class="line"><span> </span></span>
|
||
<span class="line"><span> 找到以下接口:</span></span>
|
||
<span class="line"><span> 1. GET /api/users - 获取用户列表</span></span>
|
||
<span class="line"><span> 2. POST /api/users - 创建用户</span></span>
|
||
<span class="line"><span> 3. GET /api/users/:id - 获取单个用户</span></span>
|
||
<span class="line"><span> ...</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="五、mcp-生态一览" tabindex="-1"><a class="header-anchor" href="#五、mcp-生态一览"><span>五、MCP 生态一览</span></a></h2><p>目前 MCP 生态正在快速发展,已有许多现成的 Server 可用:</p><table><thead><tr><th>类型</th><th>代表项目</th><th>用途</th></tr></thead><tbody><tr><td>文件系统</td><td><code>@modelcontextprotocol/server-filesystem</code></td><td>读写本地文件</td></tr><tr><td>数据库</td><td><code>@modelcontextprotocol/server-postgres</code></td><td>PostgreSQL 查询</td></tr><tr><td>GitHub</td><td><code>@modelcontextprotocol/server-github</code></td><td>操作 GitHub</td></tr><tr><td>浏览器</td><td><code>@browserbasehq/mcp-server-browserbase</code></td><td>自动化浏览器操作</td></tr><tr><td>知识库</td><td>RAGFlow MCP</td><td>本地文档检索</td></tr></tbody></table><p>完整的官方列表可以在 <a href="https://github.com/modelcontextprotocol/servers" target="_blank" rel="noopener noreferrer">MCP Servers Repository</a> 找到。</p><h2 id="六、总结" tabindex="-1"><a class="header-anchor" href="#六、总结"><span>六、总结</span></a></h2><table><thead><tr><th>要点</th><th>说明</th></tr></thead><tbody><tr><td><strong>MCP</strong></td><td>让 AI 和工具「说同一种语言」的开放协议</td></tr><tr><td><strong>Skills</strong></td><td>封装好的功能模块,告诉 AI「我能做什么」</td></tr><tr><td><strong>价值</strong></td><td>打破信息孤岛,让 AI 真正连接你的数字世界</td></tr><tr><td><strong>前景</strong></td><td>越来越多的工具会支持 MCP,生态会越来越丰富</td></tr></tbody></table><p>用一句话概括:<strong>MCP 是桥梁,Skills 是地图,让 AI 从「聊天伙伴」变成「得力助手」</strong> 🎯</p><hr>`,25)),i("blockquote",null,[s[6]||(s[6]=i("p",null,[a("💡 "),i("strong",null,"延伸阅读")],-1)),i("ul",null,[i("li",null,[l(n,{href:"./windows11-ragflow-deployment-mcp.md"},{default:t(()=>[...s[3]||(s[3]=[a("Windows 11 本地部署 RAGFlow 与 Cursor MCP",-1)])]),_:1})]),s[4]||(s[4]=i("li",null,[i("a",{href:"https://modelcontextprotocol.io/",target:"_blank",rel:"noopener noreferrer"},"MCP 官方文档")],-1)),s[5]||(s[5]=i("li",null,[i("a",{href:"https://www.anthropic.com/news/model-context-protocol",target:"_blank",rel:"noopener noreferrer"},"Anthropic MCP 介绍")],-1))])])])}const u=r(o,[["render",k]]),m=JSON.parse('{"path":"/article/mcp-and-skills/","title":"MCP 与 Skills:让 AI 助手更懂你的利器 | 模型","lang":"zh-CN","frontmatter":{"title":"MCP 与 Skills:让 AI 助手更懂你的利器","createTime":"2026/03/29 14:00:00","permalink":"/article/mcp-and-skills/","sidebar":"/ai/","description":"嗨~今天来聊聊两个让 AI 助手变得更聪明、更贴心的小魔法:MCP 和 Skills 🪄 它们就像是给 AI 装上了「外挂」和「说明书」,让它不仅能聊天,还能真正帮你干活、调用工具、甚至访问你的本地知识库~ 一、MCP 是什么? MCP 全称是 Model Context Protocol(模型上下文协议),是由 Anthropic 提出的一种开放协...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"MCP 与 Skills:让 AI 助手更懂你的利器\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-29T08:08:20.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/article/mcp-and-skills/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"MCP 与 Skills:让 AI 助手更懂你的利器"}],["meta",{"property":"og:description","content":"嗨~今天来聊聊两个让 AI 助手变得更聪明、更贴心的小魔法:MCP 和 Skills 🪄 它们就像是给 AI 装上了「外挂」和「说明书」,让它不仅能聊天,还能真正帮你干活、调用工具、甚至访问你的本地知识库~ 一、MCP 是什么? MCP 全称是 Model Context Protocol(模型上下文协议),是由 Anthropic 提出的一种开放协..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-29T08:08:20.000Z"}],["meta",{"property":"article:modified_time","content":"2026-03-29T08:08:20.000Z"}]]},"readingTime":{"minutes":3.79,"words":1138},"git":{"createdTime":1774771700000,"updatedTime":1774771700000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ai/mcp-and-skills.md","headers":[]}');export{u as comp,m as data};
|