Token导航 LogoToken导航TokenDH.com
Simply MCP Py logo
开发工具stdio官方级别未说明来源级核验

Simply MCP Py

MCP Server

Simply-MCP-PY是一个Python实现的现代框架,用于构建支持多种API风格和传输协议的Model Context Protocol(MCP)服务器。

工具数

2

提示词数

0

GitHub Stars

1

资源数

0
服务器构建Python开发工具API开发

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Clockwork-Innovations

提供方

Clockwork-Innovations

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install uv

详细介绍

简单的MCP PY

用于构建具有多种API样式的模型上下文协议(MCP)服务器的现代Python框架

](https://www.python.org/downloads/) ![License](LICENSE) ![Status](<>)

简单来说,MCP PY是Python的实现 简单来说就是mcp-ts,为构建MCP服务器的Python生态系统带来了同样的易用性和灵活性。

特性

  • 多种API样式 -选择适合您工作流程的样式:

- 🎨 装饰师API -干净、声明性的基于类的方法 - 🔧 API功能 -使用方法链进行程序化服务器构建 - 📝 接口API -纯类型注释接口(即将推出) - 🤖 生成器API -人工智能驱动的工具开发(未来)

  • 多个传输 -在任何地方运行服务器:

- 📟 工作室 -标准输入/输出(默认) - 🌐 超文本传输协议 -支持会话的RESTful HTTP服务器 - 📡 上海证券交易所 -服务器发送实时流媒体事件

  • 零配置 -立即开始:

- 自动检测API风格 - 从类型提示自动生成架构 - 一切都是合理的违约 - 高级用例的可选配置

  • 开发者体验:

- 🔥 带手表模式的热重新加载 - 📦 捆绑到独立可执行文件 - 🎯 类型安全,完全支持mypy - 📚 全面的文件

  • 生产就绪:

- 🔒 速率限制和身份验证 - ⚡ 长期运营的进度报告 - 🔄 使用启动/关闭挂钩进行寿命管理 - 📊 二进制内容支持 - 🛡️ 安全最佳实践

快速开始

安装

选项1:尝试不安装(uvx)

# Install uvx
pip install uv

# Run directly without installing simply-mcp
uvx simply-mcp --version
uvx simply-mcp run server.py

选项2:永久安装(pip)

pip install simply-mcp

您的第一台服务器(Decorator API)

# server.py
from simply_mcp import mcp_server, tool

@mcp_server(name="my-server", version="1.0.0")
class MyServer:
    @tool(description="Add two numbers")
    def add(self, a: int, b: int) -> int:
        """Add two numbers together."""
        return a + b

    @tool(description="Greet a user")
    def greet(self, name: str, formal: bool = False) -> str:
        """Generate a greeting."""
        if formal:
            return f"Good day, {name}."
        return f"Hey {name}!"

运行您的服务器

# Run with stdio (default)
simply-mcp run server.py

# Run with HTTP on port 3000
simply-mcp run server.py --transport http --port 3000

# Run with auto-reload
simply-mcp run server.py --watch

注: 如果使用uvx,请在命令前加上前缀 uvx: uvx simply-mcp run server.py。第一次运行需要大约7-30秒来下载软件包,后续运行几乎是即时的。

API样式

装饰师API(推荐)

干净、声明性的基于类的方法:

from simply_mcp import mcp_server, tool, prompt, resource

@mcp_server(name="my-server", version="1.0.0")
class MyServer:
    @tool(description="Calculate sum")
    def add(self, a: int, b: int) -> int:
        return a + b

    @prompt(description="Generate code review")
    def code_review(self, language: str) -> str:
        return f"Please review this {language} code..."

    @resource(uri="config://server", mime_type="application/json")
    def get_config(self) -> dict:
        return {"status": "running", "version": "1.0.0"}

API功能

程序化服务器构建:

from simply_mcp import BuildMCPServer

mcp = BuildMCPServer(name="my-server", version="1.0.0")

@mcp.add_tool(description="Add two numbers")
def add(a: int, b: int) -> int:
    return a + b

@mcp.add_prompt(description="Generate greeting")
def greet(name: str) -> str:
    return f"Hello, {name}!"

# Method chaining
mcp.configure(port=3000).run()

配置

创建 simplymcp.config.toml 文件:

[server]
name = "my-mcp-server"
version = "1.0.0"

[transport]
type = "http"  # or "stdio", "sse"
port = 3000

[logging]
level = "INFO"
format = "json"

[security]
enable_rate_limiting = true
rate_limit_per_minute = 60

或者使用环境变量:

export SIMPLY_MCP_TRANSPORT=http
export SIMPLY_MCP_PORT=3000
export SIMPLY_MCP_LOG_LEVEL=DEBUG

高级功能

寿命管理

from simply_mcp import BuildMCPServer, Context

mcp = BuildMCPServer(name="my-server", version="1.0.0")

@mcp.on_startup()
async def initialize():
    """Run on server startup - load resources, connect to databases, etc."""
    db = await create_database_connection()
    mcp.server.lifespan['db'] = db  # Store for later use

@mcp.on_shutdown()
async def cleanup():
    """Run on server shutdown - close connections, save state, etc."""
    db = mcp.server.lifespan.get('db')
    if db:
        await db.close()

@mcp.tool()
async def query_data(query: str, ctx: Context) -> dict:
    """Access lifespan state in request handlers."""
    db = ctx.request_context.lifespan_context['db']
    result = await db.query(query)
    return result

进度报告

from simply_mcp import tool, Progress

@tool(description="Process large dataset")
async def process_data(data: list, progress: Progress) -> dict:
    total = len(data)
    for i, item in enumerate(data):
        await progress.update(
            percentage=(i / total) * 100,
            message=f"Processing item {i+1}/{total}"
        )
        # Process item...
    return {"processed": total}

认证

# simplymcp.config.toml
[security.auth]
enabled = true
type = "api_key"
api_keys = ["your-secret-key"]

二进制内容

@resource(uri="file://document.pdf", mime_type="application/pdf")
def get_document(self) -> bytes:
    with open("document.pdf", "rb") as f:
        return f.read()

CLI命令

# Run a server
simply-mcp run server.py [--transport TYPE] [--port PORT] [--watch]

# Bundle to executable
simply-mcp bundle server.py --output dist/

# List available servers
simply-mcp list [--json]

# Configuration management
simply-mcp config init          # Create config file
simply-mcp config validate      # Validate config
simply-mcp config show          # Show current config

例子

看看 examples/ 目录:

  • simple_server.py -最小工作示例
  • decorator_basic.py -装饰师API基础
  • functional_api.py -API功能使用
  • http_server.py -HTTP传输示例
  • lifespan_management_example.py -启动/关闭挂钩、状态管理
  • advanced_features.py -进度、身份验证、二进制内容

文档

与简单的mcp-ts进行比较

功能简单mcp-ts简单mcp py
装饰师API
API功能
接口API🚧 (计划中)
生成器API🚧 (未来)
标准运输
HTTP传输
苏格兰和南方能源公司运输✅
监视模式
捆绑
模式验证ZodPydantic
类型系统TypeScriptPython+mypy

开发状态

v0.1.0稳定版 -生产准备就绪。核心功能已完全实现和测试。API稳定,适合生产使用。看 ROADMAP.md 以了解未来版本中的计划功能。

贡献

我们欢迎捐款!请参阅 贡献.md 作为指导方针。

需求

  • Python 3.10或更高版本
  • 通过pip管理依赖关系

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

相关项目

致谢

支持

______________________________________________________________________

由...制作❤️ 钟表创新

目录标签

目录标签

服务器构建Python开发工具API开发Python框架本地部署模型协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP