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

搭建第一个MCP服务

MCP

基本概念

Model Context Protocol (MCP) 是一种协议,用来 在多个模型或服务之间传递和管理上下文信息。
简单来说,当你调用大模型或多个模型协作完成任务时,每个模型可能需要知道之前的对话、输入或者其他环境信息。MCP 就像一个“上下文管道”,确保每次调用模型时,模型能够理解完整的上下文,而不是每次都从零开始。
一句话概括: MCP 是给大模型“记忆”和“理解上下文”的标准化协议。

用途场景

1)多轮对话管理
在聊天机器人或客服系统中,需要让模型记住上下文,提供连贯回答。

2)模型协作任务
不同模型处理不同子任务,MCP 负责传递上下文数据,使它们协同完成复杂任务。

3)状态跟踪与优化
在数据分析、自动化决策等场景,模型需要根据前一次的结果继续操作,MCP 帮助管理状态信息。

4)多模型集成
不同厂商或类型的模型可以通过 MCP 统一协议交互,提高兼容性。

为什么要使用MCP

  • 保持多轮连贯性:模型不会丢失之前的对话或任务状态。
  • 支持模型协作:不同模型可以共享上下文,协同完成复杂任务。
  • 统一上下文管理:不需要每个开发者自己设计上下文存储和传递机制。
  • 提升开发效率:模型调用变得标准化和可扩展。

和直接调用API的区别

区别点 普通 API 调用 MCP 调用
上下文处理 每次调用通常是独立的,需要自己维护状态 MCP 自动管理上下文,模型可以连续理解信息
多模型协作 不便于不同模型共享状态 MCP 提供标准上下文协议,多模型协作顺畅
状态持久化 开发者自己实现 MCP 内置上下文记录和更新机制
开发复杂度 高,需要手动管理历史数据和调用顺序 低,MCP 统一标准化上下文交互
可扩展性 难,添加新模型可能需要重写逻辑 高,只需遵循 MCP 协议即可接入新模型

MCP 让模型调用像“有记忆的助手”,而普通 API 调用更像“每次都是全新指令”。

实践案例

使用Cursor,基于一个常见的安全脚本,封装成一个MCP服务。
Cursor支持AI写代码、支持作为MCP客户端和人进行“人机交互”;
MCP支持上下文记忆、支持扩展和别的工具(如:其他安全功能、IM工具、数据分析工具等)进行协同。

核心文件

github地址:https://github.com/cherriewzx/Sec-farming/tree/main/Sec_tool

1)MCP转换程序:mcp_server.py ,把 dir_serch.py 的检测能力以 MCP(JSON-RPC over stdio)工具的形式对外提供。

  • 入口服务。
  • 接收外部请求(可能是 HTTP 请求、CLI 调用或者模型请求)。
  • 读取 mcp_config.json,提取上下文信息(上一次检测状态、用户偏好、配置等)。
  • 调用核心功能 dir_search.py。
  • 将结果和更新后的上下文返回给调用者,并写回 mcp_config.json。

2)核心检测功能:dir_serch.py ,主要实现一个敏感目录扫描。

  • 执行实际的安全检测逻辑(比如目录扫描、敏感信息检测)。
  • 接收从 mcp_server.py 传来的参数和上下文信息。
  • 输出检测结果。

3)Cursor配置文件:mcp_config.json,告诉支持 MCP 的客户端如何启动这个服务器。

  • 存储配置参数、检测历史、状态信息。
  • MCP 通过它来实现“记忆”,保证多轮调用的连续性。

执行流程

外部请求


mcp_server.py 接收请求


读取上下文 → mcp_config.json


调用 dir_search.py 执行检测


返回检测结果 → 更新上下文


mcp_server.py 返回结果给调用者

使用方式

1)传统命令行方式直接调用 dir_search.py

python3 dir_serch.py -t http://127.0.0.1:8888[+] Scanning target: http://127.0.0.1:8888 ...-> findings: 2
[+] Scan finished. 2 records saved to results.json

image

2)使用Cursor交互
chat 框对Cursor 输入指令:
image

结果:
image

让Cursor生成的可视化页面:
image

http://www.jsqmd.com/news/37726/

相关文章:

  • React-router v7 配置 Suspense+lazy fallback第二次不显示
  • spark read mongodb拉取的数据行数和源库不一致
  • PV 与 PVC 的“绑定”动作真正发生的时间点
  • 2025日本留学中介推荐:留学申请与语言学习一站式解决
  • 2025年11月高温老化房及环境试验设备推荐厂家:步入式恒温试验室/步入式高低温湿热试验室/大型高低温湿热试验室/汽车零部件、逆变器、电子元器件等场景适用
  • 【ACM出版 | 最快会后4个月检索 | 往届均已成功见刊并被EI检索】第三届人工智能、系统与网络安全国际学术会议 (AISNS 2025)
  • it的尽头是炒股
  • Windows 电脑 FTP 服务器配置
  • [量化01 线形 ]
  • 护栏碰撞报警系统工作原理是什么?传感器+数据传输全解析
  • 2025抗老面霜爆款推荐:功效全面升级,从 “成分堆砌” 到 “体系抗老”
  • AI 在数据库操作中的各类应用场景、方案与实践指南 - 指南
  • 国标GB28181算法算力平台EasyGBS:构建智慧鱼塘养殖远程监控与智能预警一体化方案
  • 2025年环境试验设备最新推荐厂家,高温老化房、高低温湿热试验室、步入式试验室、汽车零部件老化房
  • React系列教程:10. Button组件示例
  • 2025年11月德语学习课程推荐:德企定制化培训,高性价比职场首选
  • 金风科技通过校企合作、职业培训和数字化平台的多元化培养体系培养新一代风电行业人才
  • 阿里云 Maven 仓库
  • 2025年11月油烟机品牌对比:海信领衔五强排行全评价
  • 为什么我们很难“举一反三”?
  • 深度学习模型CNN识别恶意软件
  • 【251111】CF2161 Div.1+2 vp 总结
  • 代码实例:Python 爬虫抓取与解析 JSON 数据 - 实践
  • charles问题排查
  • 2025年11月深圳近视手术医生评测榜:五位口碑医师排行解析
  • 2025年11月深圳近视手术医生榜单:五强对比与权威数据解读
  • 2025年纸板桶生产厂家权威推荐榜单:方纸桶/生产纸板/全纸桶源头厂家精选
  • Request
  • 吹风机激光测距感应温度调节方案
  • 2025年11月上海老房翻新公司推荐榜:十强资质与用户评价对比