windai-mcp
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a clearly distinct purpose: get_wind_estimate provides free approximate data, get_wind_farm_assessment provides detailed paid analysis, compare_wind_sites handles multi-location comparison, and the remaining two provide service metadata (pricing, model info). No functional overlap exists.
Naming Consistency4/5All tools use snake_case with verb_noun structure (get_, compare_). The 'windai' prefix appears only on meta-tools (model_info, pricing) distinguishing service information from wind data tools, which is logical but slightly unconventional.
Tool Count5/5Five tools is an ideal count for this specialized domain: three core wind assessment functions (quick estimate, detailed assessment, comparison) plus two supporting tools (pricing, methodology). No bloat, no missing essentials.
Completeness4/5Covers the core wind resource assessment workflow well (screening → detailed analysis → comparison). Minor gaps include no account/credit balance check tool (relevant since assessments require paid credits) and no ability to retrieve past assessment history.
Average 4.1/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the ML model nature (deep learning, training data) and auth requirements (API key). However, it omits critical operational traits: read-only status, expected latency (likely slow for ML inference), cost/credits, rate limits, or whether results are cached/persisted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero waste: sentence 1 defines the action and model context, sentence 2 details outputs (compensating for lack of output schema), sentence 3 states the auth requirement. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 9-parameter tool with no output schema and no annotations, the description adequately compensates by listing specific return metrics (hourly CFs, AEP, P50/P90). However, it could improve by describing the response structure format or error conditions given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, establishing a baseline of 3. The description mentions the API key requirement (redundant with schema) but does not add semantic context for coordinate precision, turbine parameter relationships, or validation rules beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Excellent specificity: 'Run a full WindAI AI-powered wind resource assessment' provides clear verb, resource, and scope. The detailed output list (AEP, P50/P90, diurnal profiles) distinguishes this from sibling 'get_wind_estimate' and implies this is the comprehensive option versus the quick estimate alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The term 'full' implies use for comprehensive analysis versus quick checks, and the API key requirement gates usage, but there is no explicit guidance on when to choose this over 'get_wind_estimate' or 'compare_wind_sites'. No prerequisites (e.g., valid coordinates) or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Effectively discloses data source (3 years 2021-2023 reanalysis), authentication model (free, no API key), and return payload structure (mean speed, IEC class, etc.). Lacks rate limits, error behavior, or latency expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences with zero waste: purpose, return values, data provenance, and authentication. Front-loaded with core verb and scope. Every sentence adds distinct value not present in structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Compensates well for missing output schema by enumerating return fields. Addresses auth/data source gaps left by missing annotations. Could improve with error handling or rate limit notes, but adequately complete for a free geospatial lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, documenting ranges for latitude/longitude and defaults/typical ranges for hub_height. Description adds no parameter-specific guidance beyond implying global coverage, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with specific verb 'Get' + resource 'approximate wind resource estimate' + scope 'any location on Earth'. Clearly distinguishes from siblings: contrasted with compare_wind_sites (comparison), get_wind_farm_assessment (detailed project assessment), and pricing/model_info utilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides implicit differentiation through specificity ('approximate', 'any location', 'historical reanalysis data'), but lacks explicit when-to-use guidance versus get_wind_farm_assessment or compare_wind_sites. No mention of prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden and discloses: output format (ranked table with specific metrics like IEC wind class), constraints (max 5 sites), and auth requirements (free, no API key). Could improve by mentioning rate limits or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Four efficient sentences front-loaded with purpose ('Compare wind potential...'), followed by constraints, output specification, and auth info. No redundant or wasted text; every clause delivers actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Excellent coverage for complexity level: explains detailed output metrics (compensating for missing output schema), clarifies the comparison/ranking nature, and documents auth. Minor gap: doesn't explain validation behavior for edge cases (e.g., invalid coordinates).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (locations array fully documented with lat/lon/name). Description reinforces the 'up to 5' constraint and 'compare' purpose but does not add syntax examples, formatting details, or semantic context beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Compare' with resource 'wind potential' and clearly distinguishes from siblings via 'multiple locations side by side' and 'ranked comparison table', differentiating it from single-site tools like get_wind_estimate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context that this is for multi-site analysis (2-5 locations) with 'Up to 5 locations', establishing when to use it versus single-site alternatives. Lacks explicit naming of sibling alternatives or explicit 'when not to use' exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses what information is returned (architecture, training data, accuracy metrics, validation results) but omits explicit safety declarations (read-only status), authentication requirements, or caching behavior. 'Get information' implies read-only but doesn't confirm it explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-structured sentences with zero waste. First sentence defines the operation and return content; second provides usage context. Information is front-loaded and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description compensates by listing specific return fields (architecture, training data, etc.). Given the tool's simplicity (no params, no annotations), this is sufficiently complete, though explicit mention of read-only safety would strengthen it further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters present. Per scoring rules, 0 params = baseline 4. The description appropriately requires no additional parameter context since the schema is empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Get information' and clearly identifies the resource as 'WindAI's machine learning model'. It distinguishes from siblings (pricing, estimates, assessments) by focusing on model metadata like architecture and training data rather than operational wind data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context with 'Useful for understanding the methodology behind WindAI predictions', indicating when to select this tool. However, it lacks explicit exclusions or named alternatives (e.g., 'Do not use for predictions, use get_wind_estimate').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and successfully discloses return content structure: available credit packages, assessment inclusions, and onboarding steps. Uses 'Get' and 'Shows' implying safe read-only behavior, though it omits rate limits or caching details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. First sentence establishes purpose and scope; second sentence details specific return contents (credit packages, inclusions, getting started). Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Appropriately complete for a zero-parameter lookup tool. Despite no output schema, the description enumerates the three key data categories returned (packages, inclusions, onboarding). Minor gap: does not indicate if authentication is required or if pricing is static/dynamic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters required. Per guidelines, 0 params = baseline 4. The description appropriately focuses on return value semantics rather than inventing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Get' paired with clear resource 'WindAI pricing information for wind resource assessments.' Effectively distinguishes from siblings: compare_wind_sites (comparison), get_wind_estimate (data), get_wind_farm_assessment (execution), and get_windai_model_info (technical specs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context (checking pricing/credits before purchasing assessments) by mentioning 'credit packages' and 'how to get started,' but lacks explicit guidance on when to call this versus operational tools like get_wind_farm_assessment or whether it should be called before spending credits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/umedpaliwal/windai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server