面包屑图标 当前位置: 首页
AI资讯
热点详情

快速上手:开发你的第一个MCP Server

AI热点日报
AI热点日报时间:2026-07-04
热点解读

想要快速掌握 MCP Server 开发?本文提供了一份完整的实战教程,从环境搭建到代码实现,再到通过 Cline 进行全流程测试,带你一步步走通所有环节。核心内容分为三部分:首先梳理主流 AI 应用对 MCP Server 的支持现状;接着动手实现一个能查询物流信息的 Server;最后使用 Cl

想要快速掌握 MCP Server 开发?本文提供了一份完整的实战教程,从环境搭建到代码实现,再到通过 Cline 进行全流程测试,带你一步步走通所有环节。核心内容分为三部分:首先梳理主流 AI 应用对 MCP Server 的支持现状;接着动手实现一个能查询物流信息的 Server;最后使用 Cline 连接并验证功能。

在《一文说清楚让LangChain大佬“开战”的MCP是什么?》中已经详细介绍了 MCP 的基本概念。简单来说,MCP 为连接 AI 应用与数据源提供了一个通用的开放标准,用单一协议取代了碎片化的集成方式。通过这一机制,能力有限的 AI 应用可以变得更加强大和灵活。

在整个 MCP 架构中,AI 应用(例如 Cline)作为 MCP Hosts,通过内部的 MCP Client 接入不同的 MCP Server,从而实现增强能力的目标。

根据 MCP 协议,当 AI 应用连接到 MCP Server 后,可以获取 Tool、Prompts、Resources 等多种能力。

更多背景知识可以回看那篇基础文章。接下来直接进入实战环节。

1. 主流AI应用对MCP Server能力的支持现状

目前 MCP 仍处于快速发展阶段,从官方公开的信息可以看出,主流 AI 应用对 Tool 能力的支持已经非常广泛,这也是本文要重点演示的核心能力。

2. 手把手实现MCP Server

我们将实现一个简单的 Server,它会提供一个 tool,可以通过订单号查询物流信息。这个 Server 在整个架构中的位置就是下图中绿色的模块:

2.1 开发环境配置

首先安装 uv 并设置 Python 项目和环境。uv 是一个用 Rust 编写的极快的 Python 包和项目管理器,能够显著提升依赖管理效率。

安装uv工具(Windows)

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

重新开启一个终端,并确认uv已经安装成功

PS G:workspaceideapyhello-mcp-server> uv version
uv 0.6.6 (c1a0bb85e 2025-03-12)

在 macOS/Linux 环境中安装 uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

创建项目,初始化环境:

# 初始化项目
uv init hello-mcp-server

# 创建Python虚拟环境
cd hello-mcp-server
uv venv

# 激活虚拟环境
.venvScriptsactivate

# 安装依赖
uv add mcp[cli]

2.2 创建MCP Server:hello_mcp_server.py

新建一个 Server,并添加 tool 来模拟通过订单号查询物流信息的功能。

2.2.1 定义Server实例

导入必要的包并定义 mcp 实例:

"""
pip install mcp[cli]
"""
from mcp.server.fastmcp import FastMCP
from pydantic import Field

# Initialize FastMCP server
mcp = FastMCP("hello-mcp-server", log_level="ERROR")

2.2.2 注册Tool工具

通过 @mcp.tool() 注解,可以将一个函数注册为 Tool:

# 注册工具的装饰器,可以很方便的把一个函数注册为工具
@mcp.tool()
async def query_logistics(order_id: str = Field(description="订单号")) -> str:
    """查询物流信息。当用户需要根据订单号查询物流信息时,调用此工具

    Args:
        order_id: 订单号

    Returns:
        物流信息的字符串描述
    """
    # 统一的物流信息数据
    tracking_info = [
        {"time": "2024-01-20 10:00:00", "status": "包裹已揽收", "location": "深圳转运中心"},
        {"time": "2024-01-20 15:30:00", "status": "运输中", "location": "深圳市"},
        {"time": "2024-01-21 09:00:00", "status": "到达目的地", "location": "北京市"},
        {"time": "2024-01-21 14:00:00", "status": "派送中", "location": "北京市朝阳区"},
        {"time": "2024-01-21 16:30:00", "status": "已签收", "location": "北京市朝阳区三里屯"}
    ]

    # 格式化物流信息
    result = f"物流单号:{order_id}\n\n物流轨迹:\n"
    for item in tracking_info:
        result += f"[{item['time']}] {item['status']} - {item['location']}\n"

    return result

2.2.3 通过MCP Inspector测试Server

MCP Inspector 是一个交互式开发工具,专门用于测试和调试 MCP 服务器。

启动MCP Inspector:

执行命令:mcp dev hello_mcp_server.py

(hello-mcp-server) PS G:workspaceideapyhello-mcp-server> mcp dev hello_mcp_server.py
Starting MCP inspector...
Proxy server listening on port 3000

? MCP Inspector is up and running at http://localhost:5173 ?

在浏览器中打开 http://localhost:5173 即可进入界面。

连接MCP Server:

点击“Connect”启动 MCP Server 并建立连接。具体配置如下:

  • 传输层:使用标准输入输出
  • 命令:uv
  • uv 命令的参数根据项目路径填写

