【2025年度创作】分享和总结如何通过AI快速开发一款MCP(模型上下文协议)服务插件,并进行本地和线上部署测试,最后上架MCP以及智能体调用MCP插件

一年一度的CSDN博客之星活动现已开启!时光飞逝,转眼已是2025。这一年,我依然坚持在CSDN平台持续创作,也见证了AI与智能体领域的持续升温,特别是MCP(模型上下文协议)技术带来的崭新突破。

值此CSDN平台年度技术盛会之际,博主将撰写一篇技术实战总结型文章,系统分享如何利用AI高效开发MCP服务插件,涵盖从本地调试、线上部署到智能体使用的全流程。

目录

MCP简介

MCP(Model Context Protocol,模型上下文协议) 是专为大语言模型(LLM)应用设计的开放协议,旨在实现 LLM 与外部工具和数据源的无缝集成。它通过统一的接口规范,将原本分散的 API 工具集成简化为"即插即用"模式,解决传统 API 工具中存在的多协议适配、高开发成本等问题。

特别注意:等你跑通一遍MCP后,回过来再看一遍MCP的解释,你就会对MCP模型上下文协议这个概念有所了解,确实是上下文。

MCP(Model Context Protocol)可以理解为让AI模型(比如ChatGPT)连接外部工具的"万能插座"

简单来说:

  • 以前AI只能靠自己的知识回答问题,现在通过MCP,AI可以安全地连接各种工具(比如读取文件、查询数据库、控制智能设备)。
  • 就像给你的电脑插上U盘或打印机一样,MCP让AI瞬间获得新能力,而且开发者可以轻松为AI创建新工具
  • 整个过程安全可控,AI只能使用你明确允许的工具,不会越权访问。

举个例子:有了MCP,你可以直接对AI说"帮我总结昨天写的文档",AI就会通过MCP读取你的文档并生成摘要,而之前这是做不到的。

下面博主就通过通义灵码插件来体验下MCP简单的开发和使用过程。

安装插件

博主使用VSCode进行开发,其核心辅助工具是"通义灵码"插件。安装非常简单,只需在VSCode扩展商店中搜索"Lingma"并安装,登录后即可开始使用它辅助MCP开发。

MCP开发

博主本次开发的MCP的功能主要是查询数据库表,设置多个工具,可以通过博主名查询博主当前排名,也可以输出所有排名信息等工具。

2025博客之星年度评选入围榜单公布:https://blog.csdn.net/blogdevteam/article/details/156200344

创建表

