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

Model Context Protocol(MCP)入门

🌐 Model Context Protocol(MCP)入门

目录

  1. 为什么需要 MCP?
  2. 整体流程一览(含 Mermaid 图)
  3. 协议四要素:Manifest ➜ Source ➜ Tool ➜ Context
  4. 端到端 Demo(20 行 Shell)
  5. 可用服务器目录(7 个直达链接)
  6. 安全性分析:风险清单 & 防护建议
  7. 自建 MCP 服务器速查
  8. FAQ
  9. 结语

1. 为什么需要 MCP?

场景传统做法难点
LLM 取数据为每个数据源写专用 API 适配重复劳动、成本高
LLM 调工具各写各的插件 / SDK生态碎片化

MCPUSB‑C:统一“数据 + 工具”接口,做到 一次接入,多处可用


2. 整体流程一览

LLM/客户端 MCP 服务器 GET /.well-known/manifest.json Manifest = 自我介绍 Manifest JSON POST /resolve (查询) 或 /invoke/<tool> 传入参数 如 query, top_k Context JSON 或 Action Result type/content/metadata 统一格式回包 LLM/客户端 MCP 服务器

三句话概括流程

  1. 发现:读 Manifest,知道服务器有什么能力。
  2. 调用:要查资料则 /resolve,要做动作则 /invoke/<tool_id>
  3. 回包:统一 Context JSON,直接喂给 LLM。

3. 协议四要素(从总到分)

要素作用关键字段(示例)
Manifest“说明书”name, version, sources[], tools[], auth
Source查资料/resolveparams_schema
Tool做动作/invoke/<tool_id>/status/<task_id>
Context统一回包type, content, metadata

记忆口诀说明书‑>查‑>做‑>回(Manifest ➜ Source ➜ Tool ➜ Context)


4. 端到端 Demo(20 行)

# 1. 读 Manifest
curl https://demo.mcp.com/.well-known/manifest.json | jq .# 2. 查询 Source
curl -X POST https://demo.mcp.com/resolve \-H 'Content-Type: application/json' \-d '{ "query": "Rust 所有权", "top_k": 3 }' > ctx.json# 3. 把 ctx.json 投喂 LLM
#    "请根据以下 Context 回答:\n{{file:ctx.json}}"

5. 可用服务器目录

分类站点链接
GitHub 官方modelcontextprotocol/servershttps://github.com/modelcontextprotocol/servers
GitHub 社区punkpeye/awesome‑mcp‑servershttps://github.com/punkpeye/awesome-mcp-servers
目录站Glamahttps://glama.ai/mcp/servers
Smitheryhttps://smithery.ai
Cursor Directoryhttps://cursor.directory
中文镜像MCP.sohttps://mcp.so/zh
云市场阿里云百炼 MCP 市场https://bailian.console.aliyun.com/?tab=mcp#/mcp-market

6. 安全性分析

威胁面典型风险防护建议
身份与授权恶意客户端调用高危 ToolManifest 声明 auth;OAuth 2.0 + RBAC;最小权限
数据传输中间人窃听 / 篡改 Context强制 HTTPS;可选签名校验
数据完整性Source 返回伪造内容metadata 加签名 / 哈希;客户端可交叉验证
供应链Manifest 被恶意替换使用 .well-known 固定路径;CDN HSTS;发布 PGP 签名
滥用 / DDoS过量调用导致宕机配额、速率限制、WAF
敏感数据暴露Context 泄露隐私服务端脱敏;客户端设置“仅摘要”模式
长期凭据泄漏API Key 被硬编码支持短时 Token;Env Var + 轮换

客观结论
MCP 本身不限定安全等级,安全好坏取决于服务器实现与运维策略。
只要遵守 HTTPS + 认证 + RBAC + 速率限制 等通用 Web 安全实践,MCP 可以达到与主流 REST API 相当的安全水平。对于高敏场景,建议再加 端到端加密请求签名


7. 自建 MCP 服务器速查

语言SDK起步命令
TypeScript@mcp/sdknpx mcp init my-server
Pythonmcp-sdk-pypip install mcp-sdk-py
Kotlinmcp-kotlinmcp-kotlin create my-server
  1. manifest.json ➜ 2. 实现 /resolve/invoke ➜ 3. 部署 ➜ 4. 提交到目录站。

8. FAQ(高频问答)

问题摘要回答
MCP 和 REST/GraphQL 区别?MCP 抽象“上下文 & 动作”给 LLM 用,REST 关注业务资源。
需要额外网关吗?不是必须,但生产推荐放在 API Gateway/WAF 之后。
可以收费吗?协议开源,具体服务器可按请求、订阅或增值服务收费。

9. 结语

MCP = LLM 生态的 USB‑C:统一接口、随插即用。

  • 开发者 写一次 Server,全球 Agent 可调用。
  • 使用者 逛目录站,像装 VS Code 扩展一样挑选数据源 & 工具。

掌握 MCP,就是抢占 AI 标准化浪潮的“船票”。现在就试试上面的 Demo,或把你的服务封装成一个 Source / Tool,让更多 LLM 为你所用!

http://www.xdnf.cn/news/389773.html

相关文章:

  • C++中什么是函数指针?
  • DAY 22 复习日kaggle泰坦里克号人员生还预测
  • 第一章 例行性工作(任务计划)
  • Python基础总结(十)之函数
  • Go语言安装proto并且使用gRPC服务(2025最新WINDOWS系统)
  • 广东省省考备考(第八天5.11)—言语:片段阅读(每日一练)
  • 数据库备份与策略【全量备份、增量备份、日志恢复】
  • python:trimesh 用于 STL 文件解析和 3D 操作
  • 深入剖析缓存与数据库一致性:Java技术视角下的解决方案与实践
  • 【连载14】基础智能体的进展与挑战综述-多智能体系统设计
  • MySQL 数据库故障排查指南
  • 网络安全设备配置与管理-实验5-p150虚拟防火墙配置
  • 【计算机网络】NAT技术、内网穿透与代理服务器全解析:原理、应用及实践
  • JVM中的安全点是什么,作用又是什么?
  • python 新闻 api + react js 客户端。
  • MinIO自定义权限策略语法深度解析
  • 苍穹外卖-创建阿里云oss工具包
  • Agent杂货铺
  • 大模型知识蒸馏(Qwen2.5系列模型KL散度蒸馏)
  • leetcode热题100——day26
  • 当虚拟照进现实——《GTA6》如何重新定义开放世界的可能性‌
  • Git的核心作用详解
  • pwm控制
  • istio in action之服务网格和istio组件
  • LLM框架
  • Ubuntu 24服务器部署abp vnext应用程序的完整教程
  • 模块自动导入的小工具
  • 使用go开发安卓程序
  • 【漫话机器学习系列】252.零损失(0-1 Loss)
  • 豆包:国内 web 辅助开发的领头羊