乐于分享
好东西不私藏

MCP 协议深度解析:AI 工具生态的USB接口

MCP 协议深度解析:AI 工具生态的USB接口

MCP 协议深度解析:为什么它可能是 AI 工具生态的"USB接口"?

2024 年 11 月,Anthropic 发布了一个名为 Model Context Protocol(MCP)的开源协议。没有大张旗鼓的发布会,没有铺天盖地的营销,但整个 AI 工具圈几乎同时安静了下来——然后开始疯狂讨论。

Block(原 Square)的 CTO 公开站台,Zed、Replit、Sourcegraph 等开发工具纷纷跟进集成,GitHub 上相关仓库的 star 数以肉眼可见的速度攀升。一个协议而已,凭什么?

这篇文章,我试着从程序员的视角,把 MCP 拆清楚——它到底是什么,为什么重要,以及你为什么应该现在就开始关注它。

一、MCP 是什么?一个 USB 式的类比

先不讲术语,让我们回到 1990 年代中期的个人电脑世界。

那时候你要给电脑接一个打印机,需要打印机接口;接一个鼠标,需要串口/PS2 口;接一个扫描仪,又要 SCSI 接口;接一个调制解调器,还得有 COM 口。每个外设厂商都有自己的驱动程序、自己的连接方式、自己的通信协议。作为用户,你的体验是:插不进去,接不上去,装不起来

然后 USB(Universal Serial Bus)来了。一个标准接口,统一了所有外设的连接方式。你不需要再关心打印机用的是并行口还是 USB 口——只要是 USB,插上就能用。USB 做的事情本质上是定义了一套统一的通信协议,让不同的设备之间能够标准化地交换数据。

现在,让我们把目光转回 AI 工具生态。

在 MCP 出现之前,AI 应用要接入外部数据源和工具,处境和 USB 之前的个人电脑惊人地相似。每个 AI 应用都需要为每个数据源写一套自定义的集成代码:

  • 要让 Claude 读取你的 GitHub 仓库?写一个 Claude 专用的 GitHub 插件。
  • 要让 ChatGPT 查询你的数据库?再写一个 OpenAI 专用的数据库连接器。
  • 要让 Copilot 访问你的 Slack 频道?再来一个 Copilot 专用的 Slack 集成。

同样的数据源,不同的 AI 应用,重复造轮子。N 个 AI 应用 x M 个数据源 = N x M 个集成。复杂度是 O(N*M)。

MCP 要做的,就是 AI 工具生态的 USB。它定义了一套开放标准协议,让 AI 应用(Host)可以统一地连接到各种外部工具和数据源(Server),而不需要为每个组合写自定义代码。

MCP = Model Context Protocol = 模型上下文协议。顾名思义,它解决的是"模型如何获取上下文"这个问题。

有了 MCP 之后,复杂度变成了 O(N+M):每个数据源写一个 MCP Server,每个 AI 应用实现一个 MCP Client,它们之间通过标准协议通信。一次接入,处处可用。

二、MCP 的架构拆解

理解 MCP 的关键,是理解它的三层架构。

2.1 三大角色:Host、Client、Server

MCP 采用的是经典的客户端-服务器架构,但引入了一个"宿主"概念,形成了三个角色:

┌──────────────────────────────────────┐ │            Host(宿主)               │ │  Claude Desktop / Claude Code / IDE  │ │                                      │ │   ┌──────────┐    ┌──────────┐      │ │   │ Client 1 │    │ Client 2 │ ...  │ │   └────┬─────┘    └────┬─────┘      │ │        │               │             │ └────────┼───────────────┼─────────────┘          │               │     ┌────▼─────┐   ┌────▼─────┐     │ Server A │   │ Server B │     │ (GitHub) │   │ (DB)     │     └──────────┘   └──────────┘

Host(宿主):LLM 应用程序,比如 Claude Desktop、Claude Code、Zed 编辑器等。它是发起连接的一方,也是用户直接交互的界面。一个 Host 内部可以包含多个 Client。

Client(客户端):位于 Host 内部的连接器,维护与 Server 的 1:1 连接。Client 负责与 Server 之间的通信协议处理,包括消息的发送、接收和解析。

