使用Gridview平台快速连接高德MCP Server
MCP(Model Context Protocol)是一个为AI应用提供标准化数据接口的开放协议,类似于AI领域的"USB-C接口"。该协议采用客户端-服务器架构,支持多种传输机制,使LLM应用能无缝连接各类数据源和工具。文章以高德地图MCP服务器为例,演示了通过30行代码即可实现天气查询功能的过程,展示了MCP在简化AI应用开发中的实用价值。同时介绍了Gridview平台在
当我们开发一个不论是ChatBot还是复杂的Agent的AI应用,都不会再局限于简单的聊天对话,而是需要与外部世界连接,以访问数据源或使用工具。如访问本地文件、访问数据库结构、调用第三方API服务等,那么就需要连接不同的对象,使用不同的接口协议,需要熟悉SQL、第三方开放API接口调用等,这都需要做大量的适配工作。
1. MCP简介
MCP 是一个开放协议,它为应用程序向 LLM 提供上下文的方式进行了标准化。你可以将 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 为设备连接各种外设和配件提供了标准化的方式一样,MCP 为 AI 模型连接各种数据源和工具提供了标准化的接口。
MCP 核心采用客户端-服务器架构,主机应用可以连接多个服务器:

-
MCP Hosts: 如 Claude Desktop、IDE 或 AI 工具,希望通过 MCP 访问数据的程序
-
MCP Clients: 维护与服务器一对一连接的协议客户端
-
MCP Servers: 轻量级程序,通过标准的 Model Context Protocol 提供特定能力
-
本地数据源: MCP 服务器可安全访问的计算机文件、数据库和服务
-
远程服务: MCP 服务器可连接的互联网上的外部系统(如通过 APIs)
2. 核心架构
Model Context Protocol (MCP) 构建在一个灵活且可扩展的架构上,使 LLM 应用和集成之间的无缝通信成为可能。
MCP 遵循一个 client-server 架构,其中:

-
Hosts 是 LLM 应用(如 Claude Desktop 或 IDEs),它们发起连接
-
Clients 在 host 应用中与 servers 保持 1:1 的连接
-
Servers 为 clients 提供上下文、tools 和 prompts
传输层处理 clients 和 servers 之间的实际通信。MCP 支持多种传输机制:
-
Stdio 传输
-
使用标准输入/输出进行通信
-
适用于本地进程
-
-
通过 HTTP 的 SSE 传输
-
使用服务器发送事件进行服务器到客户端的消息传递
-
使用 HTTP POST 进行客户端到服务器的消息传递
-
所有传输都使用 JSON-RPC 2.0 进行消息交换。
3. 连接MCP server演示
Gridview平台不仅支持训练、推理、调优等人工智能任务,而且可以为用户快速创建PyTorch、TensorFlow等Notebook和容器实例。下面以高德地图MCP server为例,演示如何在Gridview平台快速接入。
高德地图MCP,为开发者提供了基于位置服务、地点信息搜索、路径规划、天气查询等12大核心高鲜度数据,让用户在出行规划、位置信息检索场景下轻松获取即时信息。这里我们调用天气查询的功能,注意需要在高德官网申请API KEY。
首先我们通过Gridview平台,创建一个Notebook

安装nodejs环境:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
node --version
npm --version
npx --version
下载mcp模块
pip install mcp
打开一个控制台,输入代码如下:
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
import asyncio
import os
server_params = StdioServerParameters(
command="npx",
args=["-y", "@amap/amap-maps-mcp-server"],
env={"AMAP_MAPS_API_KEY": "4dcac5b42371a232272cc7451efaf"} # 这里的key需替换为实际申请key
)
async def run():
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
try:
# 请求服务器列出所有支持的
tools = await session.list_tools()
print(f"Supported tools:{tools}/n/n")
# 根据城市名称查询指定城市的天气
maps_weather = await session.call_tool("maps_weather", arguments={"city":"北京"})
print(f"maps_weather:{maps_weather}/n/n")
print(f"maps_weather:{maps_weather.content[0].text}/n/n")
except Exception as e:
print(f"运行时错误: {e}")
if __name__ == "__main__":
asyncio.run(run())
执行结果如下所示:

MCP 中的 Tools 允许 servers 暴露可执行函数,这些函数可以被 clients 调用,并被 LLMs 用于执行操作。这里展示了高德MCP server提供的tools列表,以及调用maps_weather这个工具查询北京的天气情况。

上面不到30行的小程序,即展示了一个MCP的客户端如何连接MCP server,并进行工具调用的过程,是不是很有成就感呢?其实这只是Gridview平台易于使用和功能强大的一个体现,您可以在Gridview平台进行诸如模型训练、推理、开发各种AI应用并可以对外提供服务。
Gridview是一款集群综合管理系统,搭载 AI 智能体助力用户搭建高效计算平台。统一门户、统一监控、多计算框架融合、细粒度资源分配、高效资源利用率、容器编排、多级调度、自适应超融合、仿真设计一体化、三维可视化等。
如果您对Gridview感兴趣,请快联系我吧!
更多推荐



所有评论(0)