mcpField
E
ezmcp

ezmcp

本地服务
pypi.org开发工具2386 周前更新

关于 ezmcp

ezmcp 是一个专为 SSE 设计的轻量 MCP 服务框架,采用类似 FastAPI 的装饰器语法定义工具。适合希望快速用 Python 构建 MCP 服务的开发者,并可与 Starlette 应用集成。

主要功能

  1. 01类似 FastAPI 的装饰器 API 定义工具
  2. 02根据函数签名自动生成工具 schema
  3. 03内置 SSE 传输支持
  4. 04支持类似 FastAPI 的中间件
  5. 05提供可交互的文档页面用于测试工具

适用场景

  1. 01用 Python 快速搭建基于 SSE 的 MCP 服务
  2. 02在现有 Starlette 应用中添加 MCP 工具接口

MCP 相关

ezmcp 是用于创建 MCP 服务的框架,定义的工具通过 SSE 端点提供给 MCP 客户端调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ezmcp

专为 SSE 打造的易用 MCP 服务框架。

概述

ezmcp 是一个轻量级框架,使用类似 FastAPI 的语法即可轻松创建兼容 MCP 的服务。它提供了基于装饰器的简单 API,用于定义可由 MCP 客户端调用的工具。

功能

  • 用于定义 MCP 工具的 FastAPI 风格装饰器 API
  • 自动验证参数并转换类型
  • 根据函数签名自动生成工具架构
  • 内置 SSE 传输支持
  • 支持 FastAPI 风格的中间件
  • 可轻松集成到现有 Starlette 应用程序
  • 交互式文档页面,可用于探索和测试工具

docs_image

安装

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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。