sql 复制代码
CREATE TABLE top300_ranking (
    id INT NOT NULL AUTO_INCREMENT COMMENT '编号',
    total_rank INT NOT NULL COMMENT '总排名',
    csdn_nickname VARCHAR(100) NOT NULL COMMENT 'CSDN昵称',
    blog_homepage VARCHAR(255) NOT NULL COMMENT '博客主页',
    original_score INT NOT NULL COMMENT '原创博文得分',
    quality_score INT NOT NULL COMMENT '质量分得分',
    identity_score INT NOT NULL COMMENT '身份得分',
    interaction_score INT NOT NULL COMMENT '互动得分',
    ranking_score INT NOT NULL COMMENT '上榜得分',
    total_score INT NOT NULL COMMENT '排名总分',
    add_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
    data_memo VARCHAR(500) COMMENT '备注',
    data_status TINYINT DEFAULT 1 COMMENT '数据状态(1-正常,0-删除,或其他状态码)',
    PRIMARY KEY (id),
    UNIQUE KEY uk_total_rank (total_rank),
    INDEX idx_csdn_nickname (csdn_nickname),
    INDEX idx_total_score (total_score DESC)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='TOP 300 榜单排名';

提示词

既然是AI,那就用自然语言来让AI帮我们写代码实现MCP服务功能。

核心提示词就是:编写一个FastMCP框架实现MCP Server的脚手架工程,生成pyhon文件。

目的是使用python对应的mcp框架。

编写一个FastMCP框架实现MCP Server的脚手架工程,生成pyhon文件。

这个MCP服务主要实现如下功能:

1、获取某个博主排名信息,并通过【博客主页网址】获取当前博主个人主页信息以及发表文章篇数信息

调用此工具功能,必须调用查询条件select * from top300_ranking where csdn_nickname='昵称值参数'

2、获取汇总信息

输出汇总信息sql语句,可以按总分等汇总信息输出

【下面是mysql表信息】

CREATE TABLE top300_ranking (

id INT NOT NULL AUTO_INCREMENT COMMENT '编号',

total_rank INT NOT NULL COMMENT '总排名',

csdn_nickname VARCHAR(100) NOT NULL COMMENT 'CSDN昵称',

blog_homepage VARCHAR(255) NOT NULL COMMENT '博客主页',

original_score INT NOT NULL COMMENT '原创博文得分',

quality_score INT NOT NULL COMMENT '质量分得分',

identity_score INT NOT NULL COMMENT '身份得分',

interaction_score INT NOT NULL COMMENT '互动得分',

ranking_score INT NOT NULL COMMENT '上榜得分',

total_score INT NOT NULL COMMENT '排名总分',

add_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',

data_memo VARCHAR(500) COMMENT '备注',

data_status TINYINT DEFAULT 1 COMMENT '数据状态(1-正常,0-删除,或其他状态码)',

PRIMARY KEY (id),

UNIQUE KEY uk_total_rank (total_rank),

INDEX idx_csdn_nickname (csdn_nickname),

INDEX idx_total_score (total_score DESC)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='TOP 300 榜单排名';

根据提示词,最终会生成的代码和结构如下:

安装依赖

博主觉得AI同时生成了README.md文件,帮我们把项目使用和启动等步骤都写得非常清楚,省了不少时间。

配置数据库连接

根据自己得mysql连接信息进行填写

启动服务

第一次启动得时候可能会提示一些报错,直接复制报错信息让AI进行修复即可,经过多轮修复后,启动得效果如下:

由于当前生成的代码是以STDIO方式启动的MCP服务,博主这里想使用的是http形式启动:

py app.py --transport http --host 127.0.0.1 --port 8080 --path /mcp

直接继续让AI进行修复兼容即可,基本不用写任何代码,全部由AI来完成。

下面就是以http方式启动效果图

复制网址在浏览器上是可以直接访问的,显示下面信息说明启动成功。

本地部署MCP

点击右上角得用户信息,下拉点击个人设置

点击MCP服务

点击MCP右上角的加号,相关信息填写如下:

名称:mcpcsdn(根据自己业务来)

类型:SSE或Streamable HTTP(STDIO这个类型还没试过)

服务地址:http://127.0.0.1:8080/mcp(就是刚刚启动的地址)

高级设置:博主这里暂时没有用到这个就没有填写,可留空

MCP服务这里就会自动获取对应工具信息

调用测试

询问: 全栈小5目前排名第几

AI会优先查找可用的MCP服务插件,然后智能调用对应的工具获取信息。


从上图可以看到,已经成功调用到MCP,并且查询数据库返回了相关信息,最后大模型根据从MCP工具中数据库表获取到的数据进行优化输出,博主询问的是全栈小5当前排名第几,不仅输出了博主是第几名,还有额外的具体各维度得分信息输出,第一轮博主得分440,属于中等分数,希望在接下来的两轮中取得好名次,也祝大家都能取得佳绩。

很显然,MCP在整个大模型AI输出过程中起到了数据补充的作用,是不是有点像知识库一样,而且还是动态化的数据,相比起知识库会更加灵活。

再测试个例子:
询问: 总分都有那些档次,划分档次并统计都有多少名博主

从上图可以看到,根据用户的提问AI能够准确知道调用获取所有排名的MCP工具,然后再进行汇总输出输出,是不是非常有意思,有没有对MCP有一定了解了。

档次划分 分数范围 人数 代表博主(示例)
顶级 500分 1 盼小辉丶(总分500分)
超高级 470-489分 4 夜郎king(485分)、青云交(480分)、猫头虎(470分)等
高级 450-469分 61 一键难忘、越重天、Francek Chen等(部分470分)及大量460/450分博主
中级 440分 97 比特魔法师、是Dream呀、全栈小5等(440分)
良好 430分 107 码农研究僧、工藤学编程、时光の尘等(430分)
中等 420分 84 几何心凉、Yeats_Liao、极客不孤独等(420分)
合格 410分 46 狮子也疯狂、繁依Fanyi、架构进化论等(410分)
总计 410-500分 300 全体博主

到此,本地化部署MCP服务插件就算完成了,虽然过程中会出现一些问题,但是基本都是可以通过AI进行多轮询问得到解决,并且在过程中博主基本没有写过一行代码,全程由AI来完成,实现思路由我们自己通过自然语言来控制。

线上部署

由于博主对Windows服务器更为熟悉,本次部署环境选定为Windows。

具体步骤为:首先在服务器上运行MCP服务的Python程序,随后配置Nginx反向代理,并绑定域名以实现外网访问。

上传源码

直接将本地python代码上传到外网服务里

安装Python

在启动前确保已经安装了python相关软件。

安装python软件的cmd命令,直接通过链接下载安装

base 复制代码
# 下载Python安装程序
curl -o python-installer.exe https://www.python.org/ftp/python/3.14.0/python-3.14.0-amd64.exe

或者直接下载进行安装(推荐用这个方式,下载速度比较快)

cmd命令:python --version,能够显示版本号则标识已经安装成功

安装依赖

直接在当前python文件目录执行cmd命令,README.md这个文件里也有具体步骤:

bash 复制代码
pip install -r requirements.txt

启动服务

在当前目录下,执行下面命令启动服务

py app.py --transport http --host 127.0.0.1 --port 8080 --path /mcp

nginx反向代理

在上一步,MCP服务已在服务器的本地环境成功启动。

接下来,需配置Nginx反向代理,将本地服务映射至公网域名,以实现通过域名访问。

nginx windows版本下载地址:https://nginx.org/en/download.html

建议解压到mcp所在同级目录

修改nginx.conf文件内容,由于博主的80端口已经被占用,这里使用其他端口号测试

base 复制代码
worker_processes  1;

# 必须要有 events 块
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    # 您的反向代理配置
    server {
        listen       8081;
        server_name  自己域名;
        
        location / {
            proxy_pass http://127.0.0.1:8080;
            
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            
            proxy_connect_timeout 60s;
            proxy_send_timeout 60s;
            proxy_read_timeout 60s;
        }
    }

    # 可选:默认的 localhost 服务器
    server {
        listen       8081;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

设置bat启动文件

base 复制代码
@echo off
cd C:\web\mcp_csdn\nginx
start nginx.exe
echo Nginx started.
pause

本地测试

直接在VSCode里通过域名方式来添加MCP

上架MCP

非常简单,和在VSCode里手动添加类似

工具调试


使用MCP

创建一个智能体并使用MCP,这里主要是用来测试,所以简单创建一个智能体引用MCP即可查看效果

到此,MCP的开发、本地部署、线上部署、智能体使用MCP就搞定啦

MCP和API区别

在开发MCP前博主有个疑问,为啥不直接用api就得了,非得出来个MCP,实际上他们也都是类似调用的一个地址,所以,这里还是要了解下他们之间的区别,也能知道MCP的核心价值。

特性维度 API MCP
全称与定义 应用程序编程接口 一种通用技术标准与规范,定义了软件组件之间如何通信。 模型上下文协议 一个具体的协议和框架,专为让AI助手能安全、标准化地使用工具和数据源而设计。
本质与角色 "通用语言"或"服务菜单" 任何软件(服务器、库、操作系统)都可以提供API,任何客户端(其他软件或开发者)都可以调用。 "专用工具箱连接协议" 它是API的使用者 ,也是一个标准化的包装层。它定义AI(客户端)如何发现、调用工具(服务器),以及工具如何被描述。
核心目的 实现系统间的集成与功能调用 。 (例如:前端获取后端数据,App集成支付功能) 安全、可控地扩展AI助手的能力边界 。 (例如:让AI能读取数据库、执行命令、操作日历,而无需微调模型本身)
主要使用者 开发者 编写代码来调用。 其他软件程序也可以调用。 AI助手/智能体 (如Claude Desktop, Cursor等)自动发现并调用。 (开发者负责为AI创建MCP工具)
关系与比喻 基础技术设施 。 好比电力系统(提供标准的电压和接口)。 建立在API之上的应用层协议 。 好比一套标准插头和智能家电协议,让所有电器都能安全、即插即用地接入电力系统,并被智能管家统一控制。
关键特性 - 风格多样(REST, GraphQL, gRPC等) - 注重性能、数据格式 - 认证和授权机制各异 - 标准化工具描述 (名称、参数、schema) - 资源概念 (可读取的静态数据流) - 强调安全与控制 (主机严格控制可用工具) - 动态发现(AI启动时自动获取可用工具列表)
一个简单类比 餐厅的纸质菜单和点餐流程 。 (顾客需要自己阅读菜单、呼叫服务员、说出菜品) 餐厅的智能点餐平板 。 (平板自动连接后,主动推送所有可点的菜,顾客(AI)只需描述需求,平板就能理解并格式化成标准订单发送后厨。)

了解之后,只要是后端开发语言,大部分都会有MCP插件库,像Python、Java、C#都有类似MCP插件库直接可使用和封装MCP。

总结

至此,MCP的开发、本地与线上的部署应用,以及智能体调用MCP的全流程已完成。

简而言之,它与常规API的作用类似,但封装了特定领域的业务逻辑,是大模型功能调用的标准化接口。

感兴趣的朋友可以动手实践体验MCP服务插件。
最后,祝CSDN 2025博客之星活动圆满成功,也祝各位参赛的大佬们都能取得优异成绩!

相关推荐
囊中之锥.2 小时前
《深度学习》CUDA安装配置、pytorch库、torchvision库、torchaudio库安装
人工智能·pytorch·深度学习
ttttming2 小时前
day33 简单神经网络
人工智能·深度学习·神经网络
IT·小灰灰2 小时前
探索即梦生图AI与AI Ping平台的创新融合:技术实践与代码实现
人工智能·python
deephub2 小时前
CALM自编码器:用连续向量替代离散token,生成效率提升4倍
人工智能·python·大语言模型
凌峰的博客3 小时前
基于深度学习的图像安全与隐私保护研究方向调研(中)
人工智能·深度学习·安全
aigcapi8 小时前
RAG 系统的黑盒测试:从算法对齐视角解析 GEO 优化的技术指标体系
大数据·人工智能·算法
上进小菜猪8 小时前
基于深度学习的河道垃圾检测系统设计(YOLOv8)
人工智能
上天夭9 小时前
模型训练篇
人工智能·深度学习·机器学习
小徐Chao努力9 小时前
【Langchain4j-Java AI开发】09-Agent智能体工作流
java·开发语言·人工智能