乐于分享
好东西不私藏

给AI装上眼睛和手:MCP让Claude Code看见你的全部工具链 从"复制粘贴苦力"到"一句话自动化"的革命

给AI装上眼睛和手:MCP让Claude Code看见你的全部工具链 从"复制粘贴苦力"到"一句话自动化"的革命

有需要PDF文档,请关注私信我留言即可。

今天我们聊一个让我兴奋的话题:MCP(Model Context Protocol)。

但我不想一上来就讲技术定义。我想先问你一个问题:

你有没有厌倦过这样的工作流程?

你在用Claude Code写代码,突然需要:

  1. 查GitHub上Issue #123的详情 → 切换浏览器,复制,粘贴
  2. 看数据库里这个用户的数据 → 打开数据库工具,查询,复制,粘贴
  3. 查Sentry上的错误日志 → 登录Sentry,搜索,截图,上传
你就像一个搬运工,在AI和你的工具之间来回复制粘贴。

更讽刺的是:AI很聪明,但它是个瞎子。它看不到你的GitHub,碰不到你的数据库,读不了你的监控。它只能等你喂数据。

如果有一天,AI能自己看、自己拿、自己查呢?

这就是MCP要解决的问题。

今天这篇文章,我会用最通俗的方式,拆解MCP的核心原理,手把手教你配置,并展示它如何把10分钟的重复劳动变成一句话指令。

依然是深入浅出,小白能懂,高手有料。

---

第一部分:重新理解"上下文"

MCP不是技术,是范式转变

在讲MCP是什么之前,我们先理解它要解决的本质问题

现状:AI是"瞎子"

想象你雇了一个盲人按摩师:

  • 技术很好(AI很聪明)
  • 但需要你告诉他哪里痛(你粘贴数据)
  • 不能自己诊断(AI无法主动获取信息)

每次按摩前,你要详细描述:"肩膀左侧,往下3厘米,那个硬硬的点..."

这就是现在的AI工作方式。

你的工作流程涉及:

  • GitHub (代码和Issue)
  • PostgreSQL (用户数据)
  • Sentry (错误监控)
  • Slack (团队沟通)
  • Notion (项目文档)
  • Stripe (支付数据)
  • Google Analytics (流量分析)

但AI只能在一个孤岛里工作。它看不到这些工具,只能等你把数据复制过来。

MCP的愿景:AI变成"全科医生"

现在想象AI变成全科医生:

  • 能看化验单(查数据库)
  • 能看病历(读文档系统)
  • 能开处方(调用API)
  • 能预约检查(创建任务)

你只需要说"我不舒服",医生自己会:

  1. 查你的历史病历
  2. 看最近的化验结果
  3. 询问症状
  4. 给出诊断
  5. 开药方
这就是有MCP的AI。

---

MCP的一句话定义

MCP = 给AI装上眼睛和手的标准协议
  • 眼睛
     = 能"看到"你的数据(GitHub、数据库、文档)
  •  = 能"操作"你的工具(创建Issue、发消息、查询)
  • 标准协议
     = 就像USB-C,统一的连接方式
类比:

USB-C出现之前:

  • 每个设备有自己的充电口
  • 你要带10根不同的线

USB-C出现之后:

  • 一根线连接所有设备
  • 手机、电脑、耳机都能用
MCP就是AI世界的USB-C。

一个标准,让Claude Code能连接:

  • GitHub
  • 数据库
  • Slack
  • Notion
  • Sentry
  • ...成百上千的工具

---

第二部分:MCP核心架构拆解

三层结构:Host、Client、Server

MCP的架构很简单,就三层:

┌─────────────────────────────────────┐│  Host (宿主应用)                     ││  Claude Code / Claude Desktop       │  ← 你用的AI工具└──────────────┬──────────────────────┘               │               │ MCP Client (客户端)    ← 内置的"神经系统"               │     ┌─────────┴─────────┐     │                   │┌────▼─────┐      ┌─────▼────┐│MCP Server│      │MCP Server│          ← "感官器官"│ GitHub   │      │PostgreSQL│└────┬─────┘      └─────┬────┘     │                   │┌────▼─────┐      ┌─────▼────┐│ GitHub   │      │PostgreSQL│          ← 实际的工具│   API    │      │ Database │└──────────┘      └──────────┘

让我逐层解释:

Layer 1: Host (宿主应用)

是什么:

你正在使用的AI工具,比如:

  • Claude Code (终端里的AI编程助手)
  • Claude Desktop (桌面版Claude)
  • Cursor (集成Claude的IDE)
