SimBrief MCP Server
SimBrief MCP Server
A Model Context Protocol server that gives Claude Desktop direct access to your SimBrief flight plans — no Cloudflare, no OAuth, no infrastructure required.
Features
14 tools covering every section of a SimBrief OFP:
Tool | Description |
| Flight number, aircraft, route, distance, cruise, ETE, fuel |
| METAR, TAF and ATIS for departure, arrival and alternate |
| Full fuel breakdown: taxi, trip, contingency, alternate, reserve, extra |
| OEW, payload, ZFW, TOW, ramp weight, landing weight |
| Scheduled OUT/OFF/ON/IN, ETE, block time, taxi, endurance |
| ATC flight plan string ready for filing |
| Type, registration, engines, equipment codes |
| Full waypoint list with altitude, distance and fuel per leg |
| All NOTAMs (departure, arrival, en-route) |
| Alternate airport details and navlog |
| Takeoff & landing performance (TLR), if available |
| Captain, first officer, dispatcher, purser, flight attendants |
| Fuel and time sensitivity to altitude and cost index changes |
| Complete raw JSON for custom analysis |
All tools accept an optional plan_id parameter — leave it empty to always fetch your latest dispatch.
Related MCP server: Flight Planner MCP Server
Requirements
Installation
git clone https://github.com/Emanuele94/SimBrief-MCPServer.git
cd SimBrief-MCPServer
uv syncConfiguration
Your SimBrief Pilot ID is passed via an environment variable in the MCP config — no code changes needed.
Find your Pilot ID under SimBrief → Account Settings → Pilot ID.
Claude Desktop integration
Add the following to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"simbrief": {
"command": "uv",
"args": [
"run",
"--project", "/absolute/path/to/SimBrief-MCPServer",
"python",
"/absolute/path/to/SimBrief-MCPServer/server.py"
],
"env": {
"SIMBRIEF_PILOT_ID": "your_pilot_id_here"
}
}
}
}Then restart Claude Desktop. The SimBrief tools will appear automatically.
The server will refuse to start with a clear error message if
SIMBRIEF_PILOT_IDis not set.
Usage examples
Once connected, you can ask Claude things like:
"What's my latest flight plan?"
"Show me the weather for my next flight."
"How much fuel do I have planned and what's the breakdown?"
"Give me the full ATC flight plan string."
"What happens to fuel burn if I fly 2000 ft lower?"
"Show me the first 20 waypoints of my navlog."
Development
Install dev dependencies:
uv sync --all-extrasRun tests:
uv run pytest -vLint and format:
uv run ruff check .
uv run ruff format .All tests run fully offline — the SimBrief API is mocked so no internet connection or real Pilot ID is required.
Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/my-feature)Make your changes and add tests
Ensure the CI pipeline passes locally (
uv run pytest && uv run ruff check .)Open a Pull Request against
main
PRs must pass all checks (tests + lint) before they can be merged.
License
MIT
Available Tools
14 toolsget_aircraft_infoB
Aircraft details: ICAO/IATA type codes, registration, engines, equipment codes and passenger capacity. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the plan_id parameter behavior but doesn't describe authentication requirements, rate limits, error conditions, or what happens when multiple aircraft match criteria. For a read operation with zero annotation coverage, this is insufficient behavioral context.
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 efficiently structured in two sentences: the first lists the data fields retrieved, the second explains parameter behavior. Both sentences earn their place by providing essential information without redundancy. Minor deduction for slightly awkward phrasing ('Leave plan_id empty to get the latest dispatch').
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?
Given the tool has an output schema (which handles return values), one parameter with good semantic coverage in the description, and relatively simple functionality, the description is reasonably complete. It could benefit from more behavioral context but covers the essential purpose and parameter usage adequately for this complexity level.
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 description adds meaningful context about the plan_id parameter that isn't in the schema (0% coverage). It explains that leaving plan_id empty retrieves 'the latest dispatch,' providing crucial semantic information about default behavior. With only one parameter and good semantic clarification, this earns a strong score.
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 aircraft details including ICAO/IATA type codes, registration, engines, equipment codes, and passenger capacity. It specifies the resource (aircraft) and data fields, but doesn't explicitly differentiate from sibling tools like get_flight_summary or get_full_flight_plan which might also contain aircraft information.
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 some usage guidance by explaining when to leave plan_id empty ('to get the latest dispatch'), but doesn't explicitly state when to use this tool versus alternatives like get_flight_summary or get_full_flight_plan. It implies usage context but lacks explicit comparison to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alternate_infoA
Alternate airport details: ICAO code, planned runway, elevation, weather and alternate navlog. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that leaving 'plan_id' empty retrieves the latest dispatch, which adds some context about default behavior. However, it lacks critical details such as whether this is a read-only operation, potential rate limits, authentication requirements, or error handling, which are essential for a tool with no annotation coverage.
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 highly concise and front-loaded, with two sentences that efficiently convey the tool's purpose and key usage note. Every sentence earns its place by providing essential information without redundancy, making it easy to parse and understand quickly.
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?
Given the tool has an output schema (which likely covers return values), one parameter with low schema coverage, and no annotations, the description is reasonably complete. It explains what the tool does and how to use the parameter, but it could improve by addressing behavioral aspects like safety or performance, which are missing due to the lack of annotations.
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 description adds significant meaning beyond the input schema, which has 0% description coverage and only lists 'Plan Id' as a parameter. It explains that 'plan_id' can be left empty to get the latest dispatch, clarifying its optional nature and default behavior. Since there's only one parameter and the schema provides minimal information, the description compensates well, though it could specify the format or constraints of 'plan_id' for a higher score.
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 'alternate airport details' including specific data points (ICAO code, planned runway, elevation, weather, alternate navlog), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_weather' or 'get_navlog' that might provide overlapping information, preventing a perfect score.
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 implied usage guidance by stating 'Leave plan_id empty to get the latest dispatch,' which suggests when to omit the parameter. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_weather' or 'get_navlog,' nor does it mention prerequisites or exclusions, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_atc_flightplanA
ATC flight plan string ready for filing, including route, callsign, flight type, flight rules and equipment codes. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool returns an 'ATC flight plan string ready for filing', implying a read-only operation, but doesn't specify data sources, permissions required, error conditions, or whether it's cached/real-time. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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—two sentences with zero waste. The first sentence front-loads the core purpose and key components, and the second provides essential parameter guidance. Every word earns its place without redundancy.
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?
Given the tool has an output schema (which handles return values), low complexity (one optional parameter), and no annotations, the description is reasonably complete. It covers the purpose, key output components, and parameter semantics, though it could benefit from more behavioral context like error handling or data freshness.
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 description adds meaningful context for the single parameter: it explains that leaving 'plan_id' empty retrieves the latest dispatch, which clarifies the default behavior not evident from the schema alone. With 0% schema description coverage and only one parameter, this adequately compensates, though it doesn't detail format or constraints of 'plan_id'.
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 an ATC flight plan string with specific components (route, callsign, flight type, flight rules, equipment codes), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_full_flight_plan' or 'get_flight_summary', which likely provide different aspects of flight planning 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?
The description provides implied usage guidance by mentioning to 'leave plan_id empty to get the latest dispatch', which suggests when to omit the parameter. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_full_flight_plan' or other siblings, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crewB
Crew assignment for the flight: captain, first officer, dispatcher, purser and flight attendants. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what the tool does (retrieves crew assignments) and a behavioral note about the plan_id parameter, but lacks details on permissions, rate limits, error handling, or what the output contains beyond crew roles. For a read operation with no annotation coverage, this is a significant gap in transparency.
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 highly concise and front-loaded, with two sentences that efficiently convey the purpose and key usage note. Every sentence earns its place, and there is no wasted verbiage, making it easy to parse quickly.
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?
Given the tool has an output schema (which should cover return values), the description doesn't need to explain outputs. However, with no annotations and low schema coverage, it provides basic purpose and parameter guidance but lacks details on behavioral aspects like error conditions or data freshness. For a simple read tool, this is minimally adequate but leaves gaps in completeness.
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 description adds meaningful context for the single parameter 'plan_id' by explaining that leaving it empty retrieves the latest dispatch, which clarifies its optional nature and default behavior. Since schema description coverage is 0% (the schema only provides a title), the description compensates well by adding semantic value beyond the basic 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 crew assignments for a flight, listing specific roles (captain, first officer, etc.), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_flight_summary' or 'get_full_flight_plan' that might also include crew information, so it doesn't fully distinguish itself from alternatives.
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 implied usage guidance by stating 'Leave plan_id empty to get the latest dispatch,' which suggests when to use the default parameter. However, it doesn't explicitly state when to use this tool versus alternatives (e.g., other 'get_' tools that might provide overlapping flight data) or any prerequisites, leaving the context somewhat vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flight_summaryA
High-level summary of a flight plan: flight number, aircraft, route, distance, cruise altitude, estimated times and total fuel. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that this is a read operation (implied by 'get'), but doesn't mention behavioral traits like error handling, authentication needs, rate limits, or whether it's idempotent. The description adds some context about the 'latest dispatch' behavior, but overall leaves gaps for a tool with no annotation coverage.
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 and front-loaded: the first sentence defines the purpose and lists key data fields, and the second sentence provides crucial parameter guidance. Every sentence earns its place with no wasted words, making it easy for an agent to parse quickly.
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?
Given the tool's moderate complexity (1 parameter, no annotations, but with an output schema), the description is reasonably complete. It covers the purpose, key data returned, and parameter usage. Since an output schema exists, it doesn't need to explain return values in detail. However, it could better address behavioral aspects given the lack of annotations.
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 has 1 parameter with 0% description coverage, so the description must compensate. It does this well by explaining the plan_id parameter's semantics: it can be left empty to get 'the latest dispatch,' which clarifies its optional nature and default behavior. This adds meaningful context beyond the schema's basic type information.
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: retrieving a 'high-level summary of a flight plan' with specific data fields listed (flight number, aircraft, route, etc.). It distinguishes from siblings like get_full_flight_plan (which likely provides more detail) and get_times/get_fuel_plan (which focus on specific aspects). However, it doesn't explicitly name these alternatives, so it's not a perfect 5.
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 clear context on when to use it: for a 'high-level summary' rather than detailed components. It also gives explicit guidance on the plan_id parameter ('Leave plan_id empty to get the latest dispatch'), which helps with usage. However, it doesn't explicitly state when NOT to use it (e.g., vs. get_full_flight_plan for complete details), so it's not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fuel_planA
Detailed fuel breakdown: taxi, trip burn, contingency, alternate burn, reserve, minimum and planned takeoff fuel, plus any extra fuel buckets. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what data is returned (fuel breakdown components) and hints at behavior with the 'latest dispatch' note, but lacks details on permissions, rate limits, error handling, or response format. This is a significant gap for a tool with no annotation coverage.
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 highly concise and front-loaded: the first sentence lists the fuel components, and the second provides critical parameter guidance. Every sentence earns its place with no wasted words, making it efficient and easy to parse.
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?
Given the tool's moderate complexity (1 parameter, no annotations, but has an output schema), the description is reasonably complete. It covers the purpose and parameter semantics adequately. Since an output schema exists, it doesn't need to explain return values, but could benefit from more behavioral context to address the lack of annotations.
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 description adds meaningful context for the single parameter: it explains that leaving 'plan_id' empty retrieves the latest dispatch, which clarifies the parameter's purpose beyond the schema's minimal title ('Plan Id'). With 0% schema description coverage, the description compensates well by providing practical usage semantics.
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: to retrieve a detailed fuel breakdown including specific components like taxi, trip burn, contingency, etc. It specifies the verb ('get') and resource ('fuel plan'), but doesn't explicitly differentiate from sibling tools like 'get_full_flight_plan' or 'get_flight_summary' which might also contain fuel information.
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 implied usage guidance by stating 'Leave plan_id empty to get the latest dispatch,' which suggests when to omit the parameter. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_full_flight_plan' or 'get_flight_summary,' nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_flight_planA
Complete flight plan as raw JSON (all sections except navlog, notams and alternate navlog). Useful for deep analysis or accessing fields not covered by the other tools. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the output is 'raw JSON' and specifies exclusions (navlog, notams, alternate navlog), which adds useful behavioral context. However, it doesn't mention potential errors (e.g., if plan_id is invalid), performance aspects like rate limits, or authentication needs, leaving gaps for a tool that fetches data.
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 front-loaded with the core purpose in the first sentence, followed by usage context and parameter guidance in two additional concise sentences. Every sentence adds value without redundancy, making it efficient and well-structured.
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?
Given the tool has an output schema (which handles return values), no annotations, and low schema coverage, the description does a good job by explaining the tool's purpose, usage, and parameter semantics. However, it could be more complete by addressing potential error cases or linking to sibling tools for excluded sections, keeping it from a perfect score.
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 description adds meaningful context for the single parameter 'plan_id': it explains that leaving it empty retrieves the latest dispatch, which clarifies its optional nature and default behavior. Since schema description coverage is 0% and there's only one parameter, this compensates well, though it doesn't detail the format or constraints of plan_id beyond being nullable.
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 a 'complete flight plan as raw JSON' with specific exclusions (navlog, notams, alternate navlog), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_flight_summary' or 'get_atc_flightplan', which might offer overlapping or alternative flight plan data, so it doesn't reach the highest score.
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 clear context for when to use this tool: for 'deep analysis or accessing fields not covered by the other tools', which implies it's more comprehensive than alternatives. It also specifies to 'Leave plan_id empty to get the latest dispatch', offering practical guidance. However, it doesn't explicitly name when not to use it or list specific alternatives among the many sibling tools, so it's not a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_impactsA
Performance sensitivity analysis: fuel and time impact of changing cruise altitude or cost index. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that leaving plan_id empty retrieves the 'latest dispatch,' which implies a read-only operation, but doesn't clarify if this is a safe read, whether it requires specific permissions, or what the output format looks like. For a tool with zero annotation coverage, this is insufficient behavioral context.
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 and front-loaded, with two sentences that efficiently convey the tool's purpose and key usage guideline. Every sentence earns its place, making it appropriately sized without any wasted words.
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?
Given the tool's complexity (performance sensitivity analysis), no annotations, and an output schema (which reduces the need to explain return values), the description is minimally adequate. It covers the purpose and a key parameter usage, but lacks details on behavioral traits, prerequisites, or error handling, leaving clear gaps for an analysis tool.
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 schema description coverage is 0%, so the description must compensate. It adds meaning for the 'plan_id' parameter by explaining that leaving it empty retrieves the latest dispatch, which provides useful context beyond the schema's basic title. However, it doesn't fully document the parameter's purpose, format, or constraints, keeping the score at the baseline for partial compensation.
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 as performing 'Performance sensitivity analysis: fuel and time impact of changing cruise altitude or cost index.' This specifies the verb (analysis) and resource (fuel/time impact) with the specific context of cruise altitude or cost index changes. However, it doesn't explicitly differentiate from sibling tools like 'get_performance' or 'get_fuel_plan,' which prevents a perfect score.
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 clear context for when to use the tool: 'Leave plan_id empty to get the latest dispatch.' This gives practical guidance on parameter usage. However, it doesn't explicitly state when NOT to use this tool versus alternatives like 'get_performance' or 'get_fuel_plan,' which would be needed for a score of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_notamsA
All NOTAMs for the flight (departure, arrival and en-route). Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that leaving 'plan_id' empty retrieves 'the latest dispatch,' which adds some context about default behavior. However, it lacks details on permissions, rate limits, error handling, or what the output contains (though an output schema exists, so this is partially mitigated). For a tool with no annotations, this is a significant gap in transparency.
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 highly concise and front-loaded: the first sentence states the core purpose, and the second provides crucial parameter guidance. Every sentence earns its place with no wasted words, making it easy for an AI agent to parse quickly. The structure is efficient and directly supports tool selection and invocation.
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?
Given the tool's moderate complexity (1 parameter, no annotations, but with an output schema), the description is somewhat complete. It covers the purpose and parameter usage adequately, and the existence of an output schema means return values don't need explanation. However, it lacks behavioral details like error conditions or operational constraints, which are important for a tool with no annotations. This leaves gaps in contextual understanding.
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 has 1 parameter with 0% description coverage, so the description must compensate. It adds meaningful semantics: 'plan_id' is optional, and leaving it empty retrieves 'the latest dispatch.' This clarifies the parameter's role beyond the schema's basic type and title. Since there's only one parameter and the description provides useful context, it effectively compensates for the low 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: retrieving 'All NOTAMs for the flight (departure, arrival and en-route).' It specifies the resource (NOTAMs) and scope (flight-related), though it doesn't explicitly differentiate from sibling tools like 'get_weather' or 'get_navlog' beyond the resource type. The purpose is not tautological with the name, as 'get_notams' alone could imply generic NOTAM retrieval, while the description adds flight context.
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 clear context for when to use the tool: it retrieves NOTAMs for a flight, covering departure, arrival, and en-route. It also includes guidance on the 'plan_id' parameter ('Leave plan_id empty to get the latest dispatch'), which helps inform usage. However, it does not explicitly state when not to use it or name alternatives among siblings, such as 'get_weather' for weather-related information instead of NOTAMs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performanceB
Takeoff and landing performance data (TLR): takeoff distance, climb performance and landing calculations, if available for this aircraft type. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what data is retrieved (performance metrics) and a conditional aspect ('if available for this aircraft type'), but lacks critical behavioral details such as whether this is a read-only operation, any rate limits, authentication requirements, or error handling. For a tool with no annotation coverage, this is a significant gap in transparency.
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 appropriately sized with two sentences that are front-loaded: the first sentence states the purpose and data types, and the second provides parameter guidance. There is no wasted text, and it efficiently conveys key information without redundancy. A minor deduction because it could be slightly more structured for clarity.
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?
Given that there is an output schema (which handles return values), no annotations, and low schema coverage (0%), the description is moderately complete. It covers the purpose and parameter usage but lacks behavioral context like safety, permissions, or error cases. For a tool with one parameter and output schema, it's adequate but has clear gaps in transparency and guidelines.
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 description adds meaningful context for the single parameter (plan_id) by explaining that leaving it empty retrieves 'the latest dispatch,' which clarifies its optional nature and effect. Since schema description coverage is 0% (the schema only provides a title 'Plan Id'), this compensates well. However, it doesn't detail the format or constraints of plan_id beyond this usage note.
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 'takeoff and landing performance data (TLR)' including specific metrics like takeoff distance, climb performance, and landing calculations. It specifies this is for aircraft types when available, providing a specific verb (get/retrieve) and resource (performance data). However, it doesn't explicitly differentiate from sibling tools like get_aircraft_info or get_weights, which might also relate to aircraft 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?
The description provides implied usage guidance by stating 'Leave plan_id empty to get the latest dispatch,' which suggests when to omit the parameter. However, it doesn't explicitly state when to use this tool versus alternatives like get_aircraft_info or get_full_flight_plan, nor does it provide context on prerequisites or exclusions. The guidance is limited to parameter usage rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timesA
All flight times in UTC: scheduled OUT/OFF/ON/IN, estimated time enroute, block time, taxi times, reserve and endurance. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that times are in UTC and explains the plan_id parameter behavior, but doesn't cover critical aspects like whether this is a read-only operation, potential rate limits, error conditions, or authentication requirements for a flight data 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?
The description is extremely concise with just two sentences that both earn their place. The first sentence lists what data is returned, and the second provides critical usage guidance for the parameter. No wasted words or redundancy.
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?
Given the tool has an output schema (which should document return values), the description covers the core purpose and parameter usage adequately. However, for a flight operations tool with no annotations, it lacks information about behavioral constraints, error handling, or data freshness that would be helpful for an agent.
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?
With 0% schema description coverage for the single parameter, the description fully compensates by explaining the plan_id parameter's semantics: 'Leave plan_id empty to get the latest dispatch.' This adds crucial meaning beyond what the bare schema provides, making the parameter's purpose and default behavior clear.
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 flight timing data ('All flight times in UTC') with specific metrics listed, providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like get_flight_summary or get_full_flight_plan, which might also contain timing information.
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 clear context about when to use the tool ('Leave plan_id empty to get the latest dispatch'), giving practical guidance. It doesn't explicitly state when not to use it or name alternatives among siblings, but the context is sufficiently clear for basic usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weatherB
Current weather: METAR, TAF and ATIS for departure, arrival and alternate airports. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what data is retrieved (METAR, TAF, ATIS) and the plan_id parameter behavior, but doesn't disclose important behavioral traits like whether this is a read-only operation, what permissions might be needed, rate limits, data freshness guarantees, or error conditions. For a tool with no annotation coverage, this leaves significant gaps.
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 just two sentences that each earn their place. The first sentence establishes the core purpose and scope, while the second provides essential parameter guidance. There's zero wasted language or redundancy, making it efficiently front-loaded with critical information.
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?
Given the tool has an output schema (which handles return values), a single parameter with good semantic coverage in the description, and no complex nested structures, the description is reasonably complete for basic usage. However, as a weather data tool with no annotations, it should ideally mention data sources, update frequency, or limitations to provide better context for the agent.
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 description adds meaningful context about the single parameter (plan_id) that goes beyond the schema's 0% coverage. It explains that leaving plan_id empty retrieves 'the latest dispatch,' which provides crucial semantic understanding of how this parameter affects the tool's behavior. This significantly compensates for the lack of schema descriptions.
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 current weather information (METAR, TAF, ATIS) for specific airports (departure, arrival, alternate), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like get_notams (which might provide weather-related notices) or explain how this weather data differs from what other tools might provide.
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 some usage context by explaining when to leave plan_id empty ('to get the latest dispatch'), which implies an alternative usage pattern. However, it doesn't explicitly state when to use this tool versus alternatives like get_notams for weather-related notices or how it relates to other flight planning tools in the sibling list. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weightsA
Aircraft weight breakdown: OEW, payload, passenger count, ZFW, TOW, ramp weight and landing weight. Leave plan_id empty to get the latest dispatch.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It implies this is a read operation (retrieving data) but doesn't explicitly state it's non-destructive or safe. It mentions the plan_id parameter behavior but doesn't cover other behavioral aspects like error conditions, authentication needs, or rate limits. The description adds some context but leaves gaps in behavioral disclosure.
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 and front-loaded: the first sentence states the purpose clearly, and the second provides crucial parameter guidance. Every word earns its place with no redundancy or wasted text. The structure efficiently communicates essential information.
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?
Given the tool's moderate complexity (retrieving structured weight data), no annotations, 1 parameter with 0% schema coverage, but with an output schema present, the description is reasonably complete. It explains what data is returned and how to use the parameter. The output schema likely covers return values, so the description appropriately focuses on purpose and parameter usage rather than output details.
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?
With 0% schema description coverage and only 1 parameter, the description compensates well by explaining the plan_id parameter's purpose and behavior: 'Leave plan_id empty to get the latest dispatch.' This adds meaningful semantics beyond the schema's minimal title. However, it doesn't specify what format plan_id should be in or what happens with invalid values.
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 aircraft weight breakdown data including specific metrics (OEW, payload, passenger count, ZFW, TOW, ramp weight, landing weight). It distinguishes from siblings by focusing on weight data rather than other flight aspects like weather, crew, or navigation. However, it doesn't explicitly name the verb 'retrieve' or 'get' beyond the tool name.
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 clear context for when to use the tool: to obtain weight breakdown data. It specifies that leaving plan_id empty returns the latest dispatch, which is helpful usage guidance. However, it doesn't explicitly state when NOT to use it or mention alternatives among the sibling tools.
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.
14 tool updates
v0.1.0- First observed
get_aircraft_info - First observed
get_alternate_info - First observed
get_atc_flightplan - First observed
get_crew - First observed
get_flight_summary - First observed
get_fuel_plan - First observed
get_full_flight_plan - First observed
get_impacts - First observed
get_navlog - First observed
get_notams - First observed
get_performance - First observed
get_times - First observed
get_weather - First observed
get_weights
TDQS
Every tool has a clearly distinct purpose targeting specific flight planning data (e.g., aircraft info, fuel plan, weather, NOTAMs), with no overlap or ambiguity. The descriptions precisely differentiate each tool's scope, making misselection unlikely.
All tools follow a consistent verb_noun pattern (get_*), using snake_case uniformly. This predictable naming scheme enhances readability and agent usability without any deviations or mixed conventions.
With 14 tools, the server is well-scoped for flight planning, covering essential aspects like navigation, performance, weather, and fuel. Each tool earns its place, providing comprehensive coverage without being excessive or thin for the domain.
The toolset offers near-complete coverage for flight planning, including data retrieval for aircraft, routes, fuel, weather, and performance. A minor gap exists in write/update operations (e.g., creating or modifying plans), but agents can work effectively with the provided read-only surface.
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
Flight search MCP server providing search, pagination, and itinerary details for AI assistants.
Search and compare flight offers through a cache-aware Streamable HTTP MCP server for AI agents.
Flights MCP — wraps OpenSky Network API (free, no auth required)
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseBqualityBmaintenanceA Claude Desktop MCP server that helps you track flights in real-time using Flightradar24 data. Perfect for aviation enthusiasts, travel planners, or anyone curious about flights overhead!22247MIT
- FlicenseNot gradedqualityFmaintenanceCreates travel agent-level flight plans using the fast-flights API, allowing users to search for flights and generate comprehensive travel itineraries.21-
- AlicenseNot gradedqualityCmaintenanceEnables access to SimBrief flight planning data through Claude Desktop with secure Google OAuth authentication. Provides tools to retrieve flight plans, dispatch briefings, NOTAMs, weather data, and other aviation planning information.2MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that aggregates data from six weather sources to provide current conditions, forecasts, air quality, and aviation METAR information, specifically optimized for European and Nordic locations. It supports multi-source data merging and functions without API keys for several integrated providers.22MIT
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/Emanuele94/SimBrief-MCPServer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server