当前位置: 首页 > news >正文

MCP+Cursor入门

文章目录

  • 1.背景
    • 1.1 MCP是什么
    • 1.2为什么要使用MCP
    • 1.3 MCP使用场景
  • 2.MCP原理
    • 2.1 MCP的原语
    • 2.2 MCP 通信方式
  • 3.通过cursor配置自己的MCP
    • 3.1 项目级配置
    • 3.2 全局配置
    • 3.3 启动MCP服务
    • 3.4 使用Agent提问
  • 4.常见问题与注意事项

1.背景

1.1 MCP是什么

MCP(Model Context Protocol,模型上下文协议)是由Claude的母公司 Anthropic 推出的模型上下文协议,旨在标准化应用程序如何向大型语言模型(LLM)提供上下文。它允许LLM与外部数据源和工具无缝集成,从而使AI模型能够访问实时数据并执行更复杂的任务

你可以把 MCP 想象成 AI 应用的 USB-C 接口——正如 USB-C 为设备与各种外设和配件提供了统一的连接标准MCP 也为 AI 模型与不同数据源和工具之间的交互提供了标准化方案

一句话描述就是MCP是一座桥,让大模型可以调用我们的应用。

1.2为什么要使用MCP

随着 AI 助手逐渐成为主流,行业在模型能力上投入了大量资源,在推理和质量方面取得了快速进展。然而,即使是最先进的模型也受限于与数据的隔离——被困在信息孤岛和遗留系统之后。每个新数据源都需要定制化实现,这使得真正互联的系统难以扩展。

MCP 解决了这一挑战。它提供了一个通用的开放标准,用于将 AI 系统与数据源连接起来,用一个单一协议取代了分散的集成方式。其结果是为 AI 系统提供了一种更简单、更可靠的方式来获取所需数据。
在这里插入图片描述

1.3 MCP使用场景

需要让AI助手实时访问企业内部知识库、数据库或API的场景

  • 需要标准化AI与多种外部工具集成的复杂应用
  • 希望快速扩展AI能力、减少重复开发成本的团队

2.MCP原理

2.1 MCP的原语

MCP通过三种主要原语(Primitives)增强LLM的功能,理解这些原语是编写MCP的关键:

  • 提示(Prompts):预定义的指令或模板,指导LLM如何处理输入或生成输出。
  • 资源(Resources):提供额外上下文的结构化数据,例如文件或数据库内容。
  • 工具(Tools):可执行的函数,允许LLM执行操作(如查询API)或检索信息。

关键点:这些原语是MCP的核心,决定了服务器能为LLM提供什么能力。

2.2 MCP 通信方式

MCP 支持两种通信方式:
标准输入输出(Standard Input/Output, stdio):客户端通过启动服务器子进程并使用标准输入(stdin)和标准输出(stdout)建立双向通信,一个服务器进程只能与启动它的客户端通信(1:1 关系)。

stdio 适用于本地快速集成的场景

服务器发送事件(Server-Sent Events, SSE)::一种基于HTTP协议的单向通信方式,允许服务器主动向客户端推送实时数据。服务器作为独立进程运行,客户端和服务器代码完全解耦支持多个客户端随时连接和断开。这种方式将在后续的系列文章中单独进行介绍。

具体流程如下:
在这里插入图片描述

3.通过cursor配置自己的MCP

MCP配置可分为项目级配置全局配置

3.1 项目级配置

仅当前项目生效

在.cursor目录下创建mcp.json

3.2 全局配置

在这里插入图片描述

在这里插入图片描述

编辑mcp.json

{"mcpServers": {"mcp-test-tool": {"command": "npx", // 启动命令"args": ["-y","@xx/xxx-yuque-mcp-tool","--stdio" // 使用标准输入输出通信],"env": {"YUQUE_EXTRA_TOKEN": "研发:your token,", // API访问令牌"YUQUE_DEFAULT_SEARCH_SCOPE": "MCP TEST", // 默认搜索范围"npm_config_registry": "http://nodepackages.xxxxx.cn:4873/" // npm私有源地址}}}
}

在这里插入图片描述

3.3 启动MCP服务

在这里插入图片描述

3.4 使用Agent提问

在这里插入图片描述

4.常见问题与注意事项

  • Q:MCP支持哪些编程语言?
    A:目前MCP以协议形式存在,理论上支持任何语言实现,常见有Node.js、Python等实现。
  • Q:Token泄露怎么办?
    A:请妥善保管API Token,避免上传到公共仓库,建议使用环境变量管理。
  • Q:SSE和stdio如何选择?
    A:本地开发、单一客户端建议用stdio,分布式或多客户端建议用SSE。
http://www.dtcms.com/a/266063.html

相关文章:

  • AI 日报:阿里、字节等企业密集发布新技术,覆盖语音、图像与药物研发等领域
  • 前缀和与差分算法详解
  • 线程池相关介绍
  • SpringSecurity01
  • 【libm】 7 双精度正弦函数 (k_sin.rs)
  • 从混沌到澄明,AI如何重构我们的决策地图与未来图景
  • 把大象塞进冰箱总共分几步:讲讲dockerfile里conda的移植
  • IOC容器讲解以及Spring依赖注入最佳实践全解析
  • XILINX FPGA如何做时序分析和时序优化?
  • Linux之Socket编程Tcp
  • 【BurpSuite 2025最新版插件开发】基础篇7:数据的持久化存储
  • snail-job的oracle sql(oracle 11g)
  • 百度捂紧“钱袋子”
  • 冒泡排序及其优化方式
  • Javaweb - 10.1 Servlet
  • 两个手机都用同个wifi,IP地址会一样吗?如何更改ip地址
  • Redis实战:数据安全与性能保障
  • linux测试端口是否可被外部访问
  • ROS三维环境建模——基于OctoMap库
  • c++ 的标准库 --- std::
  • 【25-cv-07436】Keith律所代理《Four Season - Winter Breeze》画作维权!
  • NFSv4 ACL配置与参数
  • ubuntu防火墙使用
  • 【ChatTTS】ChatTTS使用体验
  • 关于系统无法找到 arm-linux-gcc 命令,这表明你的环境中尚未安装 ARM 交叉编译工具链。以下是详细的解决方案:(DIY机器人工房)
  • 通过HBA卡新增外接存储,详细流程
  • R 语言安装使用教程
  • Oracle面试题-体系结构
  • 《dlib库中的聚类》算法详解:从原理到实践
  • ABP VNext + Cosmos DB Change Feed:搭建实时数据变更流服务