[控场AI]
教程攻略· 8 分钟阅读· 4,005 字

Claude MCP服务搭建全流程:从本地开发到远程部署

Claude MCP服务搭建全流程:从本地开发到远程部署

MCP协议标准化AI调用外部工具的方式,从本地开发到远程部署全流程解析

MCP(Model Context Protocol)是Anthropic开源的标准协议,将AI与外部工具的集成从M×N简化为M+N。本文介绍了使用FastMCP框架本地开发MCP服务器的四步流程(环境设置、代码开发、CLI注册、工具调用),解析了STDIO和Streamable HTTP两种通信模式,并讲解了通过Docker容器化部署到云服务器的远程方案。目前阿里云、腾讯云等大厂已积极落地MCP服务。

什么是MCP服务?

MCP(Model Context Protocol)是一种让AI模型调用外部工具和服务的标准协议。该协议由Anthropic于2024年11月正式开源,其设计灵感来源于语言服务器协议(LSP,Language Server Protocol)——正是LSP让VS Code等编辑器能够通过统一接口支持数百种编程语言。MCP试图解决AI领域同样的碎片化问题:此前每个AI应用都需要为每个外部工具单独开发集成代码,形成M×N的复杂度爆炸。MCP将这种关系标准化为M+N,任何兼容MCP的AI客户端都能调用任何兼容MCP的服务器,无需重复开发。通过MCP,Claude等AI助手可以直接与本地或远程服务进行交互,极大扩展了AI的能力边界。

目前已有多种成熟的MCP服务可供使用:

  • Playwright:为AI提供浏览器自动化能力,可进行自动化测试、网页浏览和数据抓取
  • Figma:直接调用Figma设计稿生成代码,实现设计到开发的无缝衔接
  • GitHub:AI直接与GitHub平台交互,进行代码管理操作

除了使用现成的MCP服务,我们也可以自己构建MCP服务器。本文将详细介绍从本地搭建到远程部署的完整流程。

本地构建MCP服务器

本地构建MCP服务器分为四个步骤:环境设置、MCP服务器开发、Claude CLI配置、工具调用。

第一步:环境设置

开发环境使用VS Code,需要完成以下准备工作:

  1. 安装Python及相关插件(Python、Python Environment)
  2. 通过命令面板创建Python虚拟环境:打开命令面板,选择"Python Create Environment",选择venv模式
  3. 使用pip安装MCP和CLI依赖:
pip install mcp cli

如果安装速度较慢,可以使用UV工具加速安装。整个安装过程大约需要2-3分钟。

第二步:编写MCP服务器代码

创建一个Python脚本,使用FastMCP框架定义MCP服务器和工具方法。FastMCP是MCP Python SDK的高层封装,借鉴了FastAPI的设计哲学——通过Python装饰器(Decorator)将普通函数声明式地转化为可被外部调用的接口。装饰器@mcp.tool()在运行时会自动解析函数签名、参数类型注解和文档字符串,生成符合MCP规范的工具描述(Tool Schema),AI模型正是依赖这份Schema来理解工具的功能和参数要求。这种设计让开发者无需手动编写JSON Schema,大幅降低了MCP服务的开发门槛:

from fastmcp import FastMCP
import time

# 创建MCP服务器
mcp = FastMCP("MyTools")

# 获取当前时间
@mcp.tool()
def get_current_time():
    return time.strftime("%Y-%m-%d %H:%M:%S")

# 计算两个数的和
@mcp.tool()
def add(a: int, b: int):
    return a + b

# 获取商品价格
@mcp.tool()
def get_product_price(product_id: int):
    prices = {100: 10, 101: 15, 102: 20}
    return prices.get(product_id, "未找到")

if __name__ == "__main__":
    mcp.run()

这段代码定义了三个工具方法:获取当前时间、计算两数之和、查询商品价格。通过装饰器@mcp.tool()即可将普通函数注册为MCP工具,代码结构简洁直观。

第三步:在Claude CLI中注册MCP服务

MCP服务注册配置

打开终端,切换到VS Code相同的工作目录,执行注册命令:

claude mcp add --scope project MyTools python script.py

命令参数说明:

  • claude mcp add:添加MCP服务
  • --scope project:作用域为当前项目
  • MyTools:MCP服务的名称
  • 后面是Python运行环境和脚本路径

注册成功后,VS Code会自动生成mcp.json配置文件,无需手动处理。

第四步:调用MCP工具

