MCP vs Function Calling
Function Calling 更适合单应用内部函数;MCP 更适合跨客户端、跨工具、跨资源的标准化接入和治理。
“MCP 解决的是工具接入的标准化问题:让大模型以可审计、可授权、可隔离的方式访问文件、数据库和外部服务。”
MCP 的风险不在协议名,而在工具权限被模型间接放大。任何能读取文件、查询数据库或触发外部 API 的 Server,都必须先通过安全边界检查。
限制 allowedRoots,只暴露业务需要的目录,不把宿主机文件系统交给模型。
数据库 Server 使用只读账号或最小权限账号,写操作必须单独设计审批和审计。
远程 MCP Server 必须有认证与访问控制,不允许裸露在公网。
记录 Tool Call 的输入、输出、耗时、调用人和失败原因,方便安全审计。
对不同用户、团队和租户做权限隔离,避免模型跨边界读取资源。
对长结果、敏感字段和外部 API 返回值做截断、脱敏和速率限制。
Function Calling 更适合单应用内部函数;MCP 更适合跨客户端、跨工具、跨资源的标准化接入和治理。
stdio 适合本地开发和桌面客户端;Streamable HTTP 适合远程服务、团队协作和云端资源接入,但必须配合认证。
API Gateway 管理服务流量,MCP 管理模型如何理解、发现和调用工具。二者可以组合,不是替代关系。
基于 stdio 的本地连接是 MCP 的默认通信信道。但在真实的协作或部署场景中,大模型客户端需要通过网络访问云端资源。
这就是为什么我们需要引入 Streamable HTTP 远程传输层,并在服务暴露给公网时配置 OAuth 认证,确保工具的安全访问控制。
大模型可以执行的客户端函数
静态或动态的上下文数据源
标准化的预设交互模板
远程部署、允许访问目录、高风险接口审批以及多租户鉴权控制方案。
系统拆解什么时候该用标准协议,什么时候应该选用更轻量的原生函数调用。
跳出本地限制,以标准 Server Sent Events 方式托管运行远程服务的方法。
为外部访问智能体链路补齐安全令牌校验,确保你的远程节点不被恶意刷流量。
防范提示词注入越权、文件读写边界拦截以及敏感执行日志审计的最佳实操。
MCP 的核心不是“让模型能调用更多东西”,而是让工具访问进入可治理、可审计、可隔离的工程边界。
MCP 是 Model Context Protocol,用来规范模型客户端和外部工具、资源、提示模板之间的连接方式。它的价值不只是调用工具,而是让工具发现、权限、输入输出和审计更标准化。
Function Calling 通常绑定在一个模型或应用内部,适合少量函数;MCP 更像面向模型的工具协议层,适合多个客户端共享 Server、接入文件系统、数据库和远程服务。
远程 Server 一旦暴露到网络,就不再是本地受控环境。如果没有认证,任何能访问地址的人都可能触发工具调用、读取资源或消耗服务额度。
allowedRoots 是文件系统类 MCP Server 的访问边界,用来限制模型只能读取或操作指定目录。它不是装饰项,而是防止越权访问本地文件的核心保护。
需要同时做路径限制、账号最小权限、用户身份映射、Tool Call 审计、敏感输出脱敏和高风险工具隔离。只靠提示词声明“不要访问敏感文件”没有安全意义。
优先检查 stdio 是否被日志污染、响应是否符合 JSON-RPC 结构、Content-Type 是否正确、工具返回值是否被截断,以及客户端和 Server 的协议版本是否匹配。
深入拆解 Model Context Protocol (MCP) 协议架构,手把手教你构建 MCP Server 并接入 Cursor/Claude,打破 AI 数据孤岛。
深入 Model Context Protocol (MCP) 协议物理机制,涵盖 Resources、Tools 与 Prompts 核心原语,对比 Stdio 与 SSE 传输层,并手搓具备物理隔离的文件读写 Server。
实战讲解如何构建 MCP Filesystem Server,让 Claude / Cursor 安全读取本地文件,并通过路径白名单、Roots、Tool Scope、只读权限和 Prompt Injection 防护控制风险。
手把手教你编写连接本地 SQLite 数据库的 MCP Server,实现真正的私有财务账本 AI 审计与数据主权锁定。包含 SQL 黑白名单过滤、安全分页查询设计及大数据量摘要回传策略。
手把手带你玩转 Model Context Protocol (MCP) 协议。涵盖自定义 MCP Server 开发流程、SQLite 数据库挂载实战及生产级安全隔离方案。
实战讲解远程 MCP Server 的 OAuth 认证与授权设计,包括 Protected Resource Metadata、Authorization Server Discovery、Bearer Token、Scope、Resource Indicators、会话隔离和 Tool 权限边界。
实战讲解 MCP Server 如何从本地 stdio 模式迁移到 Streamable HTTP 远程部署,包括 HTTP POST/GET、SSE 流式消息、会话管理、反向代理、认证边界和生产环境排坑。
深入探讨 Model Context Protocol (MCP) 协议下的生产级安全治理方案。详解 Tool Scope 权限限制、allowedRoots 路径防穿透、数据库只读账户配置、参数校验白名单、Prompt Injection 深度防护以及审计日志字段设计,为你的 AI 智能体构筑坚固的安全边界。
系统梳理 MCP Server 从本地 Demo 走向生产环境所需的治理能力,覆盖远程部署、OAuth 认证、Token / Scope、allowedRoots、Tool 权限、Streamable HTTP、多用户隔离、日志观测、调用审计、错误排查和安全边界,帮助开发者构建可控的 MCP 工具服务。
深度拆解 OpenClaw 核心架构,详解如何利用 MCP 协议与 eBPF 沙箱实现 Agent 执行环境的读写分离与零信任安全审计。
系统排查 MCP Server 的 JSON-RPC parse error,包括 stdout 污染、stderr 日志、JSON-RPC 消息格式、换行分隔、stdio transport 和 Claude / Cursor 连接失败的物理排障方案。
深入排查 MCP Server 中的 Stdio 污染问题。手把手教你如何正确重定向日志、禁用隐式输出,并确保 JSON-RPC 消息流的纯净,解决插件加载失败与超时难题。
彻底解决 MCP (Model Context Protocol) 协议中常见的工具调用结果截断问题。从 Stdio 64KB 物理限制分析到智能化语义压缩算法,手把手教你如何在高并发、长上下文场景下确保 AI 获得完整的工具执行反馈。
深度拆解 MCP、A2A、Function Calling 与 Agent Handoff 的架构边界,分析它们在工具调用、上下文接入、多智能体协作、跨系统互操作、权限控制和生产部署中的适用场景,帮助开发者选择合适的 AI Agent 协议方案。
深入对比 MCP 协议与 Function Calling,从 Tool 动态发现、运行期边界、本地数据访问、权限控制、状态管理到 Token 成本,帮你做出正确的技术决策。
深度对比 MCP 协议与 Semantic Kernel/Function Calling,解答在构建本地工具生态与 AI 代理时的技术选型难题。