前言

最近 MCP(Model Context Protocol)生态火热,各类教程层出不穷。但真正从零开始、完整跑通"创建 → 调试 → 集成"全流程的实操文章并不多,本篇文章在博主“技术爬爬虾”的肩膀上构建,感谢博主。

本文的目标很简单:手把手带你完成第一个 MCP Server,从 Python SDK 创建、理解三大核心概念,到在 Cherry Studio 和 Cursor 中实际使用。跟着做,你就能跑起来!


一、环境准备:安装 uv 并初始化项目

网站:https://docs.astral.sh/uv/getting-started/installation/

1.1 为什么用 uv?

官方 Python SDK 推荐使用 uv 作为包管理器,它比 pip 快很多,依赖管理也更优雅。

1.2 安装 uv

打开网站
在这里插入图片描述
打开任务管理器
Windows(PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

安装完成后,终端验证。

uv --version

成功下载后检查python版本。

uv python list

在这里插入图片描述
如果没安装可以使用命令进行下载

uv python install <版本>

在这里插入图片描述

1.3 初始化项目

在桌面新建一个文件夹
在这里插入图片描述
开始初始化后面带前面下载python的版本

uv init . -p <版本>
# 安装 MCP 开发包sdk
uv add "mcp[cli]"

在这里插入图片描述

这一步会生成 pyproject.toml 和基础项目结构。


二、编写第一个 MCP Server

标题打开项目中的 main.py,我们来编写一个完整的 MCP Server。(或者跳到2.5,一样的)

打开sdk将main.py换成以下代码:

MCP Python SKD网站:
 https://github.com/modelcontextprotocol/python-sdk

在这里插入图片描述
把最后一行的streamable-http改成stdio
在这里插入图片描述

这样代码部分就完事了,以后根据这个模板来修改mcp的功能就可以,高级功能以后出一期。本期先用示例“加法器”,来讲解。

2.1 基础结构(关于这个介绍可以看我前几期的介绍)

from mcp.server.fastmcp import FastMCP

# 创建 MCP 服务器实例
mcp = FastMCP("Demo", json_response=True)

if __name__ == "__main__":
    mcp.run(transport="stdio")

就这么简单!FastMCP 是官方提供的高层封装,让我们能用装饰器快速定义功能。

2.2 实现 Tool:让 AI 调用你的功能(介绍)

Tool 是 MCP 中最常用的概念,让 AI 能执行操作(可能产生副作用):

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

使用 @mcp.tool() 装饰器,函数名和参数会自动暴露给 AI。AI 看到的是:有一个叫 add 的工具,接收两个整数,返回它们的和。

2.3 实现 Resource:让 AI 读取你的数据(介绍)

Resource 用于暴露数据给 AI(类似只读的 GET 请求):

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

这里定义了一个动态资源 greeting://{name},AI 可以通过 greeting://World 来获取 "Hello, World!"

2.4 实现 Prompt:提供预定义提示词模板(介绍)

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",
    }
    return f"{styles.get(style, styles['friendly'])} for someone named {name}."

用户选择这个 Prompt 后,AI 会收到预填充的提示词,省去每次手动输入的麻烦。

2.5 完整代码(直接粘,和完整代码一样,下面那个我改好了)

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Demo", json_response=True)

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

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

@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",
    }
    return f"{styles.get(style, styles['friendly'])} for someone named {name}."

if __name__ == "__main__":
    mcp.run(transport="stdio")

三、使用 Cherry Studio 调试 MCP

3.1 配置 MCP Server

这里初次需要配置。
在这里插入图片描述
配置好两个。
在这里插入图片描述

打开 Cherry Studio,进入「设置 → MCP 服务器」,添加快速创建

在这里插入图片描述
如图配置。
在这里插入图片描述
参数是固定格式,第二行是项目地址

--directory
C:\Users\kingwu\Desktop\mcp-server
run
main.py

成功标志出现一串数字。
在这里插入图片描述

3.2 测试功能

点击模型,配置密钥,我用的是deepseek。
在这里插入图片描述
开始测试我们的mcp
在这里插入图片描述
然后选择加法器

在这里插入图片描述
和模型对话可以看见,模型使用加法器mcp计算。阶段性成功
在这里插入图片描述


四、迁移到 Cursor 使用 MCP

4.1 配置方式

Cursor 同样支持 MCP,配置位置略有不同。

打开 Cursor 设置,找到 MCP 配置文件(路径因版本而异,常见位置如 ~/.cursor/mcp.json 或项目根目录的 .cursor/mcp.json,以实际版本为准)或者

在这里插入图片描述
回到cherry负责配置文件。点击编辑。
在这里插入图片描述
复制JSON,回到cursor。
在这里插入图片描述
粘贴配置JSON。
在这里插入图片描述
绿灯代表成功。
在这里插入图片描述

4.2 实际使用

在 Cursor 中,你可以:

  • 让 AI 调用你定义的 Tool 来辅助编码
  • 通过 Resource 让 AI 读取项目配置
  • 使用 Prompt 快速生成特定格式的代码注释

实践建议:先在 Cherry Studio 调试验证功能正确,再迁移到 Cursor 实际使用。


总结

本文从零开始带你完成了:

步骤 内容
环境准备 安装 uv,初始化项目,安装 mcp[cli]
编写 Server 理解并实现 Tool、Resource、Prompt
调试验证 Cherry Studio 可视化测试
实际集成 迁移到 Cursor 编码环境

三大核心概念速记:

  • Tool = 执行操作(类似 POST)
  • Resource = 暴露数据(类似 GET)
  • Prompt = 提示词模板

进阶建议:尝试添加更复杂的 Tool(如调用外部 API),或实现动态 Resource 列表,让你的 MCP Server 更强大!


本文首发于 CSDN,作者:kingwu

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