MCP开发极简入门指南

一、什么是MCP?MCP(Model Context Protocol)是一种标准化的协议,用于连接AI模型(如大语言模型)与外部工具、数据源或服务。它的核心目标是解决AI应用开发中的“工具碎片化”问题——让开发者无需为不同AI平台重复开发适配器,只需遵循MCP标准,即可实现AI与各类工具的无缝对接。
类比理解:MCP就像AI领域的“USB-C接口”,MCP Server是“设备插头”(提供功能),MCP Client是“插座”(AI应用),两者通过标准协议连接,即插即用。
二、MCP的核心架构MCP采用客户端-服务器架构,包含三个关键角色:
  • MCP Server(服务端):提供具体功能的“工具提供方”。例如:读取本地文件、查询数据库、调用API等。它只需按MCP标准暴露接口,无需关心调用方是谁。
  • MCP Client(客户端):AI应用(如Claude Desktop、Cursor IDE)用来连接Server的“桥梁”,负责将用户需求转发给Server,并返回结果给AI模型。
  • MCP Host(宿主):运行Client和Server的环境,通常是你的本地电脑或服务器。
三、快速上手:从零搭建MCP服务以下以Python为例,演示如何创建一个简单的“计算器MCP Server”,并让AI调用它完成四则运算。
步骤1:安装MCP SDK在终端执行以下命令,安装Python版MCP SDK:
pip install mcp
步骤2:创建MCP Server(提供计算器工具)新建server_demo.py文件,写入以下代码:
  1. from mcp.server.fastmcp import FastMCP

  2. # 1. 创建MCP服务器
  3. mcp = FastMCP("计算器Server")

  4. # 2. 添加计算器工具
  5. @mcp.tool()
  6. def calculate(expression: str) -> float:
  7.     """
  8.     计算四则运算表达式,如 "1 + 2 * 3"
  9.     """
  10.     try:
  11.         result = eval(expression)
  12.         return float(result)
  13.     except Exception as e:
  14.         raise ValueError(f"计算失败:{str(e)}")

  15. # 3. 启动服务(本地模式)
  16. if __name__ == "__main__":
  17.     mcp.run(transport='stdio')
复制代码

步骤3:创建MCP Client(调用工具)
新建client_demo.py文件,写入以下代码:
  1. from mcp.client.stdio import stdio_client
  2. from mcp import ClientSession, StdioServerParameters
  3. import asyncio

  4. # 配置Server启动参数
  5. server_params = StdioServerParameters(
  6.     command="python",
  7.     args=["./server_demo.py"],
  8.     env=None
  9. )

  10. # 调用工具
  11. async def main():
  12.     async with stdio_client(server_params) as (read, write):
  13.         async with ClientSession(read, write, sampling_callback=None) as session:
  14.             await session.initialize()
  15.             # 调用计算器工具
  16.             result = await session.call_tool("calculate", {"expression": "188*23-34"})
  17.             print(f"计算结果:{result}")

  18. asyncio.run(main())
复制代码
运行效果:执行python client_demo.py,终端将输出计算结果:4290.0,表示成功调用Server的计算器工具。

29 人阅读 · 12 小时前 发表

举报

评论(0)

高级模式

暂无回答,赶快抢沙发吧

0
0
快速回复 返回顶部 返回列表