FastMCP In Action跑通第一个MCP之跟学python版

顾名思义,FastMCP就是提供MCP快速实现的框架,都MCP了, 我们也要跟上。

1.什么是MCP

模型上下文协议Model Context Protocol (MCP)是一种为您的LLM提供上下文和工具的新标准化方式,FastMCP使构建MCP服务器和客户端变得简单直观。创建工具,公开资源,定义提示,并使用干净的Python代码连接组件。

2.MCP提供哪些服务

  • 越来越多的预建集成列表,您的LLM可以直接插入其中
  • 为人工智能应用程序构建自定义集成的标准化方法
  • 每个人都可以自由实施和使用的开放协议
  • 在不同应用程序之间进行更改并带您的上下文的灵活性

3.MCP优点

  • 🚀快速:高级界面意味着更少的代码和更快的开发
  • 🍀简单:用最少的模板构建MCP服务器
  • 🐍Pythonic:对Python开发人员来说感觉很自然
  • 🔍完成:一个适用于所有MCP用例的综合平台,从开发到生产

4.MCP架构

  • MCP主机:协调和管理一个或多个MCP客户端的人工智能应用程序
  • MCP 客户端:维持与 MCP 服务器的连接并从 MCP 服务器获取上下文以供 MCP 主机使用的组件
  • MCP服务器:一个为MCP客户端提供上下文的程序

5.FastMCP 安装

顾名思义,FastMCP就是提供MCP快速实现的框架,这就是我们要跟进学习的。 github地址: github.com/jlowin/fast...

  • 安装要求: python版本>=3.10
  • 安装
bash 复制代码
# 可以用uv,也可以不用
uv pip install fastmcp
sql 复制代码
Uninstalling pip-25.1.1:
    Successfully uninstalled pip-25.1.1
Successfully installed pip-25.2
(cp313) livingbody@LivingbodydeMacBook-Pro workspace % fastmcp --version
2.11.2

6.FastMCP In Action

6.1 FastMCP Server

python 复制代码
from fastmcp import FastMCP
​
mcp = FastMCP("My MCP Server")
​
@mcp.tool
def greet(name: str) -> str:
   return f"Hello, {name}!"
​
if __name__ == "__main__":
   mcp.run()
arduino 复制代码
fastmcp run myserver.py

6.2 FastMCP Client

python 复制代码
import asyncio
from fastmcp import Client
​
client = Client("mcp_test.py")
​
async def call_tool(name: str):
   async with client:
       result = await client.call_tool("greet", {"name": name})
       print(result)
​
asyncio.run(call_tool("Livingbody"))
复制代码
python myclient.py

7. FastMCP基本组件

基本组件有3个:

  • tools 工具
  • resources 资源
  • prompts 提示词
相关推荐
码事漫谈14 小时前
C++死锁深度解析:从成因到预防与避免
后端
码事漫谈14 小时前
智能体颠覆教育行业:现状、应用与未来展望调研报告
后端
蓝-萧14 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
priority_key14 小时前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
韩立学长14 小时前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
汤姆yu15 小时前
基于SpringBoot的动漫周边商场系统的设计与开发
java·spring boot·后端
灰小猿15 小时前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud
RedJACK~16 小时前
Go Ebiten小游戏开发:扫雷
开发语言·后端·golang
老夫的码又出BUG了17 小时前
分布式Web应用场景下存在的Session问题
前端·分布式·后端
L.EscaRC19 小时前
Spring Boot 自定义组件深度解析
java·spring boot·后端