作用:
  • 运行AI模型
  • 管理用户交互
  • 控制MCP Client
类比: 你的"身体"

---

Layer 2: MCP Client (客户端)

是什么:

内置在Host里的连接器,你看不到,但它在后台工作。

作用:
  • 管理与MCP Server的连接
  • 发现可用的工具
  • 转发AI的请求
  • 返回工具的结果
类比: 你的"神经系统" 重要特性:
  • 一个Host可以连接多个MCP Server
  • 每个连接是独立的
  • 自动处理权限和认证

---

Layer 3: MCP Server (服务器)

是什么:

连接外部工具的"适配器"。

作用:
  • 把外部工具"翻译"成AI能理解的语言
  • 暴露工具的功能(Tools)
  • 提供数据访问(Resources)
  • 预设工作流(Prompts)
类比: 你的"感官器官"
  • GitHub MCP Server = 眼睛(看代码)
  • PostgreSQL MCP Server = 触觉(摸数据)
  • Slack MCP Server = 嘴巴(说话)
关键点:

MCP Server是中间层,不是工具本身:

AI → MCP Server → GitHub API → GitHub

(翻译器)    (实际接口) (实际工具)

---

完整工作流程

让我用一个真实场景演示:

场景:你问Claude

> "查一下Issue #123的状态"

背后发生了什么:
1. 你的问题 → Claude Code (Host)2. Claude分析: "需要GitHub数据"3. Claude Code → MCP Client:    "我需要GitHub的get_issue工具"4. MCP Client → GitHub MCP Server:   "调用get_issue,参数:repo=myapp, issue=123"5. GitHub MCP Server → GitHub API:   发起HTTP请求查询Issue6. GitHub API → 返回Issue数据7. GitHub MCP Server → 格式化数据 → MCP Client8. MCP Client → Claude Code → Claude分析数据9. Claude → 回答你:   "Issue #123: 'Add OAuth login'    状态: Open    创建者: @alice    最后更新: 2天前    有3条评论,最新的讨论是关于..."
整个过程不到1秒,而且你不需要复制粘贴任何东西。

---

第三部分:MCP的三大核心能力

MCP Server可以提供三种能力:Tools、Resources、Prompts。

能力1: Tools (工具调用)

是什么:

AI可以主动调用的功能。

类比:

Tools就像你能做的"动作":点击、输入、拖拽。

实际场景对比:没有MCP:
你: "帮我在GitHub创建一个Issue"Claude: "好的,请提供:        - 仓库名称        - Issue标题        - Issue描述        - 标签        - 分配给谁"你: [复制粘贴一堆信息]Claude: "这是创建Issue的curl命令:        curl -X POST https://api.github.com/repos/..."你: [复制命令到终端执行]
有了MCP:
你: "帮我在GitHub创建一个Issue:      标题'Add OAuth login',     描述'用户需要第三方登录',     打上'enhancement'标签"Claude: [自动调用GitHub MCP Server的create_issue工具]Claude: "Issue已创建: #456        链接: https://github.com/myapp/issues/456"
常用Tools示例:GitHub MCP:
  • create_issue
    - 创建Issue
  • create_pull_request
     - 创建PR
  • add_comment
     - 添加评论
  • search_code
     - 搜索代码
PostgreSQL MCP:
  • query
     - 执行查询
  • insert
     - 插入数据
  • update
     - 更新数据
Slack MCP:
  • send_message
     - 发送消息
  • list_channels
     - 列出频道
  • upload_file
     - 上传文件
Sentry MCP:
  • get_errors
     - 获取错误列表
  • resolve_issue
     - 标记问题已解决

---

能力2: Resources (资源读取)

是什么:

AI可以读取的数据和文档。

类比:

Resources就像"参考资料":你能看的书、文档、网页。

为什么需要Resources?问题:AI的训练数据会过时

假设你在用React 19的新特性use()写代码:

// React 19新特性function UserProfile({userId}) {  const user = use(fetchUser(userId));  return <div>{user.name}</div>;}
没有Resources:
你: "用React 19的use()实现异步数据加载"

Claude: "抱歉,我的训练数据到2025年1月,

React 19是2025年底发布的,

我不了解use()这个API..."

有了Context7 MCP (实时库文档):
你: "帮我在GitHub创建一个Issue:      标题'Add OAuth login',     描述'用户需要第三方登录',     打上'enhancement'标签"Claude: [自动调用GitHub MCP Server的create_issue工具]Claude: "Issue已创建: #456        链接: https://github.com/myapp/issues/456"
@mention语法:直接引用Resources

