clm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLM_PASSWORD | No | Password for password grant (Option B) | |
| CLM_USERNAME | No | Username for password grant (Option B) | |
| CLM_LOG_LEVEL | No | Logging level (always written to stderr, never stdout) | INFO |
| CLM_API_BASE_URL | No | Business API base | https://msblocks.selisestage.com/api/business-clm-shipment |
| CLM_ENABLE_WRITES | No | Register the 59 auto-generated write tools. Set to false to opt out and run read-only. | true |
| CLM_REFRESH_TOKEN | No | Refresh token (Option B) | |
| CLM_IDENTITY_ORIGIN | No | Required Origin header for the identity endpoint | https://clm.selisestage.com/ |
| CLM_CREDENTIALS_PATH | No | Where clm-mcp login stores its token | ~/.config/clm-mcp/credentials.json |
| CLM_IDENTITY_TOKEN_URL | No | Identity/token endpoint | https://clm.selisestage.com/api/identity/v25/identity/token |
| CLM_MAX_RESPONSE_BYTES | No | Byte cap before a list response is truncated | 50000 |
| CLM_TOKEN_REFRESH_SKEW_SECONDS | No | Refresh this many seconds before actual expiry | 90 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| clm_whoamiA | Return the identity, site, and roles of the authenticated CLM user. Call this first: it confirms authentication is actually working
(triggering a token refresh if needed) and its |
| clm_list_enumsA | List CLM domain enums and their known integer values. Several API fields (e.g. shipment/lean-card status, severity) are
undocumented integer enums in the spec — real member names are not
yet known (see PLAN.md). Tools accepting one of these enums take
either the int value shown here or its placeholder name (e.g.
|
| clm_search_shipmentsA | Search shipments (native CLM and KonsHub-linked) by free text, scoped to a site. |
| clm_list_shipmentsA | List shipments for the cockpit list view: filtered, searched, ordered, and paged, scoped to the site and the caller's team visibility. |
| clm_count_shipmentsA | Shipment counts for a site broken down by status bucket (open, approved, completed, cancelled/rejected). |
| clm_get_shipmentA | Retrieve the full internal shipment record by id (up to 142 possible fields, most absent for any given shipment). Prefer clm_get_shipment_summary for a smaller, external-facing view. |
| clm_get_shipment_summaryA | Retrieve a shipment's smaller, external-facing summary (native CLM or KonsHub-linked). |
| clm_get_shipment_commentsA | List all comments posted on a shipment, with commenter display info. |
| clm_get_shipment_event_logsA | Retrieve the audit/event log history for a shipment or related connected entity, ordered chronologically. |
| clm_get_shipment_timelineA | Retrieve the day-wise timeline for a single shipment. |
| clm_list_incidentsA | List all non-deleted incidents/findings raised against a shipment. |
| clm_get_incidentA | Retrieve the full detail of a single incident/finding. |
| clm_list_equipmentA | List all site equipment, split into bookable and non-bookable groups, for the equipment management grid view. |
| clm_list_equipment_timelineA | List equipment timeline entries (bookings) for the cockpit equipment list view: filtered, searched, sorted, and paged. |
| clm_list_working_packagesA | List lean cards (working packages) for a site, filtered by status. |
| clm_count_working_packagesA | Count of lean cards (working packages) for a site, broken down by status (overdue, active, pending, completed). |
| clm_list_material_handoversA | List material handover summaries for a site, filtered by status and date range. |
| clm_get_material_handoverA | Full details of a single material handover, including its event history and equipment usage. |
| clm_get_cockpit_weekly_countsB | Weekly shipment count grid for a site's active unloading zones. |
| clm_get_weatherA | Daily weather records (temperature, wind speed, symbol) stored for a site within a date range. |
| clm_list_operationsA | List CLM API operations reachable via clm_invoke. Filter by exact |
| clm_describe_operationA | Describe one operation: its resolved JSON Schema request body
(for a POST operation) or query parameters (for a GET operation),
and its response shape — everything needed to build valid
|
| clm_invokeA | Execute any operation listed by clm_list_operations.
|
| clm_incident_command_create_incidentA | Creates a new incident/finding against a CLM, KonsHub, or equipment-booking shipment, links it to the shipment, and recalculates the shipment's incident counts. A background command is queued afterwards to generate thumbnails for the incident's attached files, and, if the shipment is already completed, to trigger PDF regeneration. |
| clm_incident_command_delete_incidentA | Soft-deletes an incident by marking it as deleted ( |
| clm_incident_command_update_incidentA | Updates the remark, attached files, and finding type of an existing incident, then recalculates the owning shipment's incident counts and re-queues thumbnail generation for the updated files. |
| clm_lean_card_command_create_lean_documentA | Registers an uploaded lean document (an Excel workbook used to bulk import/refresh lean cards) for a project/site if it does not already exist, then queues it for background processing that parses the workbook and creates or updates the corresponding lean cards. |
| clm_lean_card_command_lean_card_createA | Creates a new lean card (working package) for a project/site, assigning it to a sender and recipient team, computing its initial status, and setting the access-control roles that determine who can read or update it. Also queues background jobs to refresh site-structure and team grouping counts. |
| clm_lean_card_command_lean_card_updateA | Updates an existing lean card's location (building/floor/laydown area), comment, dates, archived flag, volume, and estimated transport unit; recalculates its status; and queues background jobs to re-sync site-structure and team grouping counts using the old and new values. |
| clm_lean_card_command_save_working_package_file_dataA | Finalizes the working-package import: creates the lean document record for the uploaded file if one does not already exist, then queues a background command that creates or updates the actual lean cards from the previously mapped Excel data. |
| clm_lean_card_command_save_working_package_header_mappingA | Saves the user-selected mapping between Excel columns and lean card fields (activity id, date format, sender/recipient team) for a previously uploaded working-package file, then queues background building of a preview of the resulting working packages by matching rows against existing teams and lean cards, notifying the uploading user of the outcome. |
| clm_lean_card_command_send_working_package_date_change_emailA | Sends an email notification, in each recipient's preferred language, to the members of a lean card's (working package's) sender team informing them that its start/end dates have changed. |
| clm_lean_card_command_upload_working_package_fileA | Queues the initial background processing of an uploaded working-package Excel file: reading the selected sheet, parsing its rows/columns into a temporary upload record, and notifying the uploading user once processing completes, in preparation for the header-mapping step. |
| clm_material_handover_command_change_material_handover_statusA | Toggles a handover's status between InProgress and Paused, appending a new handover event capturing the note and photos for the change, and updates the parent shipment's aggregated handover status. Pausing also queues a background job to generate thumbnails for the responsible-person photos of that event. |
| clm_material_handover_command_complete_material_handoverA | Marks a handover as Completed: appends a completion event, stores the final material/responsible-person photos and note, computes the total time spent by summing the durations between paired handover events, optionally attaches the responsible person resolved from a QR-code scan, updates the parent shipment's aggregated handover status (triggering PDF regeneration if the shipment itself is now complete), and queues a background job to generate thumbnails for the final photos. |
| clm_material_handover_command_create_material_handoverA | Creates a new material handover for a CLM or Konshub shipment, snapshotting the shipment's bookable equipment and assigning a sequential handover number, then updates the shipment's aggregated handover status/counters and queues a background job to generate thumbnails for the uploaded material photos. |
| clm_material_handover_command_update_planned_equipment_usage_of_handoverA | Records the actual usage (unit count or number of time slots, depending on the equipment's price type) for a single planned/bookable equipment item on a handover, recalculates that item's actual total price, and rolls the aggregated actual usage/price back up into the shipment's equipment timeline. |
| clm_shipment_command_create_shipment_commentA | Adds a new comment to a shipment, attributed to the current user. |
| clm_shipment_command_delete_draft_shipmentD | Transitions a shipment to a new status (approved, waiting/ongoing/unloading, rejected/withdrawn, cancelled at transit, or completed), updates grouping counts, and triggers background processing (e.g. notifications) for the status change. |
| clm_shipment_command_delete_shipment_commentB | Deletes an existing shipment comment. |
| clm_shipment_command_discard_shipmentA | Discards a shipment: if the shipment is still an in-progress wizard draft it is deleted entirely; if it has already been submitted, only its pending edit draft (and smart-wizard draft) is cleared, leaving the submitted shipment intact. |
| clm_shipment_command_generate_cockpit_daily_reportA | Queues generation of the cockpit daily report PDF (scheduled shipments, equipment, and ad-hoc shipment summaries) for background processing; once generated, the requesting user is notified. |
| clm_shipment_command_generate_shipment_pdfA | Requests (and returns, if already available) the generated PDF report for a shipment in the given language; if no PDF has been generated yet, this queues background PDF generation and returns immediately without a URL. |
| clm_shipment_command_save_shipment_wizard_booking_datesA | Saves the booking date step of the shipment wizard: for a shipment still being created it applies the booking date, express-shipment flag, and lean card directly; for an already-submitted shipment being edited, the change is stored as a pending draft. |
| clm_shipment_command_save_shipment_wizard_materialA | Saves the material-selection step of the shipment wizard: for a shipment still being created this sets its materials and recipient team directly; for an already-submitted shipment being edited, the change is stored as a pending draft rather than applied immediately. |
| clm_shipment_command_save_shipment_wizard_other_infoB | Saves the final "other info" step of the shipment wizard (on-site responsible person, sustainability/vehicle info, etc.), finalizing the shipment: persists the additional responsible persons and remaining shipment details, then triggers a background command to complete post-save processing. |
| clm_shipment_command_save_shipment_wizard_timeslotsA | Saves the timeslot step of the shipment wizard: resolves the selected zone (and its waiting area, if any), then for a shipment still being created applies the schedule window and equipment reservations directly, or for an already-submitted shipment being edited, stores the change as a pending draft. |
| clm_shipment_command_save_shipment_wizard_unloadingsA | Saves the unloading/vehicle step of the shipment wizard: for a shipment still being created it sets the selected vehicle's name, type, ID, and key directly on the shipment; for an already-submitted shipment being edited, the change is stored as a pending draft. |
| clm_shipment_command_send_open_shipment_mailA | Queues a background job to notify the shipment's recipient that a shipment has been requested, sending the "shipment requested" email in every supported language once the shipment is found. |
| clm_shipment_command_update_shipment_commentB | Updates the text of an existing shipment comment. |
| clm_shipment_command_update_shipment_statusC | Execute ShipmentCommand/UpdateShipmentStatus (a write operation). |
| clm_shipment_command_upsert_adhoc_shipmentA | Creates or updates an ad-hoc (walk-in, non-wizard) shipment: if a shipment with the given ID already exists it is updated, otherwise a new one is created and a background command is queued to finish processing it (e.g. thumbnail generation, notifications). |
| clm_shipment_command_upsert_sustainability_addressB | Creates, updates, or removes a team's saved sustainability address: marking an address as not-favourite deletes it, otherwise the address (identified by item ID) is updated if it already exists or created new for the given team. |
| clm_site_equipment_command_calculate_bookable_equipment_usageA | Recalculates and persists a bookable site equipment's daily usage aggregate for the given date, tallying open and approved shipments/bookings that use the equipment that day against its total available time; the aggregate record is removed if total usage becomes zero. |
| clm_site_equipment_command_create_equipment_booking_from_mobileA | Creates a new site equipment booking submitted from the mobile app in a single call, covering booking date/slots, transport info, and other info (responsible persons, photos), then queues a background command that finalizes the booking (timeline creation and approval notifications). |
| clm_site_equipment_command_create_or_update_equipmentA | Creates a new site equipment master record (creating its calendar reservation object and, if bookable, publishing an availability-set command) or updates an existing one (recreating/updating its reservation object and queuing a background command to refresh its zone attachment). |
| clm_site_equipment_command_delete_equipmentA | Permanently deletes a site equipment record and queues background commands to remove its zone attachment and, for bookable equipment, its booking prerequisites. |
| clm_site_equipment_command_delete_equipment_booking_commentA | Soft-deletes an equipment booking comment by marking it as deleted (it is excluded from subsequent reads but not physically removed). |
| clm_site_equipment_command_delete_unplanned_equipmentA | Soft-deletes an unplanned equipment usage record (marks it as deleted), removes its associated timeline entry, and logs an event. |
| clm_site_equipment_command_discard_equipment_bookingA | Discards an in-progress site equipment booking: permanently deletes it if it is still a drafted (not yet finalized) booking, or clears its in-progress draft data if it is an existing valid booking. |
| clm_site_equipment_command_save_equipment_booking_commentA | Adds a new comment to a site equipment booking, or edits an existing comment's text when Commands.EquipmentBookingCommentSaveCommand.ItemId matches an existing comment. |
| clm_site_equipment_command_save_site_equipment_booking_infoA | Saves the booking-date step of a site equipment booking (booking date, weather info, time slots). Creates a brand-new booking with status |
| clm_site_equipment_command_save_site_equipment_other_infoA | Saves the "other info" step of a site equipment booking (creator/on-site responsible persons, photos, documents, comment). Depending on whether the booking is still being drafted or already exists, this finalizes creation (assigning a booking number and queuing the create-background command) or updates its draft (queuing the update-background command); it also re-validates the calendar slot reservation. |
| clm_site_equipment_command_save_site_equipment_transport_infoA | Saves the transport-info step of a site equipment booking (building/floor location, transport unit quantity, recipient team, material comment, price per unit) onto the booking record or its draft. |
| clm_site_equipment_command_send_open_equipment_booking_mailA | Queues a background command that sends a "booking requested" reminder email (in every supported language) for a still-open (unapproved) site equipment booking; the command is placed directly on the message queue and this endpoint returns immediately without waiting for the email to be sent. |
| clm_site_equipment_command_update_equipment_booking_from_mobileA | Updates an existing site equipment booking's booking/transport/other info from the mobile app, re-validating and re-creating the calendar slot reservation, then queues a background command that updates the timeline and sends the relevant status-change notifications. |
| clm_site_equipment_command_update_equipment_statusA | Activates or deactivates an existing site equipment record by toggling its |
| clm_site_equipment_command_update_site_equipment_booking_statusA | Transitions a site equipment booking to a new status (e.g. approve, reject, withdraw, cancel, complete), updates its timeline entry, and queues a background command that either completes the linked equipment timeline (calculating actual usage/price and freeing up slots, when completing) or performs the corresponding status-change side effects such as sending notification emails. |
| clm_site_equipment_command_upsert_unplanned_equipmentA | Creates a new unplanned equipment usage record attached to a material handover, or updates an existing one's usage/price/slot data. On create it also (re)builds the equipment's timeline entry, assigns a booking number, and logs an event; the same happens for updates. |
| clm_smart_shipment_command_save_shipment_wizard_booking_datesA | Saves step 1 of the Smart Shipment wizard: the booking date, lean card and weather/timezone context. If no shipment exists yet for the given |
| clm_smart_shipment_command_save_shipment_wizard_timeslotsA | Saves step 2 of the Smart Shipment wizard: the selected unloading zone, delivery time slots and the bookable/non-bookable equipment associated with the shipment. Resolves the full zone (and its waiting area, if any) and applies the schedule to the shipment directly, or to its smart-draft if the shipment already exists as a valid (non-draft) shipment. |
| clm_smart_shipment_command_save_smart_shipment_wizard_materialsA | Saves step 4 of the Smart Shipment wizard: the delivery materials and drop-off details (building, floor, laydown area, recipient team) for the shipment. For a new (drafted) shipment this persists the material lines to the shipment and saves each |
| clm_smart_shipment_command_save_smart_shipment_wizard_other_infoA | Saves the final step of the Smart Shipment wizard: responsible persons, shipment photos/documents, comment and sustainability info, and finalizes the shipment. Validation reserves the unloading-zone timeslot and any bookable/non-bookable equipment via the calendar service (rolling back reservations on failure). On success, promotes the draft/smart-draft into the real shipment: for an update it applies the requested status change (when |
| clm_smart_shipment_command_save_smart_shipment_wizard_unloadingsA | Saves step 3 of the Smart Shipment wizard: the unloading vehicle details for the shipment's booking date. Applies the vehicle information to the shipment directly, or to its smart-draft if the shipment already exists as a valid (non-draft) shipment. |
| clm_timeline_command_complete_shipment_equipment_timelineA | Validates and completes a site-equipment timeline entry: records the completion amount, optionally frees up any remaining reserved calendar slots for the equipment, updates the related shipment/site-equipment booking, and sends a booking-completed notification email in every supported language. |
| clm_timeline_command_generate_equipment_timeline_excel_reportA | Queues an asynchronous request to build an Excel export of the site-equipment timeline, filtered by site, status, date range, team/equipment ids and search keys, and returns immediately without waiting for the report to be generated. |
| clm_timeline_command_generate_up_timeline_excel_reportA | Queues an asynchronous request to build an Excel export of the shipment list view (UP timeline), filtered by site, status, schedule date range and sender/recipient teams, and returns immediately without waiting for the report to be generated. |
| clm_user_setting_command_create_cockpit_equipment_filterA | Saves a new "equipment view" cockpit filter (site, recipient teams, bookable/non-bookable equipment and annotation flags) for the current user. |
| clm_user_setting_command_create_cockpit_weekly_filterA | Saves a new "weekly view" cockpit filter (site, sender/recipient teams, moving/unloading equipment and annotation flags) for the current user. |
| clm_user_setting_command_delete_cockpit_equipment_filterA | Removes an existing "equipment view" cockpit filter belonging to the current user. |
| clm_user_setting_command_delete_cockpit_weekly_filterA | Removes an existing "weekly view" cockpit filter belonging to the current user. |
| clm_user_setting_command_update_user_favorite_materialA | Adds or removes a material from the current user's favorite materials list for a given site. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/sabadia/clm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server