我们将构建的内容
许多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调用的函数(需用户批准)
- 提示:帮助用户完成特定任务的预编写模板
让我们开始构建我们的天气服务器吧!您可以在这里找到我们将要构建的完整代码。确保之后重启您的终端,以确保现在让我们深入构建您的服务器。FastMCP类使用Python类型提示和文档字符串自动生成工具定义,使创建和维护MCP工具变得简单。您的服务器已完成!运行首先,确保您已安装Claude for Desktop。您可以在这里安装最新版本。 如果您已经有Claude for Desktop,请确保它已更新到最新版本。我们需要为您想要使用的MCP服务器配置Claude for Desktop。为此,请在文本编辑器中打开您的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
。确保在文件不存在时创建该文件。例如,如果您安装了VS Code:mcpServers
键中添加您的服务器。只有至少一个服务器正确配置时,Claude for Desktop中的MCP UI元素才会显示。在这种情况下,我们将像这样添加我们的单个天气服务器:Python
您可能需要在
command
字段中放入uv
可执行文件的完整路径。您可以通过在MacOS/Linux上运行which uv
或在Windows上运行where uv
来获取此路径。确保传入服务器的绝对路径。
- 有一个名为”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指南