简易制作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}!"

需要重新打开终端输入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"
  ]

终端输入命令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

构建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

相关文章
|
2月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
497 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
5月前
|
人工智能 API 开发者
FastAPI开发者福音!FastAPI-MCP:将FastAPI秒变MCP服务器的开源神器,无需配置自动转换!
FastAPI-MCP是一款能将FastAPI应用端点自动转换为符合模型上下文协议(MCP)的开源工具,支持零配置自动发现接口并保留完整文档和模式定义。
3058 112
FastAPI开发者福音!FastAPI-MCP:将FastAPI秒变MCP服务器的开源神器,无需配置自动转换!
|
30天前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
330 1
|
2月前
|
人工智能 Nacos 开发者
手把手教你搭建MCP服务器
Model Context Protocol(MCP)正成为AI智能体连接外部工具的主流标准。本文详解两种搭建方案,助你构建专属AI工具扩展引擎,实现工具调用的标准化与高效集成。
|
2月前
|
人工智能 运维 安全
MCP协议深度解析:客户端-服务器架构的技术创新
作为一名长期关注AI技术发展的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP协议作为Anthropic公司推出的开放标准,正在重新定义AI应用与外部系统的交互方式,其基于JSON-RPC 2.0的通信机制为构建可扩展、安全的AI应用提供了坚实的技术基础。在深入研究MCP协议规范的过程中,我发现这一协议不仅解决了传统AI应用在资源访问、工具调用和上下文管理方面的痛点,更通过其独特的三大核心概念——资源(Resources)、工具(Tools)、提示词(Prompts)——构建了一个完整的AI应用生态系统。MCP协议的客户端-
263 0
MCP协议深度解析:客户端-服务器架构的技术创新
|
1月前
|
人工智能 JavaScript 前端开发
用 Go 语言轻松构建 MCP 服务器
本文介绍了使用 Go 语言构建 MCP 服务器的完整过程,涵盖创建服务器实例、注册工具、资源和提示词,以及通过 stdio 和 sse 模式启动服务的方法,帮助开发者快速集成 LLM 应用与外部系统。
|
5月前
|
缓存 人工智能 架构师
释放数据潜力:利用 MCP 资源让大模型读懂你的服务器
MCP(Model Control Protocol)资源系统是将服务器数据暴露给客户端的核心机制,支持文本和二进制两种类型资源。资源通过唯一URI标识,客户端可通过资源列表或模板发现资源,并使用`resources/read`接口读取内容。MCP还支持资源实时更新通知及订阅机制,确保动态数据的及时性。实现时需遵循最佳实践,如清晰命名、设置MIME类型和缓存策略,同时注重安全性,包括访问控制、路径清理和速率限制等。提供的示例代码展示了如何用JavaScript和Python实现资源支持。
687 80
|
4月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
310 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
3月前
|
人工智能 自然语言处理 JavaScript
专为 Claude Code 设计的基于 YAML 的 Playwright MCP 自动化测试
YAML配置结合Claude Code与Playwright MCP,将自动化测试变得人人可用。通过简洁的YAML语法替代复杂的JavaScript代码,解决传统测试中冗长、硬编码和复用性差等问题。自然语言描述测试步骤,AI解析执行,支持多环境切换与智能报告生成,极大降低技术门槛,提升团队协作效率。无论是开发、QA还是产品经理,都能轻松参与测试流程,真正实现可读、易维护的自动化测试新范式。

热门文章

最新文章