在提示词里,你可以这样写:

"参考@github:myorg/myapp的架构,实现新的支付模块"# Claude自动:# 1. 读取GitHub仓库的代码结构# 2. 理解现有架构# 3. 按照同样的风格实现新模块
常用Resources示例:Context7 MCP:
  • 实时库文档(React、Next.js、Tailwind等)
GitHub MCP:
  • 仓库代码
  • README
  • Wiki
Notion MCP:
  • 项目文档
  • 会议记录
  • 决策日志
Filesystem MCP:
  • 本地文件
  • 配置文件

---

能力3: Prompts (工作流模板)

是什么:

MCP Server预设的提示词模板。

类比:

Prompts就像"快捷指令":Siri的"早安例程"、Alfred的Workflow。

实际场景:GitHub MCP内置的Prompts:
# 快捷命令/review-pr 123# 等价于完整提示词:"请审查Pull Request #123:1. 代码质量分析2. 安全漏洞检查3. 性能问题识别4. 测试覆盖评估5. 最佳实践对比6. 给出详细改进建议"
为什么有用?

因为你经常做同样的任务,但每次都要输入一长串提示词。Prompts让你把常用的工作流"模板化"。

自定义Prompts示例:

你可以在MCP Server里预设:

# /deploy-check检查部署前的所有事项:1. 所有测试通过了吗?2. 有未提交的代码吗?3. 环境变量都配置了吗?4. 数据库迁移准备好了吗?5. 回滚计划是什么?

以后只需要:

/deploy-check# Claude自动执行完整检查清单

---

第四部分:5步配置你的第一个MCP Server

理论讲完了,现在实战。

我保证,5分钟内让你跑起第一个MCP Server。

---

Step 1: 确认环境

检查Claude Code版本:
claude --version需要 v2.1.0 或更高
检查Node.js:
node --version需要 v18 或更高
如果版本不够:
# 更新Claude Codeclaude update# 安装Node.js (Mac)brew install node# 安装Node.js (Ubuntu)curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -sudo apt-get install -y nodejs

---

Step 2: 选择MCP Server

新手推荐3件套:
  1. GitHub MCP
     - 管理代码和Issue (最常用)
  2. Filesystem MCP
     - 读写本地文件 (最基础)
  3. Context7 MCP
     - 实时库文档 (解决训练数据过时)
今天我们先配置GitHub MCP。

---

Step 3: 获取GitHub Token

为什么需要Token?

因为MCP Server要代表你操作GitHub,需要你的授权。

获取步骤:
  1. 打开 https://github.com/settings/tokens
  2. 点击 "Generate new token" → "Generate new token (classic)"
  3. 填写:

- Note: Claude Code MCP

- Expiration: 90 days (或更长)

- Scopes: 勾选

repo (访问仓库)

read:org (读组织信息)

  1. 点击 "Generate token"
  2. 立即复制token
     (格式:ghp_xxxxxxxxxxxx)
⚠️ 重要:Token只显示一次,立即保存!

---

Step 4: 配置MCP Server

方式A: 通过命令行(推荐,最简单)
# 添加GitHub MCPclaude mcp add github \  -e GITHUB_TOKEN=ghp_your_actual_token_here \  -- npx -y @modelcontextprotocol/server-github
替换ghp_your_actual_token_here为你刚才复制的真实token!如果成功,会看到:
✅ GitHub MCP server added successfully

---

方式B: 手动编辑配置文件(更灵活)创建或编辑 ~/.mcp.json:
{  "mcpServers": {    "github": {      "command""npx",      "args": ["-y""@modelcontextprotocol/server-github"],      "env": {        "GITHUB_TOKEN""ghp_your_actual_token_here"      }    }  }}
保存后重启Claude Code。

---

Step 5: 验证配置

启动Claude Code:
claude
检查MCP Server列表:
> /mcp list
应该看到:
Connected MCP Servers:
github (@modelcontextprotocol/server-github)

Tools: 12 available

Status: Connected

测试GitHub MCP:
> "列出我的GitHub仓库"
首次使用会弹出授权请求:
Claude wants to use GitHub MCP server:List your repositoriesRead repository information[Allow this time] [Always allow] [Deny]
点击 "Always allow"如果Claude返回了你的仓库列表,恭喜!配置成功! 🎉
你有以下仓库:1. myorg/backend-api (Private)   - Last updated: 2 days ago   - Language: Python2. myorg/frontend-app (Private)   - Last updated: 5 hours ago   - Language: TypeScript3. myorg/mobile-app (Private)   - Last updated: 1 week ago   - Language: Swift

