MCP+Cursor入门

文章目录

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

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。
相关推荐
张彦峰ZYF2 小时前
从检索到生成:RAG 如何重构大模型的知识边界?
人工智能·ai·aigc
程序视点5 小时前
Cursor 1.2震撼发布:AI编程工具迎来重大升级,开发者效率再飞跃!
cursor
难受啊马飞2.06 小时前
如何判断 AI 将优先自动化哪些任务?
运维·人工智能·ai·语言模型·程序员·大模型·大模型学习
鱼蛋EggfishStudio6 小时前
后端转前端的第一次尝试:用AI辅助开发纯静态网页实现一个可编程节奏的节拍器
cursor
运器1239 小时前
【一起来学AI大模型】算法核心:数组/哈希表/树/排序/动态规划(LeetCode精练)
开发语言·人工智能·python·算法·ai·散列表·ai编程
windliang10 小时前
Cursor 排查 eslint 问题全过程记录
前端·cursor
虾条_花吹雪10 小时前
2、Connecting to Kafka
分布式·ai·kafka
DeepSeek大模型官方教程10 小时前
NLP之文本纠错开源大模型:兼看语音大模型总结
大数据·人工智能·ai·自然语言处理·大模型·产品经理·大模型学习
程序员鱼皮12 小时前
Cursor 1.2重磅更新,这个痛点终于被解决了!
ai·程序员·编程·agent·软件开发