你要把工具接入做成可治理系统
- · 需要接入文件、数据库、远程服务,但又担心越权和审计问题。
- · 要区分本地 stdio、远程 Streamable HTTP、OAuth、allowedRoots 的边界。
- · 正在排查 JSON-RPC parse error、stdio 污染、Tool Call 截断等真实故障。
“MCP 解决的是工具接入的标准化问题:让大模型以可审计、可授权、可隔离的方式访问文件、数据库和外部服务。”
如果你是从搜索进来,不要先看长列表。按这四步走:先判断 MCP 和 Function Calling 边界,再理解协议,再做本地 Server,最后补权限治理。
如果你只是比较协议边界,先看这篇。它直接回答 mcp vs function calling 和 mcp function calling difference。
从 Resources、Tools、Prompts、JSON-RPC 和 Server 生命周期理解 MCP 的基本模型。
从 SQLite、Filesystem、stdio 到工具调用,跑通本地开发环境的第一条 MCP 链路。
远程 MCP 必须处理 OAuth、allowedRoots、审计、截断、脱敏和多用户隔离。
MCP 内容不再按 guide / tutorial / deep-dive 随机堆叠,而是按真实部署顺序组织:先跑通本地 stdio,再接 SQLite / Filesystem Server,随后进入远程 HTTP、OAuth、安全治理和协议排障。
MCP 的风险不在协议名,而在工具权限被模型间接放大。任何能读取文件、查询数据库或触发外部 API 的 Server,都必须先通过安全边界检查。
限制 allowedRoots,只暴露业务需要的目录,不把宿主机文件系统交给模型。
数据库 Server 使用只读账号或最小权限账号,写操作必须单独设计审批和审计。
远程 MCP Server 必须有认证与访问控制,不允许裸露在公网。
记录 Tool Call 的输入、输出、耗时、调用人和失败原因,方便安全审计。
对不同用户、团队和租户做权限隔离,避免模型跨边界读取资源。
对长结果、敏感字段和外部 API 返回值做截断、脱敏和速率限制。
Function Calling 更适合单应用内部函数;MCP 更适合跨客户端、跨工具、跨资源的标准化接入和治理。
stdio 适合本地开发和桌面客户端;Streamable HTTP 适合远程服务、团队协作和云端资源接入,但必须配合认证。
API Gateway 管理服务流量,MCP 管理模型如何理解、发现和调用工具。二者可以组合,不是替代关系。
基于 stdio 的本地连接是 MCP 的默认通信信道。但在真实的协作或部署场景中,大模型客户端需要通过网络访问云端资源。
这就是为什么我们需要引入 Streamable HTTP 远程传输层,并在服务暴露给公网时配置 OAuth 认证,确保工具的安全访问控制。
大模型可以执行的客户端函数
静态或动态的上下文数据源
标准化的预设交互模板
远程部署、允许访问目录、高风险接口审批以及多租户鉴权控制方案。
系统拆解什么时候该用标准协议,什么时候应该选用更轻量的原生函数调用。
区分协议、Plugin、Function Calling 和 Agent 编排,并给出两者组合使用的企业架构。
跳出本地限制,以标准 Server Sent Events 方式托管运行远程服务的方法。
为外部访问智能体链路补齐安全令牌校验,确保你的远程节点不被恶意刷流量。
防范提示词注入越权、文件读写边界拦截以及敏感执行日志审计的最佳实操。
MCP 的核心不是“让模型能调用更多东西”,而是让工具访问进入可治理、可审计、可隔离的工程边界。
MCP 是 Model Context Protocol,用来规范模型客户端和外部工具、资源、提示模板之间的连接方式。它的价值不只是调用工具,而是让工具发现、权限、输入输出和审计更标准化。
Function Calling 通常绑定在一个模型或应用内部,适合少量函数;MCP 更像面向模型的工具协议层,适合多个客户端共享 Server、接入文件系统、数据库和远程服务。
远程 Server 一旦暴露到网络,就不再是本地受控环境。如果没有认证,任何能访问地址的人都可能触发工具调用、读取资源或消耗服务额度。
allowedRoots 是文件系统类 MCP Server 的访问边界,用来限制模型只能读取或操作指定目录。它不是装饰项,而是防止越权访问本地文件的核心保护。
需要同时做路径限制、账号最小权限、用户身份映射、Tool Call 审计、敏感输出脱敏和高风险工具隔离。只靠提示词声明“不要访问敏感文件”没有安全意义。
优先检查 stdio 是否被日志污染、响应是否符合 JSON-RPC 结构、Content-Type 是否正确、工具返回值是否被截断,以及客户端和 Server 的协议版本是否匹配。
基于 MCP 2025-11-25 规范,复现目录穿越、绝对路径与符号链接逃逸,拆解 Resources、Tools、Prompts、Roots 的职责边界,并用 Python 实现带路径校验、读写隔离、大小限制和审计日志的安全文件网关。
从 Client、Server、Tools、Resources、Prompts 和传输层边界拆解 MCP 协议,帮助开发者先建立协议分层认知,再进入 SQLite 实战、文件网关、远程部署和 OAuth 安全文章。
实战讲解如何构建 MCP Filesystem Server,让 Claude / Cursor 安全读取本地文件,并通过路径白名单、Roots、Tool Scope、只读权限和 Prompt Injection 防护控制风险。
手把手教你编写连接本地 SQLite 数据库的 MCP Server,实现真正的私有财务账本 AI 审计与数据主权锁定。包含 SQL 黑白名单过滤、安全分页查询设计及大数据量摘要回传策略。
实战讲解远程 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 执行环境的读写分离与零信任安全审计。
用 5 步和 30 秒命令排查 MCP -32700 Parse error、Unexpected non-JSON line、Tool list failed 与 spawn ENOENT,覆盖 macOS/Linux、Windows PowerShell、stdout/stderr 和 JSON-RPC 生命周期。
彻底解决 MCP (Model Context Protocol) 协议中常见的工具调用结果截断问题。从 Stdio 64KB 物理限制分析到智能化语义压缩算法,手把手教你如何在高并发、长上下文场景下确保 AI 获得完整的工具执行反馈。
深度拆解 MCP、A2A、Function Calling 与 Agent Handoff 的架构边界,分析它们在工具调用、上下文接入、多智能体协作、跨系统互操作、权限控制和生产部署中的适用场景,帮助开发者选择合适的 AI Agent 协议方案。
MCP vs Function Calling 怎么选?本文从调用链、工具发现、Resources、权限边界、部署成本和 API Gateway 分工出发,给出可直接用于真实项目的选型表与组合架构。
直接对比 MCP 与 Microsoft Semantic Kernel:MCP 负责标准化连接工具、资源和提示,Semantic Kernel 负责在应用内部组织插件、Function Calling 与 Agent 编排,并说明两者如何组合使用。
MCP 专题后续只保留清晰分工:入门页解释协议边界,部署页承接远程 Server,认证页承接 OAuth,安全页承接治理,排障页承接 JSON-RPC、stdio 和截断问题。