---

故障排查

问题1: "Failed to connect to GitHub MCP"可能原因:
  1. Token无效或过期
  2. Token权限不足
  3. 网络问题
解决:
# 检查tokenecho $GITHUB_TOKEN# 如果为空,说明环境变量没设置# 重新生成token (确保勾选了repo权限)# 更新配置claude mcp remove githubclaude mcp add github -e GITHUB_TOKEN=new_token_here -- npx -y @modelcontextprotocol/server-github

---

问题2: "/mcp list 看不到github"检查配置文件:
cat ~/.mcp.json
常见错误:
// ❌ 错误:多余的逗号{  "mcpServers": {    "github": {...},  // ← 这个逗号多余  }}// ✅ 正确{  "mcpServers": {    "github": {...}  }}
验证JSON格式:
用jq验证

cat ~/.mcp.json | jq .

如果报错,说明JSON格式有问题

---

问题3: "Permission denied"说明你拒绝了授权,需要重新授权:
# 清除授权记录rm ~/.claude/mcp-permissions.json# 重新测试claude"列出我的GitHub仓库"# 会再次弹出授权请求

---

第五部分:热门MCP Server生态

现在你已经配置好GitHub MCP了。但MCP生态远不止这一个。

让我带你看看值得安装的MCP Servers。

---

官方MCP Servers (Anthropic维护)

1. GitHub MCP ✅ (已配置)

功能:
  • Issue管理
  • PR操作
  • 代码搜索
  • 仓库信息
使用场景:
"实现Issue #123描述的功能并创建PR"

---

2. Filesystem MCP

功能: 读写本地文件 安装:
claude mcp add filesystem \

-- npx -y @modelcontextprotocol/server-filesystem \

/Users/yourname/projects

⚠️ 安全提示: 只授权必要的目录! 使用场景:
"分析/logs目录下所有错误日志,找出最常见的5个错误"# Claude自动:# 1. 读取logs目录所有文件# 2. 解析错误信息# 3. 统计频率# 4. 生成报告

---

3. PostgreSQL MCP

功能: 数据库查询和操作 安装:
claude mcp add postgres \

-e POSTGRES_URL="postgresql://user:pass@localhost:5432/mydb" \

-- npx -y @modelcontextprotocol/server-postgres

使用场景:
"查询上周注册且今天活跃的用户,按活跃度排序"# Claude自动:# 1. 构建SQL查询# 2. 执行查询# 3. 格式化结果# 4. 生成分析报告

---

社区热门MCP Servers

1. Context7 (🔥 解决训练数据过时)

为什么重要?

Claude的训练数据到2025年1月。但技术栈在快速更新:

  • React 19 (2025年底发布)
  • Next.js 15 (2025年10月)
  • Tailwind CSS 4 (2025年11月)
Context7实时获取最新文档。安装:
claude mcp add context7 \

-e OPENAI_API_KEY=sk-your-openai-key \

-- npx -y @context7/mcp-server

使用场景:
"用React 19的Server Components和use()实现这个页面"# Claude自动:# 1. 查询React 19.2最新文档# 2. 使用最新API# 3. 生成production-ready代码

---

2. Slack MCP

功能: 团队沟通 安装:
claude mcp add slack \

-e SLACK_TOKEN=xoxb-your-slack-token \

-- npx -y @modelcontextprotocol/server-slack

使用场景:
"当测试失败时,发消息到#dev-team告知错误详情"# Claude自动:# 1. 检测测试结果# 2. 提取错误信息# 3. 发送Slack消息

---

3. Sentry MCP

功能: 错误监控 使用场景:
"分析Sentry上过去7天的top 10错误, 找出根本原因并修复最严重的3个"# Claude自动:# 1. 调用Sentry API获取错误# 2. 分析错误堆栈# 3. 定位问题代码# 4. 提出修复方案# 5. 修改代码

---

4. Notion MCP

功能: 文档和知识库 使用场景:
"从Notion项目管理页获取本周所有任务,

按优先级排序,生成今日工作清单"

---

5. Claude Context (Zilliz)

功能: 代码库语义搜索 特点: 向量化索引整个代码库 安装:
claude mcp add claude-context \