Server(服务端):提供具体能力和数据的服务进程。比如一个 GitHub Server 可以让 AI 读取仓库、创建 Issue;一个数据库 Server 可以让 AI 执行查询。每个 Server 是独立的进程,通过标准传输层与 Client 通信。

这种架构的一个重要设计决策是:Host 和 Client 是 1:N 的关系,Client 和 Server 是 1:1 的关系。这意味着 Host 可以同时连接多个 Server,获取来自不同数据源的上下文信息。

2.2 通信协议:JSON-RPC 2.0

MCP 的底层通信采用的是 JSON-RPC 2.0,这是一个轻量级的远程过程调用协议,以 JSON 格式编码消息。

MCP 支持两种传输方式:

  • Stdio 传输
    :通过标准输入/输出通信,适合本地进程。这是最常见的方式,MCP Server 作为子进程运行,通过 stdin/stdout 与 Host 交换消息。
  • Streamable HTTP 传输
    :基于 HTTP 协议,支持服务器推送事件(SSE),适合远程服务。

一个典型的 MCP 消息交换流程如下:

// 1. Client 发送 initialize 请求 {   "jsonrpc": "2.0",   "id": 1,   "method": "initialize",   "params": {     "protocolVersion": "2025-03-26",     "capabilities": {},     "clientInfo": {       "name": "claude-desktop",       "version": "1.0.0"     }   } }  // 2. Server 返回能力声明 {   "jsonrpc": "2.0",   "id": 1,   "result": {     "protocolVersion": "2025-03-26",     "capabilities": {       "tools": {},       "resources": {},       "prompts": {}     },     "serverInfo": {       "name": "github-server",       "version": "0.1.0"     }   } }  // 3. Client 发送 initialized 通知 {   "jsonrpc": "2.0",   "method": "notifications/initialized" }

初始化完成后,双方开始正常通信。Server 在初始化时会声明自己支持哪些能力(tools、resources、prompts),Client 据此决定后续可以使用哪些功能。

2.3 三大核心能力:Tools、Resources、Prompts

MCP Server 可以向 Client 暴露三种类型的能力:

🔧 Tools(工具):让 AI 执行操作

Tools 是 MCP 最核心、最强大的能力。它允许 LLM 通过 Server 执行实际的操作——创建 Issue、查询数据库、发送消息、操作文件等。

每个 Tool 包含:

  • name
    :唯一标识符
  • description
    :人类可读的描述(LLM 据此决定是否调用)
  • inputSchema
    :参数定义(JSON Schema 格式)
  • annotations
    (可选):行为提示,如是否只读、是否有破坏性
{   "name": "github_create_issue",   "description": "在指定仓库创建一个新 Issue",   "inputSchema": {     "type": "object",     "properties": {       "repo": { "type": "string", "description": "仓库名称,如 owner/repo" },       "title": { "type": "string", "description": "Issue 标题" },       "body": { "type": "string", "description": "Issue 内容" }     },     "required": ["repo", "title"]   } }

📂 Resources(资源):让 AI 获取数据

Resources 是只读的上下文数据。比如文件内容、数据库记录、API 返回的配置信息等。它更像是"AI 可以读取的文件"。

每个 Resource 通过 URI 标识,支持两种内容类型:文本(UTF-8)和二进制(base64 编码)。

{   "uri": "file:///home/user/project/README.md",   "name": "项目说明文档",   "mimeType": "text/markdown" }

Resources 还支持订阅机制——Client 可以订阅某个 Resource,当内容变化时 Server 会主动通知,实现实时数据同步。

💬 Prompts(提示词):复用工作流模板

Prompts 是预定义的提示词模板,支持动态参数。它可以被 Client 展示为斜杠命令、快捷操作等 UI 元素。

{   "name": "code-review",   "description": "对代码进行审查分析",   "arguments": [     {       "name": "language",       "description": "编程语言",       "required": true     }   ] }

当用户调用这个 Prompt 时,Server 会返回一段完整的消息序列(可以包含多轮对话),指导 LLM 执行特定任务。

三者的区别可以用一句话概括:

Resources 是"读数据",Tools 是"做操作",Prompts 是"定流程"。

三、为什么 MCP 如此重要?

3.1 解决 AI 工具碎片化问题

目前的 AI 工具集成生态是一个典型的"巴尔干化"局面。

Anthropic 有自己的工具调用格式,OpenAI 有自己的 Function Calling 规范,Google 有自己的 Tool Use API。即使你只想让 AI 做一件简单的事——查一下数据库——你也需要根据使用的 AI 模型来写不同的集成代码。

MCP 把"AI 如何调用工具"和"工具本身是什么"解耦了。工具提供者只需要写一次 MCP Server,所有支持 MCP 的 AI 应用都可以直接使用。

3.2 一次接入,处处可用

这是一个巨大的效率提升。作为工具/服务的开发者:

之前:你需要为 Claude 写一个集成、为 ChatGPT 写一个集成、为 Copilot 写一个集成……

之后:你写一个 MCP Server,所有 MCP 兼容的 Host 都能直接用。

作为 AI 应用的开发者:

之前:你要为每个数据源写自定义连接器。

之后:你实现一个 MCP Client,就可以连接所有 MCP Server。

3.3 标准化带来的生态效应

技术圈的历史反复证明:标准化的协议会催生繁荣的生态系统

  • HTTP 标准化催生了整个 Web 生态
  • USB 标准化催生了海量的外设生态
  • LSP(Language Server Protocol)标准化让任何编辑器都能获得一流的代码智能

MCP 正在走的,就是 LSP 的路。LSP 统一了"编辑器如何与语言服务通信"的标准,让 VS Code、Neovim、Emacs、Zed 都能共享同一套语言支持。MCP 则统一了"AI 应用如何与外部工具和数据通信"的标准。

如果 MCP 成功,我们将会看到一个巨大的"AI 工具商店"生态——开发者贡献 MCP Server,用户按需安装使用,就像安装 VS Code 插件一样简单。

四、实战:构建一个简单的文件系统 MCP Server

光说不练假把式。让我们用 Python SDK 来构建一个简单的文件系统 MCP Server,它可以列出目录内容、读取文件。

以下代码基于 MCP 官方 Python SDK(mcp 包),协议版本为 2025-03-26

# file_system_server.pyimport os import mcp.server.stdio import mcp.types as types from mcp.server import Server, NotificationOptions from mcp.server.models import InitializationOptions from typing import Any  # 1. 创建 Server 实例 server = Server("file-system")  # 2. 声明可用的工具 @server.list_tools() async defhandle_list_tools() -> list[types.Tool]:     return [         types.Tool(             name="list_directory",             description="列出指定目录下的文件和子目录",             inputSchema={                 "type""object",                 "properties": {                     "path": {                         "type""string",                         "description""目录的绝对路径"                     }                 },                 "required": ["path"]             },             annotations={                 "readOnlyHint"True,                 "openWorldHint"False             }         ),         types.Tool(             name="read_file",             description="读取指定文件的内容",             inputSchema={...},             annotations={...}         )     ]  # 3. 实现工具调用逻辑 @server.call_tool() async defhandle_call_tool(     name: str, arguments: dict | None ) -> list[types.TextContent | ...]:     # 根据 name 分发到不同的处理逻辑# list_directory / read_file     ...  # 4. 启动 Serverasync defmain():     async with mcp.server.stdio.stdio_server() as (read_stream, write_stream):         await server.run(             read_stream, write_stream,             InitializationOptions(                 server_name="file-system",                 server_version="0.1.0",                 capabilities=server.get_capabilities(...),             ),         )

代码量不大,但麻雀虽小五脏俱全。来看关键设计:

Server 初始化时声明 server_name 和 capabilities,告诉 Client 自己支持什么。

list_tools() 装饰器注册工具列表处理器,用 JSON Schema 定义每个工具的参数。

call_tool() 装饰器注册工具调用处理器,根据 name 分发到不同的处理逻辑。

annotations 提供行为提示——readOnlyHint: true 告诉 Client 这个工具不会修改任何数据,可以放心调用。

要把这个 Server 接入 Claude Desktop,只需要在配置文件中添加:

