SimBrief MCP Server
SimBrief MCP Server
Сервер Model Context Protocol, который предоставляет Claude Desktop прямой доступ к вашим планам полетов SimBrief — без Cloudflare, без OAuth, без необходимости в инфраструктуре.
Возможности
14 инструментов, охватывающих каждый раздел OFP SimBrief:
Инструмент | Описание |
| Номер рейса, воздушное судно, маршрут, расстояние, крейсерский режим, ETE, топливо |
| METAR, TAF и ATIS для вылета, прибытия и запасного аэродрома |
| Полная разбивка топлива: руление, полет, резерв, запасной, остаток, дополнительное |
| OEW, полезная нагрузка, ZFW, TOW, взлетная масса, посадочная масса |
| Плановое OUT/OFF/ON/IN, ETE, блочное время, руление, автономность |
| Строка плана полета ATC, готовая к подаче |
| Тип, регистрация, двигатели, коды оборудования |
| Полный список путевых точек с высотой, расстоянием и топливом на этап |
| Все NOTAM (вылет, прибытие, по маршруту) |
| Детали запасного аэродрома и навигационный журнал |
| Характеристики взлета и посадки (TLR), если доступны |
| Командир, второй пилот, диспетчер, старший бортпроводник, бортпроводники |
| Чувствительность расхода топлива и времени к изменениям высоты и индекса стоимости |
| Полный JSON для пользовательского анализа |
Все инструменты принимают необязательный параметр plan_id — оставьте его пустым, чтобы всегда получать ваш последний отправленный план.
Related MCP server: Flight Planner MCP Server
Требования
Установка
git clone https://github.com/Emanuele94/SimBrief-MCPServer.git
cd SimBrief-MCPServer
uv syncКонфигурация
Ваш Pilot ID в SimBrief передается через переменную окружения в конфигурации MCP — изменения в коде не требуются.
Найдите свой Pilot ID в разделе SimBrief → Account Settings → Pilot ID.
Интеграция с Claude Desktop
Добавьте следующее в ваш 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"
}
}
}
}Затем перезапустите Claude Desktop. Инструменты SimBrief появятся автоматически.
Сервер откажется запускаться с понятным сообщением об ошибке, если
SIMBRIEF_PILOT_IDне задан.
Примеры использования
После подключения вы можете спрашивать Claude о следующем:
"Какой у меня последний план полета?"
"Покажи погоду для моего следующего рейса."
"Сколько топлива запланировано и какова его разбивка?"
"Дай мне строку плана полета ATC."
"Что произойдет с расходом топлива, если я полечу на 2000 футов ниже?"
"Покажи первые 20 путевых точек моего навигационного журнала."
Разработка
Установите зависимости для разработки:
uv sync --all-extrasЗапустите тесты:
uv run pytest -vЛинтинг и форматирование:
uv run ruff check .
uv run ruff format .Все тесты выполняются полностью в автономном режиме — API SimBrief имитируется, поэтому подключение к интернету или реальный Pilot ID не требуются.
Участие в разработке
Сделайте форк репозитория
Создайте ветку для функции (
git checkout -b feature/my-feature)Внесите изменения и добавьте тесты
Убедитесь, что CI-конвейер проходит локально (
uv run pytest && uv run ruff check .)Откройте Pull Request в
main
PR должны пройти все проверки (тесты + линтинг), прежде чем они смогут быть объединены.
Лицензия
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.
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
Scored across 14 tools
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
Related MCP Connectors
Read, AI-create, and edit your Gisti checklists in plain language from any MCP client.
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)
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!25 npm47MIT
- 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.6 npmMIT