本系列前三篇文章:
本文我们来看一个 Hello World 级别的 MCP Server 的具体例子。
我们如果在 ChatGPT 里询问「现在几点了」的问题,ChatGPT 会在一个沙箱环境(Sandbox)中执行一段 Python 代码,从而得到精确的时间。
在本系列之前的文章笔者提到,ChatGPT 这种 Function Cal 的方式实现需求,没办法被其他大模型直接重用。
比如同样的问题我问 Kimi,它就在胡说八道:
那如果有一个现成的 Time MCP Server,能够被大模型实时调用,不就可以避免 Kimi 这种胡说八道的问题了吗?
我们打开 mcp.so 网站进行搜索。
如果说 Github 是全世界存放源代码的仓库,那 MCP.so 就是存放 MCP Servers 注册信息的仓库(之一)。
根据关键字 time 进行搜索,随便点开一个搜索结果。
搜索结果显示,这个 MCP Server 提供了两个 Tools,即两个暴露给大语言模型使用的功能:
-
get_current_time
-
convert_time
Server Config 是一段 JSON 代码,直接导入到 MCP Hosts 里就可以使用了,比如 Trae,Cursor 这种 AI IDE.
{"mcpServers": {"time": {"command": "uvx","args": ["mcp-server-time","--local-timezone=America/New_York"]}}}
简单解释下这段 JSON 代码。
-
command: uvx

uvx 是一个 MCP Server 分发工具,需要安装在 MCP Hosts 所在的电脑上。
想要快速分发 MCP Server,最普遍的痛点是依赖安装。来自 Astral 的 uv 工具通过内置超高速解析与二进制缓存,提供了 uvx(uv tool run 的别名)命令:能够一次性创建隔离环境、解析依赖、执行工具,同时 MCP 进程退出后自动清理目录。
-
args:参数数组,指定 uvx 启动的命令行。
数组第一个元素为 mcp-server-time,即 MCP Server 的名称。
根据这个名称在 Github 上能够找到对应的实现,原来是用 Python 写的。
https://github.com/modelcontextprotocol/servers/blob/main/src/time/src/mcp_server_time/server.py
Python 代码里能很清楚的看到 MCP.so 搜索结果页面里 Tools 面板显示的两个功能:
如何使用这个 MCP Server 呢?
笔者是 Trae 的重度使用者,购买了 Trae Pro plan,每月享受 600 次不排队的 Fast 请求。六月份一阵操作猛如虎,也只造了一半的额度。
有了 Trae,我儿子也能用它来 Vibe Coding,做一些简单的 Web 开发了:
不会编程也能开发 Web 应用,小学生都能学会的 AI IDE
打开 Trae,选择 MCP 然后点击 Add:
把上面的 JSON 配置代码粘贴进去就行了。当然,args 数组的第二个元素,指定本地时区,我选择的是上海。
接下来给 Trae 对话,我选择的大模型是 Claude-4-Sonnet,问它「现在几点了」?
可以看到,Claude 会自动调用 mcp-server-time, 执行 Python 代码,获得准确的本地时间。
使用 Windows 的任务管理器,能看到 Trae 在处理这个请求时,起了一个新的「进程」,执行了命令行 uvx mcp-serve-time –local-timezone=Asia/Shanghai.
回到本系列的文章标题:使用 MCP 打破大语言模型和 SAP 系统集成的屏障。
我们只需要模仿 mcp-server-time 的实现,让 MCP Server 调用 SAP ABAP 系统暴露出来的业务数据查询的 API,就能让大模型感知到 SAP ABAP 的业务数据和流程了。
具体的实现步骤,笔者后续会继续介绍。