-e OPENAI_API_KEY=sk-your-key \

-e MILVUS_TOKEN=your-zilliz-token \

-- npx @zilliz/claude-context-mcp@latest

使用场景:
"整个代码库中,哪些地方使用了Redis缓存? 是怎么用的?有没有一致的模式?"# Claude自动:# 1. 语义搜索整个代码库# 2. 找到所有Redis使用# 3. 分析使用模式# 4. 生成最佳实践建议

---

6. 3D-Agent (Blender) 🤯

功能: 控制Blender生成3D模型 突破性: AI直接控制专业软件! 使用场景:
"生成一个咖啡杯的3D模型,陶瓷材质,带把手"# Claude自动:# 1. 调用Blender API# 2. 创建几何体# 3. 应用材质# 4. 渲染预览

---

企业级MCP Servers

AWS MCP
  • EC2、S3、Lambda管理
Kubernetes MCP
  • 集群管理、Pod调试
Datadog MCP
  • 监控和APM
Stripe MCP
  • 支付数据和订阅管理

---

第六部分:MCP vs Skills vs API - 什么时候用什么?

很多人问我:MCP、Skills、传统API,到底有什么区别?什么时候用什么?

三者本质对比

---

实际场景对比

场景:代码审查工作流方案1: 只用传统API
// 你要自己写代码const octokit new Octokit({auth: process.env.GITHUB_TOKEN});async function reviewPR(prNumber) {  // 获取PR详情  const pr = await octokit.pulls.get({    owner'myorg',    repo'myapp',    pull_number: prNumber  });  // 获取文件变更  const files = await octokit.pulls.listFiles({    owner'myorg',    repo'myapp',    pull_number: prNumber  });  // 分析每个文件...  // 检查安全问题...  // 生成评论...  // ...100行代码}
问题:
  • 需要会编程
  • 每次都要手动运行
  • 逻辑固定,难以调整

---

方案2: 只用Skills
# 创建code-review Skill# Skills理解代码审查最佳实践/code-review# 但Skills看不到实际的PR数据# 你还是要手动粘贴代码
问题:
  • Skills有知识但没数据
  • 无法自动获取PR内容

---

方案3: 只用MCP
"审查PR #123"# AI自动:# 1. 调用GitHub MCP获取PR# 2. 读取文件变更# 3. 分析代码# 4. 给出建议
问题:
  • 审查可能不够专业
  • 没有特定的审查标准

---

最佳方案: MCP + Skills 组合
"用我们的安全审查标准审查PR #123"# AI自动:# 1. 应用security-review Skill (专业知识)# 2. 调用GitHub MCP (获取PR数据)# 3. 按Skill定义的标准分析# 4. 调用GitHub MCP (自动评论)
效果:
✅ MCP提供数据通道

✅ Skills提供专业知识

✅ 完全自动化

✅ 符合团队标准

---

选择决策树

你的需求是什么?├─ 需要AI理解领域知识和最佳实践│  → 用Skills│  例如:代码规范、架构原则、审查标准├─ 需要AI访问外部系统的数据│  → 用MCP│  例如:GitHub、数据库、监控系统├─ 需要完全自定义的复杂逻辑│  → 写代码调用API│  例如:复杂的数据处理管道└─ 需要专业知识 + 自动获取数据 + 自动执行   → MCP + Skills 组合   例如:完整的开发工作流

---

第七部分:真实工作流案例

理论和工具都讲完了,现在看真实场景

案例1: Bug修复全流程自动化

传统方式:(10-15分钟手工操作)
  1. 打开Sentry → 找到错误 → 复制堆栈
  2. 打开数据库工具 → 查询相关数据 → 截图
  3. 切换到IDE → 定位代码 → 分析原因
  4. 修改代码 → 运行测试
  5. 打开GitHub → 创建PR → 填写描述
  6. 打开Slack → 通知团队
用MCP + Skills:(一句话,2分钟)
"处理Sentry上最严重的错误,分析原因,修复,创建PR,通知团队"
AI自动执行:
[1/6] 调用Sentry MCP✓ 获取到错误: NullPointerException in PaymentService.processPayment✓ 影响用户: 234✓ 发生频率: 每小时15[2/6] 调用PostgreSQL MCP✓ 查询最近失败的支付记录✓ 发现规律: amount为null时触发[3/6] 应用debugging Skill分析✓ 定位问题: PaymentService.java:45✓ 原因: 未验证amount参数[4/6] 应用code-fix Skill修复✓ 添加参数验证✓ 添加单元测试✓ 运行测试通过[5/6] 调用GitHub MCP✓ 创建PR: "Fix: Add amount validation in PaymentService"✓ PR链接: github.com/myapp/pull/789[6/6] 调用Slack MCP✓ 发送消息到#dev-team:  "🐛 修复了NullPointerException bug   影响用户234个,已创建PR #789   等待code review"
节省时间: 10分钟手工 → 2分钟自动化

---

案例2: 功能开发端到端

需求: 实现"用户可以删除自己的评论"功能 传统方式:(1-2小时)
  1. 打开Notion → 看需求文档 → 复制到笔记
  2. 打开GitHub → 查看现有代码结构 → 截图架构
  3. Google搜索 → 看React文档 → 复制示例代码
  4. 写代码 → 调试 → 改bug
  5. 写测试 → 运行测试 → 修复失败
  6. 创建PR → 写描述 → 等待review
  7. 打开Notion → 更新任务状态
用MCP + Skills:(一句话,15分钟)
"实现Notion任务#123'用户删除评论',

参考现有评论系统架构,

使用React 19最新API,

写完整测试,

创建PR,

更新Notion状态"

AI自动执行:
[1/7] 调用Notion MCP✓ 读取任务#123详情✓ 需求: 用户可以删除自己的评论✓ 验收标准:  - 只能删除自己的评论  - 需要二次确认  - 删除后无法恢复[2/7] 调用GitHub MCP✓ 分析现有评论系统✓ 找到CommentCard组件✓ 理解现有API结构[3/7] 调用Context7 MCP✓ 查询React 19文档✓ 学习最新的useOptimistic API[4/7] 应用fullstack-dev Skill生成代码✓ 前端: CommentCard添加删除按钮✓ 后端: DELETE /api/comments/:id端点✓ 验证: 用户只能删除自己的评论✓ 使用useOptimistic实现乐观更新[5/7] 应用test-driven Skill写测试✓ 单元测试: CommentCard.test.tsx✓ 集成测试: api/comments.test.ts✓ E2E测试: delete-comment.spec.ts✓ 运行测试: 全部通过 ✓[6/7] 调用GitHub MCP✓ 创建PR: "feat: Add user comment deletion"✓ 描述包含:  - 实现细节  - 测试覆盖  - 截图演示✓ 链接: github.com/myapp/pull/790[7/7] 调用Notion MCP✓ 更新任务#123状态: In Review✓ 添加评论: "PR已创建,等待review"
节省时间: 1-2小时 → 15分钟

---

案例3: 数据分析周报

需求: 生成上周运营数据周报 传统方式:(30-45分钟)
  1. 打开数据库工具 → 写SQL查用户增长
  2. 打开Stripe后台 → 导出支付数据
  3. 打开Google Analytics → 截图流量图
  4. 打开Excel → 粘贴数据 → 做图表
  5. 写Word文档 → 排版 → 插入图表
  6. 发送到Slack
用MCP + Skills:(一句话,5分钟)
"生成上周运营周报:

用户增长、支付情况、流量分析,

生成可视化报告,

发送到#management频道"

AI自动执行:
[1/5] 数据收集├─ PostgreSQL MCP│  ✓ 新增用户: 1,234人 (↑15%)│  ✓ 活跃用户: 8,765人 (↑8%)│  ✓ 留存率: 68% (↑3%)├─ Stripe MCP│  ✓ 总收入: $45,678 (↑22%)│  ✓ 新订阅: 234│  ✓ 取消订阅: 45└─ Google Analytics MCP   ✓ 总访问: 125,432   ✓ 平均停留: 345   ✓ 跳出率: 42%[2/5] 应用data-analyst Skill分析✓ 关键洞察:  - 用户增长加速(得益于新的推荐系统)  - 收入大幅增长(Pro套餐升级率提升)  - 流量质量提高(停留时间↑,跳出率↓)✓ 风险提示:  - 取消订阅率略有上升(需关注)[3/5] 生成可视化报告✓ 用户增长趋势图✓ 收入构成饼图✓ 流量来源对比图[4/5] 应用report-writer Skill生成报告✓ 格式: Markdown✓ 包含:  - 核心数据  - 趋势分析  - 可视化图表  - 行动建议[5/5] 调用Slack MCP✓ 发送到#management✓ 附件: weekly-report-2026-04-11.md
节省时间: 30-45分钟 → 5分钟

---

第八部分:安全与最佳实践

