Token导航 LogoToken导航TokenDH.com
Dummy MCP logo
AI代理stdio官方级别未说明来源级核验

Dummy MCP

MCP Server

一个演示MCP(模型上下文协议)最佳实践的服务器,包括工具实现、输入验证、响应格式化、分页和错误处理等功能。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

intility

提供方

intility

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install uv

详细介绍

模拟MCP服务器

一个演示用的MCP(模型上下文协议)服务器,展示了工具实现、输入验证、响应格式化、分页以及错误处理的最佳实践。

概述

这是一个用Python和FastMCP构建的模拟MCP服务器,用于演示:

  • 最佳实践工具设计遵循MCP(可能是指某种标准或规范,如“命名、注释和结构规范”的缩写,具体需根据上下文确定)关于命名、注释和结构的指南
  • 输入验证使用带有全面字段约束的 Pydantic v2 模型
  • 多种响应格式支持JSON(机器可读)和Markdown(人类可读)两种输出格式
  • 分页实现基于偏移量的分页,并提供清晰的元数据
  • 字符限制尊重字符限制,优雅地进行截断
  • 错误处理提供清晰、可操作的错误信息
  • 类型安全在整个代码库中使用完整的类型提示

可用工具

1. dummy_get_time

获取当前的日期和时间。

参数:

  • timezone (可选):显示时区(默认:“UTC”)
  • response_format (可选):输出格式(“markdown”或“json”)

示例:

{
  "timezone": "UTC",
  "response_format": "json"
}

注释: 只读,幂等

______________________________________________________________________

2. dummy_calculate

执行基本的数学运算(加、减、乘、除)。

参数:

  • operation数学运算(“加”、“减”、“乘”、“除”)
  • a第一个数字
  • b第二个数字
  • response_format (可选):输出格式(“markdown”或“json”)

示例:

{
  "operation": "add",
  "a": 5.0,
  "b": 3.0,
  "response_format": "json"
}

注释: 只读,幂等

______________________________________________________________________

3. dummy_search_items

使用分页和过滤功能搜索虚拟项目。

参数:

  • query (可选):搜索查询以过滤项目
  • limit (可选):要返回的最大结果数(1-100,默认:20)
  • offset (可选):分页时要跳过的结果数量(默认:0)
  • response_format (可选):输出格式(“markdown”或“json”)

示例:

{
  "query": "development",
  "limit": 10,
  "offset": 0,
  "response_format": "json"
}

注释: 只读,幂等

______________________________________________________________________

4. dummy_create_item

创建一个新的虚拟项目。

参数:

  • name项目名称(1-100个字符,必填)
  • description (可选):项目描述(最多500个字符)
  • tags (可选):标签列表(最多10个标签)
  • response_format (可选):输出格式(“markdown”或“json”)

示例:

{
  "name": "Project Alpha",
  "description": "New Q1 project",
  "tags": ["development", "priority-1"],
  "response_format": "json"
}

注释: 非破坏性写入操作

______________________________________________________________________

5. dummy_format_text

使用各种转换选项来格式化文本。

参数:

  • text要格式化的文本(1-10000个字符,必填)
  • format_type应用格式设置(“大写”,“小写”,“标题大小写”,“反转”)

示例:

{
  "text": "hello world",
  "format_type": "uppercase"
}

注释: 只读,幂等

______________________________________________________________________

安装

先决条件

  1. 安装 Python 3.10 或更高版本
  1. 安装 uv(快速的 Python 包安装工具):
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

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

# Or with pip
pip install uv

安装依赖项

# Install dependencies using uv
uv sync

# Or install manually
uv pip install -e .

用法

运行服务器

服务器默认使用stdio传输方式,这适用于命令行工具和子进程集成:

# Run with uv (recommended - manages dependencies automatically)
uv run server.py

# Or run directly if dependencies are installed
python3 server.py

使用MCP Inspector进行测试

您可以使用MCP Inspector工具来测试服务器:

# With uv (recommended)
npx @modelcontextprotocol/inspector uv run server.py

# Or without uv
npx @modelcontextprotocol/inspector python3 server.py

与Claude桌面版的集成

将此配置添加到您的Claude Desktop配置文件中:

macOS(发音为 /ˈmækɒs/,中文常译为“麦奥斯”或直接使用原名)~/Library/Application Support/Claude/claude_desktop_config.json

使用紫外线(推荐):

{
  "mcpServers": {
    "dummy": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/dummy-mcp",
        "run",
        "server.py"
      ]
    }
  }
}

或者不加紫外线:

{
  "mcpServers": {
    "dummy": {
      "command": "python3",
      "args": ["/path/to/dummy-mcp/server.py"]
    }
  }
}

建筑学

服务器结构

dummy-mcp/
├── server.py          # Main MCP server implementation
├── pyproject.toml     # Project metadata and dependencies (uv)
├── requirements.txt   # Python dependencies (legacy, optional)
└── README.md         # This file

关键组件

Pydantic 模型所有工具输入均使用 Pydantic v2 模型进行验证,具体包括:

  • 字段约束(最小/最大长度,范围)
  • 自定义验证器
  • 类型安全
  • 自动错误消息

共享公用设施将常用功能提取到可重用的函数中:

  • _generate_dummy_items()生成测试数据
  • _filter_items()按查询过滤项目
  • _format_items_markdown()格式化为Markdown
  • _format_items_json()格式化为JSON
  • _check_character_limit()强制字符限制

工具注释所有工具都包含适当的注释:

  • readOnlyHint指示工具是否修改状态
  • destructiveHint指示修改是否具有破坏性
  • idempotentHint指示重复调用是否具有相同效果
  • openWorldHint指示工具是否与外部系统交互

展示的最佳实践

这台服务器遵循MCP最佳实践:

  1. 服务器命名dummy_mcp 遵循Python的约定 {service}_mcp
  2. 工具命名带服务前缀的蛇形命名法(例如。, dummy_get_time
  3. 响应格式支持JSON和Markdown格式
  4. 分页实现基于偏移量的分页功能,包含元数据
  5. 字符限制25,000个字符限制,优雅截断
  6. 输入验证全面的 Pydantic 模型
  7. 错误处理清晰、可操作的错误信息
  8. 文档带有示例的全面文档字符串
  9. 类型安全全文采用完整类型提示
  10. 代码可重用性用于常见操作的共享实用工具

发展

验证语法

检查Python语法:

python3 -m py_compile server.py

运行测试

# Install dev dependencies
uv sync --all-extras

# Run tests (when available)
uv run pytest

代码质量

实施内容包括:

  • 全程使用类型提示
  • 全面的文档字符串
  • Pydantic 验证
  • 错误处理
  • 用于实现DRY(Don't Repeat Yourself,不重复自己)原则的共享工具

许可证

这是一个用于教育目的的演示项目。

资源

目录标签

目录标签

PythonClaudeAI代理MCP协议本地部署Python开发FastMCP输入验证响应格式化分页处理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP