从 Claude Code 源码泄露说起:手把手教你用 MinerU MCP Server 搭建全自动文档解析 Agent-CSDN博客

2 阅读2分钟

最近 Claude Code 因为一个 .map 文件把 51 万行源码送上了公网,这件事在技术圈引发了广泛讨论。

撇开安全问题不谈,泄露的源码里有一块内容我研究了很久——Claude Code 的 MCP 工具调用机制

本文结合这个热点,手把手带你搭建一套 Claude + MinerU MCP 的全自动文档解析 Agent,适合有 RAG 开发需求的工程师

为什么 Source Map 会泄露源码?

Source Map 是 JavaScript/TypeScript 构建工具生成的调试辅助文件,格式为 .js.map

它的作用是:将压缩混淆后的生产代码,映射回原始的源代码行列信息。

关键字段:sourcesContent —— 直接内嵌原始源文件内容

{
  "version": 3,
  "sources": ["src/index.ts", "src/agent.ts", ...],
  "sourcesContent": ["// 完整 TypeScript 源码...", ...]
}

一旦 .map 文件被带入 npm 包并发布,任何人都可以通过它还原完整源码。

防范方式:

# .npmignore 中添加
*.map
dist/*.map
 
# 或 tsconfig.json 中
{
  "compilerOptions": {
    "sourceMap": false,  // 生产构建关闭
    "inlineSourceMap": false
  }
}

二、MCP 协议:AI 工具调用的标准化基础

从泄露源码可以看到,Claude Code 大量使用 MCP 协议接入外部工具。

MCP(Model Context Protocol) 是 Anthropic 推出的开放协议,核心设计:

  • 大模型作为 MCP Client,通过标准化接口调用工具
  • 工具服务以 MCP Server 形式暴露能力
  • 通信方式:stdio / SSE / HTTP

这种设计让 AI 客户端(Claude Desktop、Cursor、Cherry Studio 等)可以无缝接入任意 MCP Server,实现能力扩展。

三、MinerU MCP Server 实战接入

MinerU 是 OpenDataLab 出品的开源文档解析工具,支持 PDF、Word、PPT、图片等多种格式的高精度解析,官方提供了标准 MCP Server 实现。

3.1 安装 mineru-mcp
pip install mineru-mcp
# 或使用 uvx(推荐)
uvx mineru-mcp
3.2 获取 API Key

前往 mineru.net 注册,在控制台获取 API Key。

3.3 配置 Claude Desktop

编辑 claude_desktop_config.json

{
  "mcpServers": {
    "mineru": {
      "command": "uvx",
      "args": ["mineru-mcp"],
      "env": {
        "MINERU_API_KEY": "your_api_key_here"
      }
    }
  }
}

配置文件路径:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
3.4 验证效果

重启 Claude Desktop,在对话框中发送:

帮我解析这份 PDF 文件,提取所有表格内容,输出为 Markdown 格式 

Claude 会自动调用 MinerU MCP Server,完成:

  • ✅ 版面分析

  • ✅ 表格识别与结构化

  • ✅ 公式 LaTeX 提取

  • ✅ OCR 文字识别

  • 在 RAG 管道中集成

  • # 结合 LangChain 使用 MinerU 解析结果
    from langchain_community.document_loaders import MinerULoader
     
    loader = MinerULoader(
        file_path="./research_paper.pdf",
        api_key="your_api_key"
    )
    documents = loader.load()
     
    # 后续接入向量数据库、检索链...
    

    Claude Code 的源码泄露是个教训,但也让我们看清了 MCP 生态的巨大价值——标准化的工具协议,才是 AI Agent 落地的真正基础设施。