资讯动态

190、使用MCP连接外部数据与工具

发布时间:2026/10/18 15:17:19 来源:尧图企业网站定制
190、使用MCP连接外部数据与工具昨晚又熬到凌晨两点,就为一个破问题:我的Agent明明能正确解析用户意图,却在调用本地SQLite的时候报“no such table: sensor_data”。更诡异的是,我用同一个Docker挂载卷,手动敲sqlite3命令查表,数据就在那儿躺着。后来把MCP Server的启动日志拉出来一看,发现它的工作目录跟我预期的不一样——它默认落在了容器里的/app,而我挂载的数据库文件在/data。嘿,这根本不是MCP协议的问题,是我自己没把路径说清楚。但正是这个小小的路径陷阱,让我把MCP的整个调用链又从头到尾捋了一遍,今天这篇笔记就是那次排障的副产品。先别急着写代码,你得把MCP想成一个“外设插槽”。你的Agent大脑(LLM)不能直接摸到文件系统、数据库、API,它只能通过MCP这个标准接口,像USB一样把外部能力“插”进来。MCP的全称是Model Context Protocol,它定义了三方角色:Host(你的Agent应用)、Client(Host内部与MCP Server通信的组件)、Server(暴露工具/数据资源的独立进程)。通信走JSON-RPC 2.0,传输方式默认stdio,也可以走SSE。很多初学者上来就想在Python里直接import MCP,然后调函数,大错特错。MCP不是库,它是一个网络协议,哪怕Server和Client在同一台机器上,也是走进程间通信。那怎么把一个MCP Server跑起来?官方SDK帮你把底层胶水糊好了。我惯用的模式是写一个集中式的MCP Server,把所有工具塞进同一个服务里,省得维护一堆进程。比如下面这个例子,同时暴露了SQLite查询和HTTP请求两个工具:

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