适用于冲浪爱好者和网络用户的MCP服务器。
https://github.com/user-attachments/assets/0a4453e2-66df-4bf5-8366-8538cda366ed
关于API使用限制的说明:
根据您的使用需求选择一个计划。免费层级适合测试和个人使用。
git clone https://github.com/ravinahp/surf-mcp.git
cd surf-mcp
uv sync
注意:我们使用uv而不是pip,因为项目使用pyproject.toml进行依赖管理。
要将此工具添加为MCP服务器,您需要修改您的Claude桌面配置文件。此配置包括您的Storm Glass API密钥,因此无需单独设置。
配置文件的位置取决于您的操作系统:
~/Library/Application\ Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json在您的JSON文件中添加以下配置:
{
"surf-mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/YOUR_USERNAME/Code/surf-mcp",
"run",
"surf-mcp"
],
"env": {
"STORMGLASS_API_KEY": "your_api_key_here"
}
}
}
⚠️ 重要事项:
YOUR_USERNAME替换为您实际的系统用户名your_api_key_here替换为您实际的Storm Glass API密钥为了准备包:
uv sync
uv build
这将在dist/目录下创建分发包。
由于MCP服务器通过标准I/O运行,调试可能会很困难。为了获得最佳的调试体验,我们强烈建议使用MCP Inspector。
您可以使用以下命令启动MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/surf-mcp run surf-mcp
启动后,Inspector会显示一个URL,您可以在浏览器中访问该URL开始调试。
Inspector提供了:
服务提供了一个FastMCP工具用于获取潮汐信息:
@mcp.tool()
async def get_tides(latitude: float, longitude: float, date: str) -> str:
"""获取特定地点和日期的潮汐信息。"""
latitude: 表示位置纬度的浮点数longitude: 表示位置经度的浮点数date: 格式为YYYY-MM-DD的日期字符串潮汐时间:
时间:2024-01-20T00:30:00+00:00 (UTC)
类型:高潮
高度:1.52米
时间:2024-01-20T06:45:00+00:00 (UTC)
类型:低潮
高度:0.25米
站点信息:
名称:示例站点
距离:距请求位置20.5公里
您可以使用此工具来确定您最喜欢的海滩的最佳冲浪时间及最近的站点。通常,最佳冲浪条件是在涨潮期间,大约在高潮前2小时。
给Claude的示例提示:
<img width="693" alt="2025年1月7日 下午12:55:47截图" src="https://gips1.baidu.com/it/u=516598378,4020416741&fm=3081&app=3081&f=PNG?w=1386&h=1222" />注意:不同的海滩可能基于其特定的地理和断层类型有不同的最佳潮汐条件。此工具还提供了站点距离信息,应将其与潮汐信息一起考虑。(例如,较长的站点距离意味着更高的不准确性——您也可以在提示时询问Claude这一点)。
服务包含强大的错误处理功能,针对: