Mtu API-DOC
首页应用对话
首页应用对话
WeChat ID:F25F91
  1. 快速上手
  • Mtu API简介
  • Model-Studio-Pricing模型列表价格
  • Model限时免费模型列表
  • 1206更新(接入纯搜索baidu接口)
  • 1204模型更新Mistral-Large-3(675B)
  • 1120模型更新Jina DeepSearch v1
  • 1119模型更新列表Gemini 3 API
  • 1116模型更新列表GPT-5.1系列
  • 1114模型更新列表
  • 1106模型更新列表
  • 1021模型更新列表
  • 1013模型更新列表
  • 1003模型更新列表
  • 0922模型更新列表
  • Migrate to the Responses API
  • GPT-5-codex API上线 0924更新
  • OpenAI Web search 网络搜索
  • Using tools OpenAI官方文档
  • Chat
    • Create chat completion
    • List chat completions
    • Get chat completion
    • Update chat completion metadata
    • Delete chat completion
    • Get chat messages
  • Images
    • Create image
    • Create image edit
    • Create image variation
  • Audio
    • Create speech
    • Create transcription
    • Create translation
  • Embeddings
    • Create embeddings
  • Moderations
    • Create moderation
  • Files
    • Upload file
    • List files
    • Retrieve file
    • Delete file
    • Retrieve file content
  • Models
    • List models
    • Retrieve model
    • Delete a fine-tuned model
  • MCP开发
    • MCP开始使用
      • 简介
      • 示例 Servers
      • 示例 Clients
      • 快速上手
        • 服务器开发
        • 客户端开发
        • Claude 桌面版开发
    • 教程
      • 使用 LLMs 构建 MCP
      • 调试 Debugging
      • 调试器 Inspector
    • 概念
      • 核心架构
      • 资源 Resources
      • 提示词 Prompts
      • 工具 Tools
      • 采样 Sampling
      • 根 Roots
      • 传输 Transports
    • 开发
      • 新计划
      • 规划
      • 贡献
  • OpenAI 项目
    • 介绍
    • 项目说明
    • 导言
    • 身份验证
    • 发出请求
    • 参数详情
    • 聊天(Chat)
      • Chat Completions 对象
      • Chat Completions 对象块
      • 创建 Chat Completions
    • 音频(Audio)
      • 创建语音
      • 创建转录
      • 创建翻译
    • 自动补全(Completions)
      • Completions 对象
      • 创建 Completions
    • 嵌入(Embeddings)
      • 嵌入对象
      • 创建嵌入
    • 微调(Fine-tuning)
      • 微调作业对象
      • 微调作业事件对象
      • 创建微调作业
      • 列出微调作业
      • 检索微调作业
      • 取消微调
      • 列出微调事件
    • 图像(Images)
      • README
      • 图像对象
      • 创建图像
      • 创建图片编辑
      • 创建图像变体
    • 模型(Models)
      • 模型对象
      • 列出模型
      • 检索模型
      • 删除微调模型
    • 文件(Files)
      • README
      • 文件对象
      • 列出文件
      • 上传文件
      • 删除文件
      • 检索文件
      • 检索文件内容
    • 审查(Moderations)
      • 调节对象
      • 创建内容审核
    • 助手测试版(AssistantsBeta)
      • 辅助对象
      • 辅助文件对象
      • 创建助手
      • 检索助手
      • 修改助手
      • 删除助手
      • 列出助手
      • 创建辅助文件
      • 检索助手文件
      • 删除辅助文件
      • 列出助手文件
    • 线程(Threads)
      • 线程对象
      • 创建线程
      • 检索线程
      • 修改线程
      • 删除话题
    • 留言(Messages)
      • 消息对象
      • 消息文件对象
      • 创建消息
      • 检索消息
      • 修改留言
      • 列出消息
      • 检索消息文件
      • 列出消息文件
    • 运行(Runs)
      • 运行对象
      • 运行步骤对象
      • 创建运行
      • 检索运行
      • 修改运行
      • 列表运行
      • 提交工具输出以运行
      • 取消运行
      • 创建线程并运行
      • 检索运行步骤
      • 列出运行步骤
    • 已弃用-音频(Audio)
      • 创建转录
      • 创建翻译
  • 通义千问 项目
    • 首次调用通义千问API
    • 文本生成
      • 深度思考(QwQ)
        • 深度思考(QwQ)概括
        • 快速开始
        • 多轮对话
      • 长上下文
        • 通过file-id传入文档信息
          • 简单示例
          • 传入多文档
          • 追加文档
        • 通过纯文本传入信息
          • 简单示例
          • 传入多文档
          • 追加文档
        • 通过JSON字符串传入文档信息
          • 简单示例
          • 传入多文档
          • 追加文档
      • 翻译能力
        • Qwen-MT模型
        • 支持的语言
        • 简单示例
        • 流式输出
        • 术语干预翻译
        • 使用翻译记忆
        • 领域提示
      • 数学能力
        • 模型概览
        • 示例代码
      • 代码能力
        • 模型概览
        • 简单示例
        • 代码补全
        • 根据前缀和后缀生成中间内容
      • 多轮对话
        • 开始使用
      • 流式输出(Stream)
        • 概述
        • 开始使用
      • 工具调用(Function Calling)
        • 概述
      • 结构化输出(Json Mode)
        • 支持的模型
        • 开始使用
      • 前缀续写(Partial Mode)
        • 支持的模型
        • 开始使用
      • 批量推理(Batch)
        • 概述
      • 上下文缓存(Context Cache)
        • 概述
    • 视觉理解
      • 全模态(Qwen-Omni )
        • 概述
        • 开始使用
        • 图片+文本输入
        • 音频+文本输入
        • 视频+文本输入
        • 多轮对话
  • Claude code 部署教程
    • Claude code 部署教程接入MTUAPI
    • Claude Code Router 配置指南
  • 数据模型
    • Schemas
      • ChatCompletionRequest
      • ChatCompletionObject
      • EmbeddingsRequest
      • ChatMessage
      • ImageCreateRequest
      • ModerationsRequest
      • FileObject
  1. 快速上手

