pms-analysis-reports-mcp-server
Version:
PMS analysis reports server handling maintenance reports, equipment analysis, compliance tracking, and performance metrics with ERP access for data extraction
918 lines • 39.6 kB
JavaScript
export const listToolsRequestSchema = {
type: "object",
properties: {
category: {
type: "string",
description: "Optional category to filter tools by",
enum: ["analysis", "reports", "maintenance", "compliance", "performance"]
},
search: {
type: "string",
description: "Optional search term to filter tools by name or description"
},
include_deprecated: {
type: "boolean",
description: "Whether to include deprecated tools in the response",
default: false
}
},
additionalProperties: false
};
// Typesense tool definitions
export const typesenseTools = [
{
name: "lube_report_table_query",
description: "[FALLBACK TOOL] Searches planned maintenance system (PMS jobs, schedules, overhauls, components) and lube oil analysis reports (test labs, sample dates, machinery analysis status) databases. Use when other PMS/lube oil tools fail or for keyword searches across multiple fields. Always get the schema first using get_lube_report_table_schema tool. Example: Find test lab used for main engine oil analysis on <vessel>",
inputSchema: {
type: "object",
properties: {
collection: {
type: "string",
description: "Name of the collection to search",
enum: ["lube_oil_reports"]
},
query: {
type: "object",
description: "Query object to send to Typesense's search endpoint.",
properties: {
q: {
type: "string",
description: "Search string. Use '*' to match all records."
},
query_by: {
type: "string",
description: "Comma-separated list of fields to apply the `q` search on. Example: 'field1,field2'."
},
filter_by: {
type: "string",
description: "Filter expression using Typesense syntax. Use ':' for equality, '<'/'>' for ranges. Combine multiple conditions using '&&' or '||'. Example: 'imo:<imo_number> && type:<certificate_type> && daysToExpiry:<cutoff_timestamp>'"
},
include_fields: {
type: "string",
description: "Comma-separated list of fields to include in the results. Example: 'field1,field2,field3'."
},
per_page: {
type: "number",
description: "Number of results to return per page, defaults to 10"
}
},
required: ["q", "query_by"]
}
},
required: ["collection", "query"],
additionalProperties: false
}
},
{
name: "universal_fuel_analysis_search",
description: "[FALLBACK TOOL] Comprehensive search for fuel oil analysis and bunker data when specialized fuel tools don't find what you need. Searches across fuel analysis reports, bunker delivery notes, supplier records, and quality assessments. Use for broad fuel-related queries, cross-field searches, or when other fuel tools fail to locate specific information.",
inputSchema: {
type: "object",
properties: {
query: {
type: "string",
description: "Natural language or keyword query. This is matched against the fields vesselName, bunkerPort, fuelType, supplier, testLab, rating, samplingMethod, samplingPoint, barge, and complianceComments. Use '*' to match all records.",
default: "*"
},
filters: {
type: "object",
description: "Optional filters to narrow the search results. Only use this if exact field values are known.",
properties: {
imo: {
type: "number",
description: "IMO number of the vessel"
},
vesselName: {
type: "string",
description: "Exact or partial name of the vessel"
},
fuelType: {
type: "string",
description: "Type of fuel (e.g., VLSFO, HSFO, MGO, MDO, LSMGO, ULSFO)"
}
}
},
max_results: {
type: "number",
description: "Maximum number of results to return",
default: 10,
minimum: 1,
maximum: 100
}
},
required: ["query"],
additionalProperties: false
}
},
{
name: "universal_pms_maintenance_search",
description: "[FALLBACK TOOL] Comprehensive search for Planned Maintenance System data when specialized PMS tools don't find what you need. Searches across all maintenance jobs, schedules, overhauls, and component servicing records. Use for broad queries, keyword searches, or when other PMS tools fail to locate specific maintenance information.",
inputSchema: {
type: "object",
properties: {
query: {
type: "string",
description: "Natural language or keyword query. This is matched against the fields jobTitle, component, and vesselName. Use abbreviations – ME (Main Engine), AE/DG (Auxiliary Engine), SW (Sea Water), FW (Fresh Water), OWS (Oily Water Separator). Use '*' to match all records.",
default: "*"
},
filters: {
type: "object",
description: "Optional filters to narrow the search results. Only use this if exact field values are known.",
properties: {
imo: {
type: "number",
description: "IMO number of the vessel"
},
vesselName: {
type: "string",
description: "Exact name of the vessel if available"
},
jobCategory: {
type: "string",
description: "Category of the maintenance job if available",
enum: ["CRITICAL", "NON-CRITICAL"]
},
jobStatus: {
type: "string",
description: "Current status of the maintenance job",
enum: ["IN ORDER", "OVERDUE"]
}
}
},
max_results: {
type: "number",
description: "Maximum number of results to return",
default: 10,
minimum: 1,
maximum: 100
}
},
required: ["query"],
additionalProperties: false
}
},
{
name: "list_pms_jobs_by_category_and_status",
description: "Use this tool to list Planned-Maintenance (PMS) jobs for a vessel that match a specific **job category** and **job status**.",
inputSchema: {
type: "object",
required: ["imo", "jobCategory", "jobStatus"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel"
},
jobCategory: {
type: "string",
enum: ["CRITICAL", "NON-CRITICAL"],
description: "Maintenance job category to filter."
},
jobStatus: {
type: "string",
enum: ["OVERDUE", "IN ORDER"],
description: "Status of the job to filter. Value must match the database exactly."
},
per_page: {
type: "number",
description: "Number of records to return per page (default is 250)."
},
session_id: {
type: "string",
description: "Session ID for tracking client sessions, if available"
}
},
additionalProperties: false
}
},
{
name: "list_pms_jobs_for_component",
description: "Use this tool to list Planned-Maintenance (PMS) jobs for a component or machinery (e.g., \"Breathing Air Compressor\").",
inputSchema: {
type: "object",
required: ["imo", "component"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel"
},
component: {
type: "string",
description: "Full or partial text to match the component or machinery name(e.g., breathing air compressor)."
},
per_page: {
type: "number",
description: "Number of records to return per page (default is 250)."
},
session_id: {
type: "string",
description: "Session ID for tracking client sessions, if available"
}
},
additionalProperties: false
}
},
{
name: "list_pms_jobs_for_component_due_within",
description: "Use this tool to list Planned-Maintenance (PMS) jobs for a vessel **whose due-date falls within the next *X* days** and that belong to a specific machinery *component*.",
inputSchema: {
type: "object",
required: ["imo", "component", "days"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
},
component: {
type: "string",
description: "Machinery component (keyword) to match in the PMS record, e.g., \"purifier\"."
},
days: {
type: "number",
description: "Number of days to look ahead for due dates."
},
per_page: {
type: "number",
description: "Number of records to return per page (default is 250)."
},
session_id: {
type: "string",
description: "Session ID for tracking client sessions, if available"
}
},
additionalProperties: false
}
},
{
name: "list_overdue_lube_oil_samples",
description: "Retrieve lube-oil analysis records whose next sample is **OVERDUE** for a vessel.",
inputSchema: {
type: "object",
properties: {
imo: { type: "string", description: "IMO number of the vessel." },
machineryName: { type: "string", description: "Optional machinery name filter." },
per_page: { type: "number", description: "Records per page (default 30)." },
session_id: { type: "string", description: "Session ID for tracking client sessions, if available" }
},
required: ["imo"],
additionalProperties: false
}
},
{
name: "machinery_with_warning_lube_oil_analysis",
description: "Return all lube oil analysis reports for a vessel where `reportStatus` is **\"WARNING\"** (i.e., unsatisfactory results).",
inputSchema: {
type: "object",
properties: {
imo: { type: "string", description: "IMO number of the vessel." },
machineryName: { type: "string", description: "Optional machinery name filter." },
per_page: { type: "number", description: "Records per page (default 30)." },
session_id: { type: "string", description: "Session ID for tracking client sessions, if available" }
},
required: ["imo"],
additionalProperties: false
}
},
{
name: "get_latest_lube_oil_analysis_for_machinery",
description: "Fetch the most recent lube-oil analysis record for a specific machinery item on a vessel.",
inputSchema: {
type: "object",
properties: {
imo: { type: "string", description: "IMO number of the vessel." },
machineryName: { type: "string", description: "Machinery name, e.g., \"MAIN ENGINE\"." },
per_page: { type: "number", description: "Set to 10 (default) because only the newest record is required." },
session_id: { type: "string", description: "Session ID for tracking client sessions, if available" }
},
required: ["imo", "machineryName"],
additionalProperties: false
}
},
{
name: "list_lube_oil_samples_by_frequency",
description: "Return lube-oil analysis records for a vessel with a specific sampling `frequency`.",
inputSchema: {
type: "object",
properties: {
imo: { type: "string", description: "IMO number of the vessel." },
frequency: { type: "string", description: "Sampling frequency to filter, e.g., \"6 Months\"." },
per_page: { type: "number", description: "Records per page (default 30)." },
session_id: { type: "string", description: "Session ID for tracking client sessions, if available" }
},
required: ["imo", "frequency"],
additionalProperties: false
}
},
{
name: "fetch_lube_oil_analysis_with_link",
description: "This tool retrieves the latest lube oil (LO) analysis report for a specified vessel using its IMO number and for a machinery if name is provided.",
inputSchema: {
type: "object",
properties: {
vesselName: { type: "string", description: "Name of the vessel (case-insensitive match on the vesselName field)." },
machineryName: { type: "string", description: "Optional machinery name filter (e.g., \"MAIN ENGINE\")." },
per_page: { type: "number", description: "Set to 10 (default) because only the newest report is needed." },
session_id: { type: "string", description: "Session ID for tracking client sessions, if available" }
},
required: ["vesselName"],
additionalProperties: false
}
},
{
name: "list_overdue_pms_jobs",
description: "Return Planned-Maintenance (PMS) jobs for a vessel that are **OVERDUE**.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
},
jobCategory: {
type: "string",
enum: ["CRITICAL", "NON-CRITICAL"],
description: "Optional filter to restrict the results to critical or non-critical jobs."
},
per_page: {
type: "number",
description: "Number of records to return per page (default 50)."
}
},
additionalProperties: false
}
},
{
name: "get_latest_fuel_analysis_report",
description: "This tool retrieves the latest fuel oil analysis report for a specified vessel using its vessel name or IMO number and for a specific fuel type if provided.",
inputSchema: {
type: "object",
properties: {
imo: { type: "number", description: "IMO number of the vessel" },
fuelType: { type: "string", description: "Optional fuel type filter (e.g., \"VLSFO\", \"HSFO\", \"MGO\", \"LSMGO\")." },
per_page: { type: "number", description: "Set to 5 (default) because only the newest report is needed." },
session_id: { type: "string", description: "Session ID for tracking client sessions, if available" }
},
required: ["imo"],
additionalProperties: false
}
},
{
name: "get_historical_fuel_analysis_data",
description: "This tool retrieves historical fuel oil analysis data for a specified vessel over the last X months or years for trend analysis purposes.",
inputSchema: {
type: "object",
properties: {
imo: { type: "string", description: "IMO number of the vessel." },
lookback_months: { type: "number", description: "Number of months to look back for historical data (e.g., 6 for last 6 months, 24 for last 2 years)." },
fuelType: { type: "string", description: "Optional fuel type filter (e.g., \"VLSFO\", \"HSFO\", \"MGO\", \"LSMGO\"). Omit to include all fuel types." },
per_page: { type: "number", description: "Number of records to return per page (default 100 for comprehensive trend analysis)." },
session_id: { type: "string", description: "Session ID for tracking client sessions, if available" }
},
required: ["imo", "lookback_months"],
additionalProperties: false
}
}
];
// MongoDB tool definitions
export const mongodbTools = [
// {
// name: "get_vessel_details",
// description: "Retrieves vessel details including IMO number, vessel name,class,flag,DOC and the ERP version for a specific vessel.",
// inputSchema: {
// type: "object",
// properties: {
// query: {
// type: "string",
// description: "Pass the vessel name to search for the IMO number"
// }
// },
// required: ["query"]
// }
// },
{
name: "get_lube_report_table_schema",
description: "This tool retrieves Typesense schema and instructions on how to query a typesense table for a specific category.",
inputSchema: {
type: "object",
required: ["category"],
properties: {
category: {
type: "string",
description: "The category for which to retrieve the Typesense schema (e.g., purchase, voyage, certificates).",
enum: ["lube_oil_reports"]
}
}
}
},
{
name: "get_overall_maintenance_summary",
description: "Use this tool to get focused review of weekly Planned Maintenance System (PMS) items requiring attention, covering a range of metrics including PMS critical and non-critical jobs exceeding set time or hours, deferred jobs, critical spares below minimum levels, and synchronization dates for PMS and noon reports.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_main_engine_maintenance_summary",
description: "Use this tool to get a comprehensive overview of Main engine (ME) maintenance status, including the status of ME Units decarbonization (Decarb), ME Units Exhaust valve overhaul, ME Units Fuel valves overhaul, ME Turbocharger Overhaul, etc.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_auxiliary_engine_maintenance_summary",
description: "Use this tool to get a comprehensive overview of all auxiliary engines (AE) maintenance status, including the status of decarbonization, connecting rod bolt renewal, cylinder head overhaul, fuel valve overhaul, fuel pump overhaul, governor service, air starting motor service, and turbocharger overhaul.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_purifier_maintenance_summary",
description: "Use this tool to get a comprehensive overview of Purifiers (Px) maintenance status. The purifier types can be HFO (Heavy fuel Oil), ME LO (Main Engine Lube Oil), AE LO (Aux Engine Lube Oil), DO (Diesel Oil) etc.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_compressor_maintenance_summary",
description: "Use this tool to get an overview of the Overhaul / maintenance status for all Air compressors, including key jobs like the 250 -hour,1000-hour, 2000-hour, 3000-hour, 6000-hour and Major Overhaul/maintenance routines.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_critical_spares_list",
description: "use this tool to get the list of Critical spares for the vessel with details of each spare like required numbers, present ROB etc.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_latest_fuel_bunker_details",
description: "Use this tool to get details of the last Bunker (All Grades which were bunkered). The information consists of BDN data like Bunker Date, port, BDN Sulphur, BDN Viscosity, Fuel Grade etc.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_lube_oil_shore_analysis",
description: "use this tool to get the details of when the last lube oil samples were landed and what is the status of those samples as per that report.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_month_end_form_submission_status",
description: "Use this tool to get the vessel's month end form submission status . Status means which forms have been completed and submitted.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_historical_form_submission_status",
description: "Use this tool to get the vessel's historical form submission status. Status means which forms have been completed and submitted historically.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_main_engine_performance_review",
description: "Use this tool to get the vessel's main engine performance report and analysis.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_main_engine_scavenge_inspection_review",
description: "Use this tool to get the vessel's main engine scavenge inspection report and analysis.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_auxiliary_engine_performance_review",
description: "Use this tool to get the vessel's auxiliary engine performance report and analysis.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_month_end_consolidated_technical_report",
description: "Use this tool to get the vessel's month end consolidated technical report .Consolidated technical report is generated from all the month end technical forms which the vessel submits.",
inputSchema: {
type: "object",
required: ["imo"],
properties: {
imo: {
type: "string",
description: "IMO number of the vessel."
}
},
additionalProperties: false
}
},
{
name: "get_latest_engine_performance",
description: "Retrieve the latest engine (MAIN ENGINE - ME , AUXILIARY ENGINE - AE) performance data for a specific vessel.",
inputSchema: {
type: "object",
properties: {
imo: {
type: "number",
description: "IMO number of the target vessel."
},
ENGINENAME: {
type: "string",
enum: [
"AE1",
"AE2",
"AE3",
"AE4",
"AE5",
"ME"
],
description: "Optional. Specific engine name to filter results. If not provided, returns latest data for all engines."
},
session_id: {
type: "string",
description: "Session ID for tracking client sessions, if available"
}
},
required: ["imo"],
additionalProperties: false
}
},
{
name: "get_historical_engine_performance",
description: "Retrieve historical engine (MAIN ENGINE - ME , AUXILIARY ENGINE - AE) performance data for a specific vessel and engine over a defined time period.",
inputSchema: {
type: "object",
properties: {
imo: {
type: "number",
description: "IMO number of the target vessel."
},
ENGINENAME: {
type: "string",
enum: [
"AE1",
"AE2",
"AE3",
"AE4",
"AE5",
"ME"
],
description: "Specific engine name to retrieve historical data for."
},
startDate: {
type: "string",
format: "date",
description: "Start date for the historical period in YYYY-MM-DD format."
},
endDate: {
type: "string",
format: "date",
description: "End date for the historical period in YYYY-MM-DD format."
},
limit: {
type: "number",
minimum: 1,
maximum: 50,
default: 12,
description: "Maximum number of performance records to return."
},
session_id: {
type: "string",
description: "Session ID for tracking client sessions, if available"
}
},
required: ["imo", "ENGINENAME", "startDate", "endDate"],
additionalProperties: false
}
},
{
name: "get_vessel_pms_historical_data",
description: "Use this tool to retrieve comprehensive historical Planned Maintenance System (PMS) data for specific machinery/equipment on a vessel from the MongoDB database.",
inputSchema: {
type: "object",
required: ["imo", "machinery_name"],
properties: {
imo: { type: "string", description: "IMO number of the vessel" },
machinery_name: { type: "string", description: "Name of the specific machinery/equipment for which PMS data is required" },
start_date: { type: "string", description: "Optional start date for filtering PMS records (YYYY-MM-DD format)." },
end_date: { type: "string", description: "Optional end date for filtering PMS records (YYYY-MM-DD format)." }
},
additionalProperties: false
}
},
{
name: "get_fleet_fuel_oil_bunker_analysis",
description: "Use this tool to get the information on fuel oil analysis of all vessels in the fleet",
inputSchema: {
type: "object",
properties: {
imo: {
type: "string",
description: "The IMO number of the fleet."
}
},
required: ["imo"],
additionalProperties: false
}
},
{
name: "get_fleet_pms_weekly_overview",
description: "Use this tool to get the information on weekly review of PMS for all vessels in the fleet",
inputSchema: {
type: "object",
properties: {
imo: {
type: "string",
description: "The IMO number of the fleet."
}
},
required: ["imo"],
additionalProperties: false
}
},
{
name: "get_fleet_major_machinery_overdue_jobs",
description: "Use this tool to get the information on overdue jobs of Major machineries for all vessels in the fleet",
inputSchema: {
type: "object",
properties: {
imo: {
type: "string",
description: "The IMO number of the fleet."
}
},
required: ["imo"],
additionalProperties: false
}
},
{
name: "get_fleet_month_end_technical_forms_status",
description: "Use this tool to get the status of month end technical forms for all vessels in the fleet",
inputSchema: {
type: "object",
properties: {
imo: {
type: "string",
description: "The IMO number of the fleet."
}
},
required: ["imo"],
additionalProperties: false
}
},
];
// General tools
export const generalTools = [
// {
// name: "google_search",
// description: "Perform a Google search using a natural language query. Returns relevant web results.",
// inputSchema: {
// type: "object",
// required: ["query"],
// properties: {
// query: {
// type: "string",
// description: "The search query to be executed."
// }
// },
// additionalProperties: false
// }
// }
];
// Document parser tools
export const documentParserTools = [
// {
// name: "parse_document_link",
// description: "Use this tool to parse a document link or a local file. The tool will parse the document and return the text content.",
// inputSchema: {
// type: "object",
// required: ["document_link"],
// properties: {
// document_link: {
// type: "string",
// description: "The link to the document that needs to be parsed"
// }
// },
// additionalProperties: false
// }
// }
];
// Casefile tools
export const casefileTools = [
// {
// name: "write_casefile_data",
// description: "Creates or updates casefile-related data. Supports two distinct operations: write_casefile: Create or update casefile metadata (e.g., summary, title, importance). write_page: Add or update a page under an existing casefile, including content and indexing.",
// inputSchema: {
// type: "object",
// properties: {
// operation: {
// type: "string",
// enum: ["write_casefile", "write_page"],
// description: "Specifies the writing operation: 'write_casefile' for creating new casefile or 'write_page' for page content of already existing casefile."
// },
// casefile_url:{
// type: "string",
// description: "The unique identifier of the casefile, direct casefile url link. Required for 'write_page'."
// },
// casefileName: {
// type: "string",
// enum: ["LO Analysis Report", "FO Analysis Report"],
// description: "Required for 'write_casefile'. Name of the casefile"
// },
// category: {
// type: "string",
// enum: ["loReport","foReport"],
// description: "Required for 'write_casefile' . Category of the casefile"
// },
// currentStatus: {
// type: "string",
// description: "Required for 'write_casefile': Current status of the casefile, it will be of 4-5 words. Required for 'write_page': update or kept it same status of the casefile based on recent received email."
// },
// casefileSummary: {
// type: "string",
// description: "Required for 'write_casefile'. Summary or high-level description of the casefile. Optional for 'write_page': can provide updated summary if needed."
// },
// importance: {
// type: "number",
// minimum: 0,
// maximum: 100,
// description: "Required for 'write_casefile'. Importance score of the casefile (0–100). required for 'write_page': can provide an updated score based on the new email content added to the casefile."
// },
// imo: {
// type: "number",
// description: "Required for 'write_casefile'. IMO number of the associated vessel."
// },
// role: {
// type: "string",
// enum: ["incident", "legal", "regulatory", "other"],
// description: "Required for 'write_casefile'. Role/category of the casefile."
// },
// summary: {
// type: "string",
// description: "Required for 'write_page'. Summary of the new page."
// },
// topic: {
// type: "string",
// description: "Required for 'write_page'.It is of 4-8 words aboyt what this document is about."
// },
// facts: {
// type: "string",
// description: "Required for 'write_page'..It will have the highlighted facts/information from the database."
// },
// detailed_report:{
// type: "string",
// description: "Required for 'write_page'. It will have the detailed report of the casefile in markdown format."
// },
// links: {
// type: "array",
// items: {
// type: "string"
// },
// description: "Required for 'write_page'. Relevent links you want to add to the case file."
// }
// },
// required: ["operation"],
// additionalProperties: false
// }
// },
// {
// name: "retrieve_casefile_data",
// description: "Retrieves data from casefiles. Supports the following operations: get_casefiles: List all casefiles for a vessel matching a text query.",
// inputSchema: {
// type: "object",
// properties: {
// imo: {
// type: "number",
// description: "Required for 'get_casefiles'. IMO number of the vessel."
// },
// query: {
// type: "string",
// description: "search query to filter casefiles based on the context and user query."
// },
// category: {
// type: "string",
// enum: ["loReport","foReport"],
// description: "Required for 'get_casefiles'. Category of the casefile."
// }
// },
// required: ["imo","category","query"]
// }
// }
];
// Export all tool definitions combined
export const toolDefinitions = [
...typesenseTools,
...mongodbTools,
...generalTools,
...documentParserTools,
// ...casefileTools // Commented out - no active casefile tools
];
//# sourceMappingURL=schema.js.map