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

MCP Python Starter

MCP Server

一个功能完整的Python版模型上下文协议(MCP)服务器模板,使用FastMCP实现,展示了所有主要MCP功能。

工具数

0

提示词数

0

GitHub Stars

18

资源数

0
服务器模板开发工具PythonVS CodeFastMCPVS Code

安装说明

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

作者 / 组织

SamMorrowDrums

提供方

SamMorrowDrums

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install -e .

详细介绍

MCP Python入门

![CI](https://github.com/SamMorrowDrums/mcp-python-starter/actions/workflows/ci.yml) ![Python](https://www.python.org/) ![Ruff](https://github.com/astral-sh/ruff) ![License: MIT](https://opensource.org/licenses/MIT) ![MCP](https://modelcontextprotocol.io/)

Python中使用FastMCP的功能完整的模型上下文协议(MCP)服务器模板。这个初学者用干净的Python代码演示了MCP的所有主要功能。

📚 文档

✨ 特性

类别功能描述
工具hello带注释的基本工具
get_weather返回结构化数据的工具
ask_llm调用LLM采样的工具
long_task具有5秒进度更新的工具
load_bonus_tool动态加载新工具
资源info://about静态信息资源
file://example.md基于文件的标记资源
模板greeting://{name}个性化问候
data://items/{id}按ID查找数据
提示greet各种风格的问候
code_review重点领域代码审查

🚀 快速开始

先决条件

安装

# Clone the repository
git clone https://github.com/SamMorrowDrums/mcp-python-starter.git
cd mcp-python-starter

# Install with uv (recommended)
uv sync

# Or with pip
pip install -e .

运行服务器

stdio传输 (地方发展):

uv run mcp-python-starter --stdio

HTTP传输 (用于远程/web部署):

uv run mcp-python-starter --http --port 3000

🔧 VS代码集成

该项目包括用于无缝开发的VS代码配置:

  1. 在VS Code中打开项目
  2. MCP配置位于 .vscode/mcp.json
  3. 使用VS Code的MCP工具测试服务器

使用DevContainers

  1. 安装 开发容器扩展
  2. 打开命令面板:“开发容器:在容器中重新打开”
  3. 一切都是预先配置好的,随时可以使用!

📁 项目结构

.
├── mcp_starter/
│   ├── __init__.py
│   ├── tools.py       # Tool definitions (hello, get_weather, ask_llm, etc.)
│   ├── resources.py   # Resource and template definitions
│   ├── prompts.py     # Prompt definitions
│   └── server.py      # Server orchestration (imports and wires modules)
├── .vscode/
│   ├── mcp.json       # MCP server configuration
│   ├── settings.json  # Python settings
│   └── extensions.json
├── .devcontainer/
│   └── devcontainer.json
├── pyproject.toml     # Project configuration (uv/pip, Ruff config)
└── .python-version

🛠️ 发展

# Run the server (Python reloads automatically on changes)
uv run mcp-python-starter --stdio

# Use MCP Inspector for debugging
uv run mcp dev mcp_starter/server.py

# Format code
uv run ruff format .

# Lint
uv run ruff check .

# Lint with auto-fix
uv run ruff check --fix .

# Type check
uv run pyright

实时重新加载

使用运行时,Python脚本会自动重新加载 uv run为了增强调试, 使用 mcp dev 其提供MCP检查器UI。

🔍 MCP检查员

MCP检查员 是测试和调试MCP服务器的重要开发工具。

运行检查器

npx @modelcontextprotocol/inspector -- uv run mcp-python-starter

检查员提供什么

  • 工具选项卡:列出并调用所有已注册的带有参数的工具
  • 资源选项卡:浏览和阅读资源和模板
  • 提示选项卡:查看和测试提示模板
  • 日志选项卡:请参阅客户端和服务器之间的JSON-RPC消息
  • 模式验证:验证工具输入/输出模式

调试提示

  1. 在连接IDE/客户端之前启动检查器
  2. 使用“日志”选项卡查看确切的请求/响应有效载荷
  3. 测试工具注释(ToolAnnotations)正确显示
  4. 验证是否显示进度通知 long_task
  5. 检查上下文注入是否适用于采样工具

📖 功能示例

带注释的工具(FastMCP装饰器)

@mcp.tool(
    title="Say Hello",
    description="A friendly greeting tool",
    annotations={"readOnlyHint": True},
)
def hello(name: str) -> str:
    """Say hello to someone.
    
    Args:
        name: The name to greet
    """
    return f"Hello, {name}!"

资源模板

@mcp.resource("greeting://{name}")
def greeting_template(name: str) -> str:
    """Generate a personalized greeting."""
    return f"Hello, {name}!"

带有进度更新的工具

@mcp.tool(title="Long Task")
async def long_task(
    task_name: str,
    ctx: Context[ServerSession, None],
) -> str:
    for i in range(5):
        await ctx.report_progress(
            progress=i / 5,
            total=1.0,
            message=f"Step {i + 1}/5",
        )
        await asyncio.sleep(1.0)
    return "Done!"

带取样的工具

@mcp.tool(title="Ask LLM")
async def ask_llm(
    prompt: str,
    ctx: Context[ServerSession, None],
) -> str:
    result = await ctx.session.create_message(
        messages=[{"role": "user", "content": {"type": "text", "text": prompt}}],
        max_tokens=100,
    )
    return result.content.text

🔐 环境变量

复制 .env.example.env 并配置:

cp .env.example .env

🤝 贡献

欢迎投稿!请确保您的更改与其他语言初学者保持功能对等。

📄 许可证

MIT许可证-请参阅 许可证 了解详情。

目录标签

目录标签

服务器模板开发工具PythonVS CodeFastMCPPython开发本地部署MCP协议

支持客户端

VS Code

接入字段

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

stdio

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP