在本教程中,我们将构建一个简单的 MCP 天气服务器,并将其连接到 Claude for Desktop。我们将从基本设置开始,然后逐步深入到更复杂的用例。Documentation Index
Fetch the complete documentation index at: https://docs.waytomcp.com/llms.txt
Use this file to discover all available pages before exploring further.
我们将构建的内容
许多 LLM 目前无法获取天气预报和恶劣天气警报。让我们使用 MCP 来解决这个问题! 我们将构建一个暴露两个工具的服务器:get-alerts 和 get-forecast。然后,我们将服务器连接到 MCP 主机(在本例中为 Claude for Desktop):


为什么选择 Claude for Desktop 而不是 Claude.ai?
为什么选择 Claude for Desktop 而不是 Claude.ai?
由于服务器是本地运行的,MCP 目前仅支持桌面主机。远程主机正在积极开发中。
MCP 核心概念
MCP 服务器可以提供三种主要类型的功能:- 资源:客户端可以读取的类似文件的数据(如 API 响应或文件内容)
- 工具:LLM 可以调用的函数(需用户批准)
- 提示:帮助用户完成特定任务的预写模板
- Python
- Node
- Java
让我们开始构建我们的天气服务器!您可以在此处找到我们将构建的完整代码。安装完成后,请重新启动终端以确保 现在让我们深入构建您的服务器。FastMCP 类使用 Python 类型提示和文档字符串自动生成工具定义,使得创建和维护 MCP 工具变得容易。您的服务器已完成!运行 首先,确保您已安装 Claude for Desktop。您可以在此处安装最新版本。 如果您已经安装了 Claude for Desktop,请确保它已更新到最新版本。我们需要为要使用的 MCP 服务器配置 Claude for Desktop。为此,请在文本编辑器中打开位于 然后,您将在 这告诉 Claude for Desktop:
先决知识
本快速入门假设您熟悉:- Python
- 像 Claude 这样的 LLM
系统要求
- 已安装 Python 3.10 或更高版本。
- 您必须使用 Python MCP SDK 1.2.0 或更高版本。
设置您的环境
首先,让我们安装uv 并设置我们的 Python 项目和环境:uv 命令生效。现在,让我们创建并设置我们的项目:构建您的服务器
导入包并设置实例
将这些内容添加到weather.py 的顶部:辅助函数
接下来,让我们添加用于查询和格式化国家气象局 API 数据的辅助函数:实现工具执行
工具执行处理程序负责实际执行每个工具的逻辑。让我们添加它:运行服务器
最后,让我们初始化并运行服务器:uv run weather.py 以确认一切正常。现在让我们在现有的 MCP 主机 Claude for Desktop 中测试您的服务器。使用 Claude for Desktop 测试您的服务器
Claude for Desktop 尚未在 Linux 上可用。Linux 用户可以继续学习构建客户端教程,以构建连接到我们刚刚构建的服务器的 MCP 客户端。
~/Library/Application Support/Claude/claude_desktop_config.json 的 Claude for Desktop 应用程序配置。如果文件不存在,请创建它。例如,如果您安装了 VS Code:- MacOS/Linux
- Windows
mcpServers 键中添加您的服务器。只有在至少正确配置了一个服务器时,MCP UI 元素才会出现在 Claude for Desktop 中。在本例中,我们将添加我们的单个天气服务器,如下所示:- MacOS/Linux
- Windows
Python
确保传入服务器的绝对路径。
- 有一个名为 “weather” 的 MCP 服务器
- 通过运行
uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/weather run weather.py来启动它
使用命令测试
让我们确保 Claude for Desktop 能够识别我们在weather 服务器中暴露的两个工具。您可以通过查找锤子 

- 萨克拉门托的天气如何?
- 德克萨斯州的活跃天气警报是什么?


由于这是美国国家气象局服务,查询仅适用于美国位置。
幕后发生了什么
当您提出问题时:- 客户端将您的问题发送给 Claude
- Claude 分析可用的工具并决定使用哪些工具
- 客户端通过 MCP 服务器执行所选工具
- 结果发送回 Claude
- Claude 形成自然语言响应
- 响应显示给您!
故障排除
Claude for Desktop 集成问题
Claude for Desktop 集成问题
从 Claude for Desktop 获取日志与 MCP 相关的 Claude.app 日志写入 服务器未显示在 Claude 中
~/Library/Logs/Claude 中的日志文件:mcp.log将包含有关 MCP 连接和连接失败的一般日志。- 名为
mcp-server-SERVERNAME.log的文件将包含来自指定服务器的错误(stderr)日志。
- 检查您的
claude_desktop_config.json文件语法 - 确保项目路径是绝对路径而不是相对路径
- 完全重新启动 Claude for Desktop
- 检查 Claude 的日志以查找错误
- 验证您的服务器是否构建并运行无误
- 尝试重新启动 Claude for Desktop
天气 API 问题
天气 API 问题
错误:无法获取网格点数据这通常意味着:
- 坐标在美国以外
- NWS API 出现问题
- 您被限速
- 验证您使用的是美国坐标
- 在请求之间添加少量延迟
- 检查 NWS API 状态页面
有关更高级的故障排除,请查看我们的 调试 MCP 指南
后续步骤
构建客户端
学习如何构建自己的 MCP 客户端以连接到您的服务器
示例服务器
查看我们的官方 MCP 服务器和实现库
调试指南
学习如何有效调试 MCP 服务器和集成
使用 LLM 构建 MCP
学习如何使用像 Claude 这样的 LLM 加速您的 MCP 开发