启动Claude CLI,通过/mcp命令可以查看已连接的MCP服务状态。

调用MCP工具示例

调用MCP服务有两种方式:

隐式调用:直接向Claude提问,Agent会自动判断并调用相应的MCP工具。这一能力底层依赖大语言模型的Function Calling(函数调用)技术——模型在推理时会接收到所有已注册MCP工具的Schema描述,通过理解用户意图来决定是否调用工具、调用哪个工具以及如何填充参数。Claude、GPT-4等主流模型均经过专门的Function Calling能力训练,能够准确识别"现在几点了"这类隐含工具调用意图的问题,并生成符合JSON Schema规范的调用参数,再由MCP客户端负责实际执行。

显式调用:明确指定使用某个MCP服务的某个方法。例如"请使用MyTools服务中的add方法计算3+5",Claude会直接调用指定的工具函数。

MCP通信模式解析

STDIO通信模式

本地MCP服务使用的是STDIO(标准输入输出)模式。STDIO是Unix系统中最基础的进程间通信机制,MCP客户端作为父进程启动MCP服务器子进程,双方通过标准输入输出流交换JSON-RPC格式的消息。这种方式延迟极低、无需网络配置,但天然局限于单机环境,适合本地开发和调试场景。

远程MCP服务则采用Streamable HTTP模式,基于HTTP/1.1或HTTP/2协议,支持服务器推送事件(SSE,Server-Sent Events),允许服务器主动向客户端推送长时间运行任务的中间状态,特别适合需要流式返回结果的AI工具调用场景。两种模式在MCP规范中均有明确定义,开发者可根据部署环境灵活切换,适合生产环境部署。

部署MCP服务到远程服务器

在实际工作中,我们通常需要将MCP服务部署到外网,供团队或用户远程调用。

Docker容器化部署

服务端改造与部署

  1. 修改传输模式:将MCP服务的通信模式从STDIO改为Streamable HTTP
  2. 容器化部署:将代码打包为Docker镜像,部署到Docker环境中。Docker容器化解决了MCP服务部署中的环境一致性问题——MCP服务器往往依赖特定版本的Python运行时、第三方库及系统工具,容器将这些依赖打包为不可变镜像(Immutable Image),确保开发、测试、生产环境的行为完全一致。在云服务器上,容器还天然支持水平扩展(Horizontal Scaling),当MCP服务请求量增大时,可通过Kubernetes等编排工具快速启动多个容器实例,配合负载均衡器分发请求,保障服务的高可用性。
  3. 云服务器部署:将容器部署到阿里云广告、腾讯云广告等有公网IP的服务器
  4. 网关配置:配置网络网关,确保外部可以正常访问MCP服务

客户端配置

编辑本地的claude_config.json文件,添加远程服务器的配置信息(包括远程URL地址),即可在本地直接调用远程MCP服务。

大厂MCP落地现状

目前已有多家大厂在积极推进MCP服务的落地应用:

  • 阿里云百炼平台:已通过MCP服务集成了60多种服务,覆盖多个业务场景
  • 腾讯云:同样支持了大量MCP服务的接入

未来,无论是新闻资讯、购物支付,还是政务服务等领域,企业都需要落地自己的MCP服务,将现有业务能力以标准化的方式暴露给AI调用。

总结

MCP服务为AI与外部系统的交互提供了标准化的解决方案。从本地开发到远程部署,整个流程清晰明了:本地使用FastMCP框架快速开发工具,通过Claude CLI注册和测试,最后通过Docker容器化部署到云服务器。随着越来越多大厂的落地实践,MCP正在成为AI应用开发的重要基础设施。

核心要点

  • MCP服务通过STDIO(本地)和Streamable HTTP(远程)两种通信模式,让AI能够调用外部工具和服务
  • 本地搭建MCP服务器只需四步:环境设置、代码开发、CLI注册、工具调用,使用FastMCP框架可快速实现
  • 远程部署需要将传输模式改为Streamable HTTP,并通过Docker容器化部署到云服务器
  • 调用MCP服务支持隐式(AI自动判断,基于Function Calling技术)和显式(指定服务和方法)两种方式
  • 阿里云、腾讯云等大厂已落地MCP服务,集成了60多种服务能力
#MCP服务搭建#Model Context Protocol#Claude MCP#FastMCP框架#MCP服务器部署#Claude CLI配置#AI工具调用#MCP远程部署
分享:

相关推荐