关于 ezmcp
ezmcp 是一个专为 SSE 设计的轻量 MCP 服务框架,采用类似 FastAPI 的装饰器语法定义工具。适合希望快速用 Python 构建 MCP 服务的开发者,并可与 Starlette 应用集成。
主要功能
- 01类似 FastAPI 的装饰器 API 定义工具
- 02根据函数签名自动生成工具 schema
- 03内置 SSE 传输支持
- 04支持类似 FastAPI 的中间件
- 05提供可交互的文档页面用于测试工具
适用场景
- 01用 Python 快速搭建基于 SSE 的 MCP 服务
- 02在现有 Starlette 应用中添加 MCP 工具接口
MCP 相关
ezmcp 是用于创建 MCP 服务的框架,定义的工具通过 SSE 端点提供给 MCP 客户端调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ezmcp
专为 SSE 打造的易用 MCP 服务框架。
概述
ezmcp 是一个轻量级框架,使用类似 FastAPI 的语法即可轻松创建兼容 MCP 的服务。它提供了基于装饰器的简单 API,用于定义可由 MCP 客户端调用的工具。
功能
- 用于定义 MCP 工具的 FastAPI 风格装饰器 API
- 自动验证参数并转换类型
- 根据函数签名自动生成工具架构
- 内置 SSE 传输支持
- 支持 FastAPI 风格的中间件
- 可轻松集成到现有 Starlette 应用程序
- 交互式文档页面,可用于探索和测试工具

安装
pip install ezmcp
快速开始
from ezmcp import ezmcp, TextContent
# Create an ezmcp application
app = ezmcp("my-app")
# Define a tool
@app.tool(description="Echo a message back to the user")
async def echo(message: str):
"""Echo a message back to the user."""
return [TextContent(type="text", text=f"Echo: {message}")]
# Run the application
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
服务运行后,你可以:
- 在
http://localhost:8000/docs访问交互式文档 - 连接到 SSE 端点
http://localhost:8000/sse
中间件
ezmcp 支持类似 FastAPI 的中间件,可添加应用程序全局生效的行为。
from starlette.requests import Request
from ezmcp import TextContent, ezmcp
app = ezmcp("my-app")
@app.middleware
async def process_time_middleware(request: Request, call_next):
"""Add a header with the processing time."""
import time
start_time = time.perf_counter()
response = await call_next(request)
process_time = time.perf_counter() - start_time
response.headers["X-Process-Time"] = str(process_time)
return response
@app.tool(description="Echo a message back to the user")
async def echo(message: str):
"""Echo a message back to the user."""
return [TextContent(type="text", text=f"Echo: {message}")]
有关中间件的更多信息,请参阅中间件文档。
文档
如需更详细的文档,请参阅 ezmcp/README.md 文件。
许可证
MIT
命令
- 安装测试依赖
pdm install -G test - 安装开发依赖
pdm install -G dev
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。