windscout-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@windscout-mcpcheck wind and waves at Tarifa tomorrow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
windscout-mcp
MCP server for wind forecasts, live measurements, wave forecasts, and tides. Built for kite and surf spot checks via AI assistants.
Tools
Tool | Source | Description |
| Windfinder | Find spots by name or slug |
| Windfinder | Real-time wind from weather stations |
| Open-Meteo | Hourly wind + weather forecast (up to 16 days) |
| Open-Meteo | Wave height, period, and direction (up to 7 days) |
| Windfinder | High/low tide times and heights for coastal spots |
All wind speeds are returned in kn, km/h, and m/s.
Related MCP server: Surf Forecast MCP
Usage
Claude Code
claude mcp add windforecast npx windscout-mcpClaude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"windforecast": {
"command": "npx",
"args": ["windscout-mcp"]
}
}
}Other MCP clients
npx windscout-mcpThe server communicates over stdio using the Model Context Protocol.
Data Sources
Open-Meteo -- Free weather API, no auth required. Used for forecast and marine data.
Windfinder -- Wind and weather community. Used for spot search, live station data, and tides via HTML scraping.
Development
npm install
npm test # run unit tests
npm run build # compile TypeScript
npm run dev # run with tsx (hot reload)License
MIT
Available Tools
5 toolsget_forecastA
Get hourly wind and weather forecast for up to 16 days. Uses Open-Meteo. Wind speed provided in kn, km/h, and m/s.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude | |
| lon | Yes | Longitude | |
| days | No | Number of forecast days (default: 7) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the data source (Open-Meteo), hourly granularity, up to 16 days, and wind speed units. This gives a good understanding of output characteristics, though it does not mention idempotency or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. The first sentence states the core function, the second the data source, and the third provides specific output details. Well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 well-documented parameters and no output schema, the description covers key aspects: time range, data source, and wind speed units. It could be more detailed about other forecast elements (e.g., temperature), but it is sufficient for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters (lat, lon, days) have descriptions in the input schema, so baseline is 3. The description adds context about wind speed units but does not enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves hourly wind and weather forecasts for up to 16 days. The mention of 'Uses Open-Meteo' and the specific wind speed units differentiates it from sibling tools like get_live_measurements (current) and get_marine_forecast (marine).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for general wind and weather forecasting but does not explicitly state when to choose this over alternatives such as get_live_measurements or get_marine_forecast. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_live_measurementsA
Get current real-time wind measurements from a Windfinder weather station. Requires spotId from search_spots.
| Name | Required | Description | Default |
|---|---|---|---|
| spotId | Yes | Windfinder spot slug, e.g. "tarifa". Obtain from search_spots. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states it's a read operation but lacks details on authentication, rate limits, or any side effects. Minimal disclosure beyond purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with the action and resource. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers the essential: what it does and prerequisite. Lacks return format details but is adequate for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description for spotId. The description reinforces the schema by mentioning the prerequisite source. Does not add significant new meaning beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it gets current real-time wind measurements from a Windfinder weather station, specifying the resource and action. It distinguishes from sibling tools like get_forecast by focusing on live data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says requires spotId from search_spots, providing clear when-to-use context. Does not explicitly state when not to use, but implies this is for real-time data versus forecasts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_marine_forecastA
Get hourly wave and swell forecast for up to 7 days. Uses Open-Meteo Marine API. Includes wave height (m), period (s), and direction.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude | |
| lon | Yes | Longitude | |
| days | No | Number of forecast days (default: 7) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It adds value by mentioning the API source (Open-Meteo Marine API) and the data included (wave height, period, direction), but it omits important traits like auth requirements, rate limits, or whether the operation is read-only. The description is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with the main action. Every sentence adds value: first defines the tool, second provides context (API) and output specifics. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (3 parameters, no output schema), so the description is largely sufficient for basic use. However, it lacks guidance on usage scenarios and behavioral details that would help an agent decide correctly. With no annotations, the description could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds no additional parameter semantics beyond what the schema provides (e.g., format, constraints, or examples). Baseline score of 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get hourly wave and swell forecast for up to 7 days.' It specifies the resource (marine forecast) and distinguishes from siblings like get_forecast and get_tides by focusing on wave/swell data. The verb 'Get' is specific and the resource is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives. Sibling tools are listed in context but not referenced; no explicit 'when-to-use' or 'when-not-to-use' instructions are given. The agent must infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tidesA
Get high/low tide times and heights for a coastal Windfinder spot. Requires spotId from search_spots. Returns empty for inland spots.
| Name | Required | Description | Default |
|---|---|---|---|
| spotId | Yes | Windfinder spot slug, e.g. "langeoog". Obtain from search_spots. Tides are only available for coastal spots. | |
| days | No | Number of days (default: 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool returns empty for inland spots and requires spotId from search_spots. However, it does not detail other behavioral aspects like error handling, rate limits, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with two focused sentences that front-load the main purpose. No word is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with full parameter coverage and no output schema, the description sufficiently hints at the return values (high/low tide times and heights) and the edge case (inland spots). It lacks explicit return structure but is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters (spotId and days) with details. The description adds value by stating that spotId must come from search_spots and that tides are only for coastal spots, providing context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves high/low tide times and heights for a coastal Windfinder spot. It distinguishes from siblings like get_forecast by specifying the requirement of spotId from search_spots and the limitation to coastal spots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (for a coastal spot with spotId from search_spots) and when not (inland spots return empty). However, it does not explicitly mention alternative tools for inland spots.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_spotsA
Search for a wind spot by Windfinder slug or name. Returns spot info including coordinates. Call this first to get lat/lon and spotId for other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Windfinder spot slug or name, e.g. "tarifa" or "sylt" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool is a search returning coordinates, but does not mention behavior for missing spots or authentication needs. Sufficient for a simple search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Front-loaded with the core action and purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with one parameter and no output schema, the description covers the key aspects: what it searches, what it returns, and when to use it. Minor lack of detail on result format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds examples ('tarifa', 'sylt') and clarifies the parameter is a Windfinder slug or name, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for a wind spot by slug or name and returns spot info including coordinates. It contrasts with sibling tools by indicating this should be called first to obtain parameters for others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Call this first to get lat/lon and spotId for other tools.' This tells the agent when to use it and implies that other tools depend on its output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.0.0- First observed
get_forecast - First observed
get_live_measurements - First observed
get_marine_forecast - First observed
get_tides - First observed
search_spots
TDQS
Each tool targets a distinct aspect: general forecast, live measurements, marine forecast, tides, and spot search. There is no overlap in functionality, and the descriptions clearly differentiate them.
All tools follow a consistent verb_noun pattern with snake_case: get_forecast, get_live_measurements, get_marine_forecast, get_tides, and search_spots. The only minor deviation is search instead of get, but it is a different action (search vs retrieve) and still fits the pattern.
With 5 tools, the server is well-scoped for a wind and weather information service. Each tool provides essential functionality without unnecessary bloat or gaps.
The set covers key use cases: spot search, real-time wind, hourly forecast, marine forecast, and tides. A minor gap is the lack of historical data or detailed spot metadata beyond coordinates, but the core workflows are supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for weather with reasoning — umbrella advice, outdoor checks, city comparisons.
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
1MCP server for building and testing AI agents with multi-model experimentation and insights.
An MCP server for weather information by @kulybaba
Related MCP Servers
- AlicenseAqualityDmaintenanceWindAI MCP Server — AI-powered wind resource assessment for any location on Earth.5131MIT
- FlicenseNot gradedqualityCmaintenanceProvides surf forecast data including swell height, period, direction, and wind conditions for any location worldwide using the Open-Meteo Marine API. It also includes tools to find the best day to surf and integrates with MCP clients via a Python server.20-
- AlicenseNot gradedqualityDmaintenanceMCP Server for global weather, forecasts, air quality, and climate data using Open-Meteo, no API key required.MIT
- FlicenseNot gradedqualityDmaintenanceMinimal MCP server exposing tools for kitesurfing forecasts (wind and waves via Open-Meteo) and tide predictions (via NOAA CO-OPS).-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jwillert/windscout-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server