Skip to content

MCP(model context protocol)

mcp inspector

调试mcp

npx @modelcontextprotocol/inspector python server.py

"""
FastMCP quickstart example.

Run from the repository root:
    uv run examples/snippets/servers/fastmcp_quickstart.py
"""

from mcp.server.fastmcp import FastMCP

# Create an MCP server
mcp = FastMCP("Demo", json_response=True)


# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b


# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"


# Add a prompt
@mcp.prompt()
def greet_user(name: str, style: str = "friendly") -> str:
    """Generate a greeting prompt"""
    styles = {
        "friendly": "Please write a warm, friendly greeting",
        "formal": "Please write a formal, professional greeting",
        "casual": "Please write a casual, relaxed greeting",
    }

    return f"{styles.get(style, styles['friendly'])} for someone named {name}."


# Run with streamable HTTP transport
if __name__ == "__main__":
    mcp.run(transport="stdio")

Firecrawl

案例

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("cs")

@mcp.tool()
def hello(name: str) -> str:
    return f"Hello {name}!"

if __name__ == "__main__":
    mcp.run()
mcp comment
fastapi_mcp Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth!

python sdk 参考文档

mcp 市场

MCP Service 市场 https://smithery.ai/ https://mcpmarket.com/ https://mcp.so/ https://docs.astral.sh/uv/guides/tools/ 魔塔mcp广场

playwright

Server

The FastMCP server is your core interface to the MCP protocol. It handles connection management, protocol compliance, and message routing:

Resources

Resources are how you expose data to LLMs. They're similar to GET endpoints in a REST API - they provide data but shouldn't perform significant computation or have side effects:

mcp 模式

stdio(默认): 通过标准的输入输出来进行数据的交互

sse: 直接通过http 接口来访问服务的

pip install mcp
from mcp.server.fastmcp import FastMCP
from mcp.types import TextContent, Tool

# 创建 FastMCP 实例
mcp = FastMCP("Hello World Appender")


# 定义工具函数
@mcp.tool()
def append_hello_world(text: str) -> str:
    """
    将用户输入的文本后面拼接 'hello world'

    Args:
        text: 用户输入的文本内容

    Returns:
        拼接后的字符串
    """
    return f"{text} hello world"


# 如果需要作为独立服务运行
if __name__ == "__main__":
    import asyncio

    # 运行服务器
    asyncio.run(mcp.run())
import random
from typing import Optional
from mcp.server.fastmcp import FastMCP

mcp = FastMCP(
    name="Demo 🚀",
    port=8090
    )

@mcp.tool()
def get_poker_cards(num: int = 5) -> str:
    # 定义花色和牌面
    suits = ['♠', '♥', '♦', '♣']
    ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']

    # 创建一副牌
    deck = [f"{suit}{rank}"for suit in suits for rank in ranks]

    # 随机抽取n张牌
    random_cards = random.sample(deck, num)

    return",".join(random_cards)

if __name__ == "__main__":
    # 初始化并运行服务器
    mcp.run(transport="sse")
☁️ 部署建议
如果你打算长期运行项目(博客 / API / 自动化脚本),建议直接用云服务器,会比本地稳定很多。
👉 查看云服务器(新用户优惠)