{   "mcpServers": {     "file-system": {       "command": "python",       "args": ["/path/to/file_system_server.py"]     }   } }

重启 Claude Desktop 后,它就能自动发现 list_directory 和 read_file 两个工具,并开始使用了。

五、已有的 MCP 生态

MCP 的发展速度令人印象深刻。从 2024 年 11 月发布至今不到一年,生态已经相当丰富。

5.1 Anthropic 自家的支持

  • Claude Desktop
    :最早支持 MCP 的客户端,通过 claude_desktop_config.json 配置本地 MCP Server。
  • Claude Code
    (CLI 工具):深度集成了 MCP,是目前最活跃的 MCP 客户端之一。它可以通过配置文件同时连接多个 MCP Server,让 AI 直接操作文件系统、数据库、Git 仓库等。

5.2 官方参考 Server

Anthropic 在 GitHub 上维护了一批参考实现,涵盖常见开发场景:

Server
功能
Filesystem
安全的文件操作,支持路径白名单
Git
读取、搜索、操作 Git 仓库
GitHub
GitHub API 集成(Issue、PR、文件操作)
Memory
基于知识图谱的持久化记忆系统
Sequential Thinking
动态反思式问题求解
Fetch
Web 内容抓取和转换
PostgreSQL
只读数据库访问
Puppeteer
浏览器自动化
Slack
频道管理和消息发送

此外还有 SQLite、Redis、Google Drive、Google Maps、Sentry、GitLab 等 Server。

5.3 社区和厂商的跟进

MCP 的野心不止于 Anthropic 生态。目前已经有以下厂商和项目开始支持 MCP:

  • Block(原 Square)
    :已经在生产环境中使用 MCP 构建 agentic 系统
  • Zed
    :支持 MCP 集成的 AI 编辑器
  • Replit
    :通过 MCP 增强 AI Agent 的上下文获取能力
  • Sourcegraph
    :利用 MCP 让 AI 更好地理解代码库上下文
  • Cursor
    :支持 MCP Server 连接
  • Windsurf
    :支持 MCP Server 连接

官方 SDK 已经覆盖了主流编程语言:TypeScript、Python、Java、Kotlin、Go、Rust、C#、Ruby、PHP、Swift。

5.4 MCP Registry

官方已经上线了 MCP Registry(mcprecord.com),作为一个集中的 MCP Server 发布和发现平台,类似 npm 之于 Node.js。开发者可以发布自己的 Server,用户可以搜索和安装。

六、MCP 的局限和挑战

作为一个相对年轻的协议,MCP 虽然前景光明,但目前仍有一些不可忽视的局限性。

6.1 性能开销

MCP 的通信基于 JSON-RPC,每个工具调用都需要经过序列化/反序列化、进程间通信的完整流程。相比直接调用 API,这引入了额外的延迟和 CPU 开销。

对于本地场景(Stdio 传输),这个开销通常可以接受。但对于远程场景,尤其是需要大量数据传输或高频调用的场景,性能可能成为瓶颈。

6.2 安全问题

MCP Server 本质上是一个代码执行通道——LLM 通过 Tools 可以执行任意操作。这就带来了严重的安全挑战:

  • 权限控制
    :Server 如何限制 LLM 可以做什么?比如文件系统 Server 是否应该限制只能读特定目录?
  • 用户授权
    :每次工具调用是否都需要用户确认?如何在安全性和体验之间取得平衡?
  • 恶意 Server
    :如果安装了恶意的 MCP Server,它可能在 LLM 不知情的情况下执行有害操作。
  • 数据泄露
    :Server 可以看到 LLM 的请求内容,敏感信息可能通过 Server 泄露。

MCP 官方规范中详细讨论了这些问题,提出了"用户必须显式授权"等原则,但具体的实现和最佳实践仍在快速演进中。

6.3 标准化进程

MCP 的协议版本目前为 2025-03-26,还在快速迭代中。这意味着:

  • API 可能发生变化,早期实现可能需要迁移
  • 不同客户端和服务器对协议的支持程度可能不一致
  • 一些高级特性(如 Sampling、远程 Server)还在开发中
  • 传输层的安全标准(认证、授权)尚未完全成熟

6.4 生态碎片化的风险

虽然 MCP 的目标是标准化,但目前各家厂商的实现程度和方式并不完全一致。如果大厂商各自"带私货"——加入自己的扩展——那 MCP 可能反而加剧碎片化。

七、程序员为什么要关注 MCP?

说了这么多,作为技术人员,MCP 和你的关系到底在哪里?我认为至少有三个切入点。

7.1 为自己的工具/服务写 MCP Server

如果你有一个内部服务、一个 CLI 工具、一个数据平台,写一个 MCP Server 可以让所有 AI 应用直接使用它。这不是远未来的事情——今天就可以做。

想象一下:你公司有一个内部知识库 API。你花半天写一个 MCP Server,第二天全公司的 Claude Desktop 用户就能让 AI 直接查询知识库了。投入产出比极高

7.2 在自己的应用中集成 MCP Client

如果你正在开发一个 AI 应用(无论是聊天机器人、代码助手还是其他什么),集成 MCP Client 可以让你的应用瞬间获得丰富的工具和上下文来源。

你不需要自己实现 GitHub 集成、Slack 集成、数据库集成……MCP 生态中已经有大量现成的 Server。你的应用只需要实现 MCP Client 协议,就能"站在巨人的肩膀上"。

7.3 MCP 可能带来的新机会

每一次协议的标准化,都会催生一批新的产品和商业模式:

  • MCP Server 即服务
    :提供托管化的 MCP Server,让用户无需自己部署
  • MCP Server 市场
    :类似 VS Code Marketplace,集中化的 Server 分发和评级平台
  • MCP 安全审计工具
    :帮助用户评估 MCP Server 的安全风险
  • MCP 开发框架
    :简化 MCP Server 开发的低代码/无代码平台
  • MCP 监控和可观测性
    :追踪 MCP 调用链、性能、错误率

如果你是创业者或技术负责人,现在就是观察和布局的时机。

结语

MCP 本质上是在解决一个非常朴素的问题:如何让 AI 和真实世界的数据/工具有效连接

在 AI 模型能力飞速进步的今天,"模型的脑子够不够聪明"已经不再是唯一的瓶颈——"模型的手够不够长,能不能触达到真正有用的上下文",正在成为决定 AI 应用质量的关键因素。

MCP 不一定能成为最终的赢家(技术圈从来不缺协议战争),但它提出的标准化思路,大概率会定义 AI 工具生态的未来形态。

作为程序员,理解 MCP 的设计思想和架构,不仅有助于你评估和采用这一具体协议,更能帮助你建立对"AI 基础设施"这个新兴领域的直觉。

建议你今天就做两件事

1. 用官方 SDK 写一个简单的 MCP Server,跑起来,感受一下完整的链路。

2. 在 Claude Desktop 或 Claude Code 中配置一个现成的 MCP Server,体验一下 AI 使用外部工具的效果。

动手比看十篇文章都有用。

AI践行家 | 践行AI,知行合一

📌 关注「AI践行家」

每周获取程序员视角的 AI 深度内容

⏩ 下一篇预告敬请期待!

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-29 17:01:36 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/814394.html
  2. 运行时间 : 0.238735s [ 吞吐率:4.19req/s ] 内存消耗:5,319.24kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1e4a41f143c372c19e41de030e09ba08
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000941s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001338s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000747s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000687s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001413s ]
  6. SELECT * FROM `set` [ RunTime:0.000597s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001541s ]
  8. SELECT * FROM `article` WHERE `id` = 814394 LIMIT 1 [ RunTime:0.005262s ]
  9. UPDATE `article` SET `lasttime` = 1782723697 WHERE `id` = 814394 [ RunTime:0.003698s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.007950s ]
  11. SELECT * FROM `article` WHERE `id` < 814394 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.006744s ]
  12. SELECT * FROM `article` WHERE `id` > 814394 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002118s ]
  13. SELECT * FROM `article` WHERE `id` < 814394 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003926s ]
  14. SELECT * FROM `article` WHERE `id` < 814394 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007941s ]
  15. SELECT * FROM `article` WHERE `id` < 814394 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.006331s ]
0.242891s