查询所有Tool:

  1. 点击“Tools”能力标签
  2. 点击“List Tools”,查询 server 中所有的 tool(调用协议的 tools/list 端点)
  3. 显示所有 tool 列表

执行Tool测试:

  1. 选择需要测试的 tool
  2. 输入入参:ORDER-123456,点击“Run Tool”(调用协议的 tools/call 端点)
  3. Tool 成功返回结果

3. 通过Cline测试MCP Server

打开 Cline,点击顶部的“MCP Server”。

选择“Installed”标签。

点击“Configure MCP Servers”,右侧将弹出配置文件。填入刚刚编写的服务器配置信息并保存:

"hello-mcp-server": {
  "name": "第一个MCP服务",
  "key": "hello-mcp-server",
  "command": "uv",
  "args": [
    "--directory",
    "G:\workspace\idea\py\hello-mcp-server\",
    "run",
    "--with",
    "mcp",
    "mcp",
    "run",
    "hello_mcp_server.py"
  ],
  "disabled": false,
  "autoApprove": []
}

完整命令解析如下:

uv --directory G:workspaceideapyhello-mcp-server run --with mcp mcp run hello_mcp_server.py

可分解为三段:

  1. uv --directory G:\workspace\idea\py\hello-mcp-server 指定工作目录
  2. run --with mcp 运行时必须安装 mcp 包
  3. mcp run hello_mcp_server.py 使用 mcp 启动 server

左侧将生成对应的服务列表,点击“Done”退出。在 Cline 对话框中输入提示词:查一下订单为“ORDER-123456”的物流信息。Cline 随即调用 MCP Server,点击“Approve”同意,Server 调用成功。

(Cline 交互截图省略,但实际测试中可看到完整流程。)

3.1 Cline连接MCP Server的客户端源码分析

Cline(相当于 MCP 架构中的 Host)的源码中,MCP 相关代码位于 src/services/mcp/McpHub.ts,其中 MCP Client 连接 MCP Server 的核心逻辑在 connectToServer 方法中:

private async connectToServer(name: string, config: StdioServerParameters): Promise {
  ...

  try {
    // 创建新的MCP客户端实例,设置客户端名称和版本信息
    const client = new Client(
      {
        name: "Cline",
        version: this.providerRef.deref()?.context.extension?.packageJSON?.version ?? "1.0.0",
      },
      {
        capabilities: {},        // 客户端没有给服务端暴露能力
      },
    )

    // 创建标准输入输出传输实例,配置命令、参数和环境变量
    // 这里就是配置文件的内容
    const transport = new StdioClientTransport({
      command: config.command,
      args: config.args,
      env: {
        ...config.env,
        ...(process.env.PATH ? { PATH: process.env.PATH } : {}),
      },
      stderr: "pipe",
    })

    ......

    // 启动传输层,建立实际的进程间通信通道
    await transport.start()

    ...

    // 建立MCP客户端连接
    // 连接成功后更新服务器状态为已连接,清除错误信息
    // 初始化并获取服务器提供的工具和资源列表
    await client.connect(transport)
    connection.server.status = "connected"
    connection.server.error = ""

    // 初始化获取工具资源列表
    connection.server.tools = await this.fetchToolsList(name)
    connection.server.resources = await this.fetchResourcesList(name)
    connection.server.resourceTemplates = await this.fetchResourceTemplatesList(name)
  } catch (error) {
    ......
  }
}

至此,我们成功实现了一个提供 Tool 能力的 MCP Server。整个流程跑通后,你可以在自己的 AI 应用中快速集成类似能力,让 AI 真正具备扩展性和实用性。

热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:快速上手:开发你的第一个MCP Server要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
来源:https://www.53ai.com/news/finetuning/2025032120374.html
ai 人工智能

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关热点
AI热点2026-07-04 19:00
Daetama数据科学完整准备工作系统指南与精选学习资源汇总

Daetama是面向数据科学面试和SQL能力提升的练习平台,已收录超100个覆盖基础到进阶的SQL题目,求职板块与课程模块在开发中,团队保持每周更新节奏,提供系统性刷题与模拟面试场景。

AI热点2026-07-04 19:00
AI驱动配音平台 Speakmulti

SpeakMulti是一款AI驱动的配音平台,可将YouTube视频翻译成多种语言,保留原始说话者的音色和语调,降低本地化成本。用户提交视频并选择目标语言后,AI自动完成配音,并由专家团队审核,确保准确自然。

AI热点2026-07-04 18:59
Umi-OCR图片转文字识别软件

需求人群 如果你经常需要从图片中提取文字——例如整理截图内容、翻译图片里的外语文本、识别带有水印的图片信息——那么 Umi-OCR 无疑是一款相当实用的工具。它完全在本地运行,无需联网,对隐私保护极为友好。 产品特色 这款工具的核心亮点都集中在实用性上。截屏识别操作非常顺手,按下快捷键即可框选区域,

AI热点2026-07-04 18:59
用AI生成你最爱的画家或艺术运动风格绘画

艺术创作与人工智能的融合,正在开启一个全新的创作时代。moonlightai 正是这样一款AI绘画工具,能够帮助用户通过人工智能快速生成不同风格的绘画作品——无论你想复刻文艺复兴时期的古典优雅,还是为画作注入梵高般炽热的笔触,甚至从艾沃佐夫斯基的海浪星空中汲取灵感,它都能轻松实现。 需求人群 简单来

延伸阅读