5分钟编写你的第一个MCP Server -- 无需编程基础

1,622 阅读5分钟

MCP就像AI时代的哆啦A梦口袋,这篇教程带领大家快速构建自己的百宝箱工具:零基础也能三步走!1️⃣AI生成简易的MCP Server;2️⃣用MCP Inspector可视化调试工具点选测试;3️⃣无缝对接AI客户端启动服务。五分钟实现简易MCP Server,让编程小白也能轻松玩转MCP Server:)

回顾上篇

回顾 上一篇,我们使用5分钟时间快速体验了一下MCP,大致了解了什么是MCP以及为什么要使用MCP

今天带大家五分钟编写第一个MCP Server,如果你没有编程基础也没有关系,你只需要在AI时代说人话,然后跟AI编程客户端交互即可,很多时候跨越不过去的是我们内心的一道坎:)

阅读本篇文章,你将会快速学会并跑通整个流程:

  • 编写/生成一个简易的MCP Server
  • 使用MCP Inspector调试MCP Server
  • 调试成功之后对接AI客户端启动MCP Server

准备工作

1、准备AI编程工具

使用 Cursor(需要付费)或者 Trae(当前免费版本)都可以

2、安装uv

pip install uv

编写第一个mcp server

MCP官方文档:modelcontextprotocol.io/introductio…

MCP官方github:github.com/modelcontex…

扫一眼官方文档,我们知道MCP协议当前支持的有各种编程语言的SDK,这里我们直接选择入门的Python SDK

点击官方文档里面的【Python SDK】直接就会跳转到 github的mcp python-sdk链接:github.com/modelcontex…

为什么我这里特意讲了一下官方文档的操作,是因为很多同学在了解新事物的时候不知道怎么翻阅一手资料,很多时候只能从二手或者好几手的资料中看懂一些内容,在这里我们可以慢慢养成翻阅一手资料的习惯,以确保原信息的准确性和完整性

也可以直接使用python-sdk文档里面的小例子,这里我们直接使用Cursor或者Trae帮我们生成第一个MCP Server

请利⽤ @https://github.com/modelcontextprotocol/python-sdk  开发⼀个简易的数学计算器,实现加减乘除的mcp server, 请注意不需要开发client,并为每行代码生成解释

生成代码calculator_server.py:

from mcp.server.fastmcp import FastMCP  # 导入FastMCP类,用于快速创建MCP服务器

# 创建一个名为"计算器"的MCP服务器实例
mcp = FastMCP("计算器")

@mcp.tool()  # 使用装饰器将函数注册为MCP工具
def add(a: float, b: float) -> float:
    """将两个数相加"""
    return a + b

@mcp.tool()  # 使用装饰器将函数注册为MCP工具
def subtract(a: float, b: float) -> float:
    """将两个数相减"""
    return a - b

@mcp.tool()  # 使用装饰器将函数注册为MCP工具
def multiply(a: float, b: float) -> float:
    """将两个数相乘"""
    return a * b

@mcp.tool()  # 使用装饰器将函数注册为MCP工具
def divide(a: float, b: float) -> float:
    """将两个数相除"""
    if b == 0:  # 检查除数是否为零
        raise ValueError("除数不能为零")
    return a / b

测试第一个mcp server

使用MCP Inspector来调试mcp server

MCP Inspector 是专为 MCP Server 设计的交互式开发者工具,主要用于测试、调试和优化 MCP 服务端功能。它通过图形化界面与命令行工具结合,简化了开发流程,帮助开发者验证服务器功能、检查资源与工具、监控日志,并支持复杂场景的边界测试。

启动MCP Inspector

pip install "mcp[cli]"
mcp dev calculator_server.py

打印输出,默认启动本地端口6274

Starting MCP inspector...
⚙️ Proxy server listening on port 6277
New connection
Query parameters: [Object: null prototype] {
  command: 'uv',
  args: 'run --with mcp mcp run calculator_server.py',
...
Stdio transport: command=/Users/foxi/.pyenv/versions/3.11.8/bin/uv, args=run,--with,mcp,mcp,run,calculator_server.py
Spawned stdio transport
Connected MCP client to backing server transport
Created web app transport
Set up MCP proxy
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

访问http://127.0.0.1:6274

点击【Connect】连接MCP Server

连接成功之后,点击【Tools】,然后依次对定义的工具进行测试

比如测试 add tool,点击【add】,然后在右边输入你想测试的数字,点击【Run Tool】就会显示执行的结果

Histroy这里会显示调用的历史

再来继续测试一些边界场景,查看是否符合预期

比如测试 divide tool,点击【divide】,然后在右边输入除数为0,点击【Run Tool】查看是否符合预期

OK,到这里基本功能测试通过,工具调用符合预期

使用AI客户端对接MCP Server

上一篇中我们选用的是 Cherry Studio这个AI客户端来对接MCP Server

这里可以

注意参数是一行一个,同时--directory换成对应实际的项目目录

run
--directory
/your/project/path
--with
mcp
mcp
run
calculator_server.py

当然也可以直接使用mcp run /your/path/calculator_server.py来进行运行,这里建议使用社区更通用的uv方式来对接

如果对接MCP Server过程中失败了

可以查看对应的日志进行分析:

启动MCP Server没有问题之后,我们在会话里面选择MCP Calculator

测试AI客户端调用工具

比如测试基础加减乘除

测试边界情况,除数为0的时候,符合报错预期

到这里,你就已经学会并跑通了整个流程👍,奖励自己一个小鸡腿🍗吧:)

  • 学会了编写一个简单的MCP Server了
  • 学会了如何使用MCP Inspector调试MCP Server
  • 学会了调试成功之后对接AI客户端启动MCP Server

欢迎关注我的微信公众号:[佛喜酱的AI实践],分享AI实战经验,一起探索AI的可能性:)