服务器开发

开始构建你自己的服务器,以便在 Claude for Desktop 和其他客户端中使用。
在本教程中,我们将构建一个简单的 MCP 天气服务器,并将其连接到一个主机,即 Claude for Desktop。 我们将从一个基本的设置开始,然后逐步发展到更复杂的使用场景。

我们要构建什么#

许多 LLM(包括 Claude)目前没有能力获取天气预报和严重的恶劣天气警报。 让我们使用 MCP 来解决这个问题!
我们将构建一个服务器,该服务器公开两个工具:get-alerts (获取警报)和 get-forecast(获取预报)。 然后,我们将服务器连接到 MCP 主机(在本例中为 Claude for Desktop):
img
img
服务器可以连接到任何客户端。 为了简单起见,我们在这里选择了 Claude for Desktop,但我们也提供了构建您自己的客户端的指南以及其他客户端的列表。
为什么选择 Claude for Desktop 而不是 Claude.ai?

MCP 的核心概念#

MCP 服务器可以提供三种主要类型的能力:
1.
资源(Resources):可以被客户端读取的类文件数据(如 API 响应或文件内容)
2.
工具(Tools):可以被 LLM 调用的函数(需要用户批准)
3.
提示语(Prompts):帮助用户完成特定任务的预写模板
本教程将主要关注工具。
Python
让我们开始构建我们的天气服务器吧! 你可以在这里找到我们要构建的完整代码。

先决知识#

本快速入门假定您熟悉:
Python
像 Claude 这样的 LLM

系统要求#

已安装 Python 3.10 或更高版本。
您必须使用 Python MCP SDK 1.2.0 或更高版本。

设置你的环境#

首先,让我们安装 uv 并设置我们的 Python 项目和环境:
MacOS/Linux
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
确保之后重新启动你的终端,以确保 uv 命令被识别。
现在,让我们创建并设置我们的项目:
MacOS/Linux
# Create a new directory for our project
uv init weather
cd weather

# Create virtual environment and activate it
uv venv
.venv\Scripts\activate

# Install dependencies
uv add mcp[cli] httpx

# Create our server file
new-item weather.py
Windows
# Create a new directory for our project
uv init weather
cd weather

# Create virtual environment and activate it
uv venv
.venv\Scripts\activate

# Install dependencies
uv add mcp[cli] httpx

# Create our server file
new-item weather.py
现在让我们深入构建你的服务器。

构建你的服务器#

导入包并设置实例#

将这些添加到你的 weather.py 文件的顶部:
FastMCP 类使用 Python 类型提示和文档字符串来自动生成工具定义,从而简化了创建和维护 MCP 工具的过程。

辅助函数#

接下来,让我们添加我们的辅助函数,用于查询和格式化来自美国国家气象局(National Weather Service API)API 的数据:

实现工具执行#

工具执行处理程序负责实际执行每个工具的逻辑。 让我们添加它:

运行服务器#

最后,让我们初始化并运行服务器:
你的服务器完成了! 运行 uv run weather.py 以确认一切正常。
现在让我们通过现有的 MCP 主机 Claude for Desktop 测试你的服务器。

使用 Claude for Desktop 测试你的服务器#

Claude for Desktop 尚未在 Linux 上可用。 Linux 用户可以继续阅读构建客户端教程,以构建连接到我们刚刚构建的服务器的 MCP 客户端。
首先,确保你已安装 Claude for Desktop。 你可以在这里安装最新版本。 如果你已经安装了 Claude for Desktop,请确保将其更新到最新版本。
我们需要为你想使用的任何 MCP 服务器配置 Claude for Desktop。 为此,请在文本编辑器中打开你的 Claude for Desktop 应用程序配置,该配置位于 ~/Library/Application Support/Claude/claude_desktop_config.json。 如果该文件不存在,请确保创建该文件。
例如,如果你安装了 VS Code:
MacOS/Linux
Windows
code $env:AppData\Claude\claude_desktop_config.json
然后,你将在 mcpServers 键中添加你的服务器。 只有正确配置了至少一个服务器,MCP UI 元素才会显示在 Claude for Desktop 中。
在这种情况下,我们将像这样添加我们的单个天气服务器:
MacOS/Linux
{
    "mcpServers": {
        "weather": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather",
                "run",
                "weather.py"
            ]
        }
    }
}
Windows
{
    "mcpServers": {
        "weather": {
            "command": "uv",
            "args": [
                "--directory",
                "C:\\ABSOLUTE\\PATH\\TO\\PARENT\\FOLDER\\weather",
                "run",
                "weather.py"
            ]
        }
    }
}
你可能需要在 command 字段中放置 uv 可执行文件的完整路径。 你可以通过在 MacOS/Linux 上运行 which uv 或在 Windows 上运行 where uv 来获取它。
确保你传入服务器的绝对路径。
这告诉 Claude for Desktop:
1.
有一个名为“weather”的 MCP 服务器
2.
通过运行 uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/weather run weather.py 来启动它
保存文件,然后重新启动 Claude for Desktop。

使用命令测试#

让我们确保 Claude for Desktop 正在获取我们在 weather 服务器中公开的两个工具。 你可以通过查找锤子 img 图标来做到这一点:
img
单击锤子图标后,你应该会看到列出了两个工具:
img
如果 Claude for Desktop 没有获取到你的服务器,请继续阅读故障排除部分以获取调试技巧。
如果锤子图标已显示,你现在可以通过在 Claude for Desktop 中运行以下命令来测试你的服务器:
Sacramento 的天气如何?
德克萨斯州的活跃天气警报是什么?
img
img
由于这是美国国家气象局(US National Weather service),因此查询仅适用于美国的位置。

底层发生了什么#

当你提出问题时:
1.
客户端将你的问题发送给 Claude
2.
Claude 分析可用的工具并决定使用哪一个(或多个)
3.
客户端通过 MCP 服务器执行所选工具
4.
结果被发送回 Claude
5.
Claude 形成自然语言响应
6.
响应显示给你!

扫码加入 Mtu api 微信交流群

获得 Mtu api 使用上的任何帮助,效率得到大幅提升,技术客服WeChat:F25F91

扫码关注公众号
修改于 2025-09-12 09:50:17
上一页
示例 Clients
下一页
客户端开发
Built with