简易制作MCP服务器并测试

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 本文介绍了如何简易制作并测试MCP服务器,包括环境搭建、代码实现及Docker部署。首先通过uv包创建项目,在main.py中定义MCP服务器及其工具和资源函数。接着详细说明了在Windows上安装uv、配置Docker镜像加速、生成requirements.txt文件以及编写Dockerfile的过程。最后,通过构建和运行Docker容器部署MCP服务器,并使用Node.js工具测试其功能,确保服务器正常工作。此教程适合初学者快速上手MCP服务器的开发与部署。

简易制作MCP服务器并测试

https://github.com/modelcontextprotocol/python-sdk 也有github上有安装下载步骤

首先先下载claude桌面版测试使用mcp服务器比较方便,没有的话后续也有其他的测试方法,CLine,Cursor,还有可视化界面等。

推荐使用uv包的方式创建项目,windows安装uv:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
安装并激活虚拟环境。

uv venv

.\.venv\Scripts\activate
安装mcp依赖

uv add "mcp[cli]"

在你的main.py文件复制这段代码

# server.py
from mcp.server.fastmcp import FastMCP

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


# 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}!"
AI 代码解读

需要重新打开终端输入uv run mcp install main.py

打开Claude可以看到此工具直接使用。
Claude01.png

在Docker上部署测试MCP服务器

首先先下载Docker

在Docker Settings配置镜像

到Docker Engine 添加

"registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://dockerhub.azk8s.cn",
    "https://mirror.ccs.tencentyun.com",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.m.daocloud.io",
    "https://noohub.ru",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud"
  ]
AI 代码解读

终端输入命令uv pip freeze

出现这些包,其实挺多包是不需要的但是我先保留了。

annotated-types==0.7.0
anyio==4.9.0
certifi==2025.1.31
click==8.1.8
colorama==0.4.6
h11==0.14.0
httpcore==1.0.8
httpx==0.28.1
httpx-sse==0.4.0
idna==3.10
markdown-it-py==3.0.0
mcp==1.6.0
mdurl==0.1.2
pydantic==2.11.3
pydantic-settings==2.8.1
pygments==2.19.1
python-dotenv==1.1.0
rich==14.0.0
shellingham==1.5.4
sniffio==1.3.1
sse-starlette==2.2.1
starlette==0.46.2
typer==0.15.2
typing-extensions==4.13.2
typing-inspection==0.4.0
uvicorn==0.34.1


创建requirements.txt 复制进去

配置Dockerfile

没学过docker问AI复制将这些命令自己搜了注释了一下,根据你的需要来配置Dockerfile

FROM python:3.12-slim
# 创建工作目录
WORKDIR /app
# 拷贝代码到这个目录下面
COPY . /app/

RUN pip install --upgrade pip && pip install uv

# 创建并激活虚拟环境
RUN python -m venv .venv
ENV PATH="/app/.venv/bin:$PATH"

RUN pip install -r requirements.txt  # 在虚拟环境中安装依赖

# 如果 mcp 是通过 pip 安装的,也在虚拟环境中安装
# 假设 mcp install 是你自定义的命令,它可能需要在虚拟环境中运行
RUN pip install mcp

# 运行 mcp install 命令
CMD ["uv", "run", "--with", "mcp[cli]", "mcp", "run", "/app/main.py"]
EXPOSE 25565
AI 代码解读

构建Docker在当前目录下镜像名称为mcp_demo_1

docker build -t mcp_demo_1 .

docker启动后台运行容器并且暴露在端口25565上。

docker run -d -p 25565:25565 mcp_demo_1

列出docker当前正在运行的容器

docker ps
docker.png

关闭docker 是根据NAMES名称关闭

docker stop festive_feynman

测试mcp服务器是否可用

没有部署在docker也可以在这里测试这里先忽略了。

打开cmd终端输入npx @modelcontextprotocol/inspector注意需要安装过node.js,打开浏览器,访问 Node.js 的官方网站:https://nodejs.org。

输入终端提供给你的url有一个可视化测试mcp服务器的页面,左边输入参数点击连接这个命令会启动你的docker并在停止docker后删除容器,这这里的连接其实就是在终端帮你运行命令,连接成功就可以看到工具如何测试使用工具了。

docker02.png

目录
打赏
0
62
63
0
62
分享
相关文章
FastAPI开发者福音!FastAPI-MCP:将FastAPI秒变MCP服务器的开源神器,无需配置自动转换!
FastAPI-MCP是一款能将FastAPI应用端点自动转换为符合模型上下文协议(MCP)的开源工具,支持零配置自动发现接口并保留完整文档和模式定义。
1692 71
FastAPI开发者福音!FastAPI-MCP:将FastAPI秒变MCP服务器的开源神器,无需配置自动转换!
释放数据潜力:利用 MCP 资源让大模型读懂你的服务器
MCP(Model Control Protocol)资源系统是将服务器数据暴露给客户端的核心机制,支持文本和二进制两种类型资源。资源通过唯一URI标识,客户端可通过资源列表或模板发现资源,并使用`resources/read`接口读取内容。MCP还支持资源实时更新通知及订阅机制,确保动态数据的及时性。实现时需遵循最佳实践,如清晰命名、设置MIME类型和缓存策略,同时注重安全性,包括访问控制、路径清理和速率限制等。提供的示例代码展示了如何用JavaScript和Python实现资源支持。
465 80
专为 Claude Code 设计的基于 YAML 的 Playwright MCP 自动化测试
YAML配置结合Claude Code与Playwright MCP,将自动化测试变得人人可用。通过简洁的YAML语法替代复杂的JavaScript代码,解决传统测试中冗长、硬编码和复用性差等问题。自然语言描述测试步骤,AI解析执行,支持多环境切换与智能报告生成,极大降低技术门槛,提升团队协作效率。无论是开发、QA还是产品经理,都能轻松参与测试流程,真正实现可读、易维护的自动化测试新范式。
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
200 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
2025年GitHub平台上的十大开源MCP服务器汇总分析
本文深入解析了GitHub上十个代表性MCP(Model Context Protocol)服务器项目,探讨其在连接AI与现实世界中的关键作用。这些服务器实现了AI模型与应用程序、数据库、云存储、项目管理等工具的无缝交互,扩展了AI的应用边界。文中涵盖Airbnb、Supabase、AWS-S3、Kubernetes等领域的MCP实现方案,展示了AI在旅行规划、数据处理、云存储、容器编排等场景中的深度应用。未来,MCP技术将向标准化、安全性及行业定制化方向发展,为AI系统集成提供更强大的支持。
876 2
2025年GitHub平台上的十大开源MCP服务器汇总分析
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
用 Go 语言轻松构建 MCP 客户端与服务器
本文介绍了如何使用 mcp-go 构建一个完整的 MCP 应用,包括服务端和客户端两部分。 - 服务端支持注册工具(Tool)、资源(Resource)和提示词(Prompt),并可通过 stdio 或 sse 模式对外提供服务; - 客户端通过 stdio 连接服务器,支持初始化、列出服务内容、调用远程工具等操作。
940 4
MCP 实战:用 Go 语言开发一个查询 IP 信息的 MCP 服务器
随着 MCP 的快速普及和广泛应用,MCP 服务器也层出不穷。大多数开发者使用的 MCP 服务器开发库是官方提供的 typescript-sdk,而作为 Go 开发者,我们也可以借助优秀的第三方库去开发 MCP 服务器,例如 ThinkInAIXYZ/go-mcp。 本文将详细介绍如何在 Go 语言中使用 go-mcp 库来开发一个查询 IP 信息的 MCP 服务器。
195 0
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
2136 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问