MCP很强大,但强大的工具需要谨慎使用

安全原则

原则1: 最小权限

不好的做法:
❌ 给GitHub全部权限

GITHUB_TOKEN=ghp_full_admin_access_to_everything

好的做法:
# ✅ 创建Fine-grained token,只勾选需要的权限# 在 https://github.com/settings/tokens?type=beta权限清单:✓ Repository access: Only select repositories✓ Permissions:  - Issues: Read and write  - Pull requests: Read and write  - Contents: Read only✗ Administration✗ Secrets✗ Workflows
为什么重要?

如果token泄露(比如你不小心commit到GitHub),攻击者:

  • ❌ 全权限: 可以删除你的所有仓库
  • ✅ 最小权限: 只能创建Issue和PR

---

原则2: 敏感数据不存储

不好的做法:
{  "mcpServers": {    "postgres": {      "env": {        "POSTGRES_URL""postgresql://admin:MyPassword123@prod-db.com/maindb"      }    }  }}
问题:
  • 密码明文存储
  • 一旦配置文件泄露,生产数据库暴露
好的做法:
{  "mcpServers": {    "postgres": {      "env": {        "POSTGRES_URL""${DATABASE_URL}"      }    }  }}
在环境变量里设置:
# 添加到 ~/.bashrc 或 ~/.zshrcexport DATABASE_URL="postgresql://..."# 或使用密码管理工具export DATABASE_URL=$(security find-generic-password -w -s db-password)

---

原则3: 审计日志

启用MCP操作日志:
<h1>在 ~/.claude/config.json 添加</h1>

{

"mcp": {

"auditLog": true,

"auditLogPath": "~/.claude/logs/mcp-audit.log"

}

}

定期检查:
<h1>查看最近的MCP操作</h1>

tail -f ~/.claude/logs/mcp-audit.log

<h1>示例输出</h1>

[2026-04-11 10:23:45] github.create_issue - repo: myapp, title: "Fix bug"

[2026-04-11 10:24:12] postgres.query - query: "SELECT * FROM users WHERE..."

[2026-04-11 10:25:33] slack.send_message - channel: #dev-team

如果看到可疑操作,立即:
  1. 撤销MCP Server的token
  2. 检查是否有数据泄露
  3. 更改相关密码

---

性能优化

优化1: 避免频繁小调用

不好的做法:
"分析每个文件的import语句"

<h1>可能触发:</h1>

<h1>- 100次文件读取</h1>

<h1>- 100次分析</h1>

<h1>= 很慢,token浪费</h1>

好的做法:
"列出所有文件,批量读取,分析import模式"

<h1>优化为:</h1>

<h1>- 1次列出文件</h1>

<h1>- 1次批量读取</h1>

<h1>- 1次综合分析</h1>

<h1>= 快,省token</h1>

---

优化2: 设置合理的输出限制

问题: MCP工具返回巨大数据会塞满上下文 解决:
<h1>设置最大输出token</h1>

export MAX_MCP_OUTPUT_TOKENS=25000

<h1>超过10k会警告</h1>

<h1>超过25k会截断</h1>

在查询时主动限制:
<h1>❌ 不好</h1>

"查询所有用户数据"

<h1>可能返回100万条记录</h1>

<h1>✅ 好</h1>

"查询最近100个活跃用户"

<h1>返回合理数量</h1>

---

优化3: 使用Tool Search

什么是Tool Search?问题: 如果你连接了50个MCP Server,每个有10个工具,500个工具定义会占满上下文。 Tool Search解决方案:
  1. 启动时只加载工具名称
  2. AI需要时才加载完整定义
  3. 用完释放,节省上下文
启用:
<h1>自动模式(推荐)</h1>

export ENABLE_TOOL_SEARCH=auto

效果:
  • 传统: 50个Server = 40k tokens占用
  • Tool Search: 50个Server = 4k tokens占用 (10倍节省!)

---

常见问题排查

问题1: Server连接失败

现象:
/mcp list

<h1>显示: github - Status: Failed</h1>

排查步骤:
<h1>Step 1: 检查配置文件</h1>

cat ~/.mcp.json

<h1>确认JSON格式正确</h1>

<h1>Step 2: 测试命令能否单独运行</h1>

npx -y @modelcontextprotocol/server-github

<h1>如果报错,说明Server本身有问题</h1>

<h1>Step 3: 检查环境变量</h1>

echo $GITHUB_TOKEN

<h1>确认token已设置</h1>

<h1>Step 4: 查看详细日志</h1>

cat ~/.claude/logs/mcp.log | grep github

<h1>看具体错误信息</h1>

常见原因:
  • Token过期 → 重新生成
  • Node.js版本太低 → 升级到v18+
  • 网络问题 → 检查代理设置
  • JSON语法错误 → 用jq验证

---

问题2: 授权被拒绝

现象:
Permission denied: Cannot use GitHub MCP
解决:
<h1>清除授权记录</h1>

rm ~/.claude/mcp-permissions.json

<h1>重新测试</h1>

claude

> "列出我的GitHub仓库"

<h1>会再次弹出授权请求</h1>

<h1>这次点 "Always allow"</h1>

---

问题3: 输出被截断

现象:
查询返回数据不完整,显示:

"... (truncated, 15k tokens omitted)"

解决:
<h1>方案1: 增加输出限制</h1>

export MAX_MCP_OUTPUT_TOKENS=50000

<h1>方案2: 优化查询(推荐)</h1>

<h1>❌ "查询所有错误日志"</h1>

<h1>✅ "查询最近100条错误日志"</h1>

总结:从"孤岛AI"到"互联AI"

我们讲了很多技术,但最后,我想回到本质。

MCP不只是技术,是范式转变

以前的AI:
  • 很聪明,但是"瞎子"
  • 只能在一个孤岛里工作
  • 需要你喂数据
  • 你是搬运工
有了MCP的AI:
  • 能看到你的数据
  • 能操作你的工具
  • 能串联整个工作流
  • 你是指挥官
从"复制粘贴苦力"变成"一句话自动化"。

---

关键节点

如果你只记住三件事,记住这三个:

1. MCP = 给AI装眼睛和手
  • 不是"协议"(技术术语)
  • 是"连接器"(实际作用)
2. MCP + Skills = 完整工作流
  • MCP提供数据通道
  • Skills提供专业知识
  • 两者结合才最强
3. 安全第一
  • 最小权限原则
  • 敏感数据不存储
  • 定期检查审计日志

---

行动建议

今天就可以做:
  1. 配置3个基础MCP Server

- GitHub (代码管理)

- Filesystem (文件操作)

- Context7 (实时文档)

  1. 尝试一个真实工作流

- 从最痛的重复任务开始

- 用MCP自动化

- 记录节省的时间

  1. 探索更多MCP Server

- 访问 modelcontextprotocol.io/servers

- 看看有没有你在用的工具

下周可以做:
  1. 组合MCP + Skills

- 创建一个自定义Skill

- 配合MCP构建完整工作流

  1. 优化安全配置

- 检查所有token权限

- 启用审计日志

- 设置环境变量

下个月可以做:
  1. 自建简单MCP Server

- 连接公司内部系统

- 定制化工作流

  1. 建立团队标准

- 统一MCP配置

- 共享最佳实践

AI后海,用人文视角解读AI技术。不只讲"怎么用",更讲"为什么"和"本质是什么"。

如果这篇文章对你有帮助,欢迎转发。

如果有问题,欢迎留言讨论。

我们下期见。🌊

本文基于MCP v2.1规范和2026年4月生态编写。参考资料:
  • MCP官方文档: modelcontextprotocol.io
  • Claude Code文档: code.claude.com/docs
  • MCP Server Registry: modelcontextprotocol.io/servers
  • 社区最佳实践和真实案例

有需要PDF文档,请关注私信我留言即可。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-12 13:54:43 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/516892.html
  2. 运行时间 : 0.090608s [ 吞吐率:11.04req/s ] 内存消耗:4,788.46kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=fd366522007381be373c3083064dff28
  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.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000585s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000837s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000317s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000254s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000491s ]
  6. SELECT * FROM `set` [ RunTime:0.000213s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000494s ]
  8. SELECT * FROM `article` WHERE `id` = 516892 LIMIT 1 [ RunTime:0.000572s ]
  9. UPDATE `article` SET `lasttime` = 1775973283 WHERE `id` = 516892 [ RunTime:0.002707s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000259s ]
  11. SELECT * FROM `article` WHERE `id` < 516892 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000455s ]
  12. SELECT * FROM `article` WHERE `id` > 516892 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000383s ]
  13. SELECT * FROM `article` WHERE `id` < 516892 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000748s ]
  14. SELECT * FROM `article` WHERE `id` < 516892 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000561s ]
  15. SELECT * FROM `article` WHERE `id` < 516892 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000720s ]
0.092401s