MIDAS MCP Server MIDAS MCP Server: Available Tools

Overview

The MIDAS MCP Server currently provides 51 tools that an AI assistant can use once connected. These are grouped below into read-only tools, which only ever retrieve information from MIDAS, and write tools, which can create or change data. Write tools are further split out where they can permanently delete data.

If your MIDAS MCP Server is configured in read-only mode, only the tools in the first section below will be able to complete successfully; any attempt to use a write tool will be refused. See the Installation page for how to configure this setting.

All tools, whether read-only or not, are also subject to the same user permissions and business rules that apply within MIDAS itself.

Read-only tools (26)

These tools retrieve information from MIDAS and never make any changes.

ToolInternal NameDescription
Get MIDAS Settingget_settingRetrieve a MIDAS system setting value by name. Special read-only values: version, build_date, datetime_timenow. All other names are looked up in the MIDAS settings table.
Check Venue Availabilityget_availabilityCheck whether a MIDAS venue is available for booking during a specified time window. Returns available:true if the slot is free, or available:false with a reason string if not. Reason values include "Unavailable" (booking clash), or descriptive messages such as "This will exceed your maximum occupancy level", "Outside operating hours", "Venue unavailable from [date]", or "Unavailable - blocked by [venue name]".
Get Booking Type Detailsget_booking_typeReturns details of a specific booking type including its color, discount rate, and tentative booking settings. Accepts booking type name or numeric ID.
List All Booking Typesget_booking_typesReturns all currently defined booking types and their corresponding internal IDs.
Get Email/Notification Templateget_templateReturns the contents of a MIDAS email or notification template by name. Use template name "intro" to retrieve the MIDAS welcome/intro message. Returns content and, where applicable, an additional field.
Get Currently Logged-In Usersget_users_logged_inReturns a list of users currently logged in to MIDAS, including their name, number of active sessions, and browser information. Returns an empty array if no users are currently logged in.
List Venue Groupsget_venue_groupsReturns all defined venue groups, each with its name and an array of the venue names assigned to it.
List All Venuesget_venuesReturns all venues with their names and corresponding internal numeric IDs, in display order.
Get Venues in a Groupget_venues_in_groupReturns the names of all venues in a specified venue group.
Convert Epoch Seconds to Date/Timeutil_from_epochConverts epoch seconds to a MIDAS date/time string in YYYYMMDDHHMM format. Set format=1 to return a locale-formatted human-readable string using the MIDAS date/time format instead.
Convert Date/Time to Epoch Secondsutil_to_epochConverts a date/time string in YYYYMMDDHHMM format to epoch seconds.
Get Activity Logget_activityReturns activity log entries within a date range, with optional filtering by user and action codes. Requires can_view_activity_log permission when running as a specific user. See mid.as/api/activity-codes for valid filter codes.
Get Booking Detailsget_bookingReturns full details of a single booking by numeric ID, including venue, client, dates, resources, custom fields, and change history.
Get Bookings by Date Rangeget_bookingsReturns bookings within a date/time range with optional filters for venue, booking type, client ID, and status. Defaults to confirmed bookings only.
Find Clientget_clientReturns client details matching the supplied name, organisation, or email, including contact information, credit balance, and any custom fields.
Get Consumable Stock Levelsget_consumable_levelsReturns the current stock levels of all consumable resources.
Get Invoice Detailsget_invoiceReturns full details of an invoice by reference number, including client, line items, totals, and status history. Requires can_invoice permission when running as a specific user.
List Client Invoicesget_invoicesReturns a list of invoice reference numbers for a specified client, with optional filtering by invoice type or unsent status. Requires can_invoice permission when running as a specific user.
Get User Messagesget_messagesReturns messages currently addressed to a specified MIDAS user. Requires can_use_mymessages permission when running as a specific user.
Get User Remindersget_remindersReturns active reminders currently addressed to a specified MIDAS user. Requires can_use_mymessages permission when running as a specific user.
Get Resource Detailsget_resourceReturns details for a named resource including its category, quantity, charge rate, tax, and the venues it is limited to.
Check Resource Availabilityget_resource_availabilityChecks whether a specified quantity of a named resource is available across a given time window.
Get User Account Detailsget_userReturns account details, permissions, and preferences for a MIDAS user matching the supplied name or email.
Get Venue Detailsget_venueReturns full details for a venue including capacity, description, rates per day-of-week, operating hours, closed periods, managers, group membership, and blocking/alternative venues.
Get Venues Currently in Useget_venues_in_useReturns the names of venues that have bookings overlapping a given time window. If no window is specified, defaults to venues in use right now.
Get User Watch Notificationsget_watchesReturns active watch notifications currently set for a specified MIDAS user. Requires can_use_mymessages permission when running as a specific user.

Write tools (18)

These tools create or modify data in MIDAS. They require write access to be enabled on the MIDAS MCP Server, and in most cases also require the connecting MIDAS user account (where applicable) to hold the relevant permission.

ToolInternal NameDescription
Add Bookingadd_bookingCreates a new booking. Set status to "request" to submit as a pending booking request (requires approval), or omit for a confirmed booking. Resources are supplied as "qty1|name_or_id1~~qty2|name_or_id2". Pre/post setup and breakdown times are in minutes. Requires can_add_bookings permission when running as a specific user.
Modify Bookingmod_bookingUpdates fields on an existing booking. Changing start, end, venue, attendees, pre, or post triggers an availability re-check. Resources are supplied as "qty1|name_or_id1~~qty2|name_or_id2". Custom booking fields can be updated with "new_<fieldname>". Requires can_modify_bookings permission when running as a specific user.
Restore Deleted Bookingrestore_bookingRestores one or more soft-deleted bookings back to confirmed status, checking availability first. Supply a single numeric booking ID or a comma-separated list. Returns lists of successfully restored and failed IDs. Requires can_restore_bookings permission when running as a specific user.
Approve Booking Requestapprove_requestApproves a pending booking request, confirming it. Sends an approval email to the client unless silent=1. Requires can_manage_requests permission when running as a specific user.
Create Invoiceadd_invoiceCreates a manual invoice for a client. Supply line items either as a JSON array via "items" ([{item, qty, rate, tax}, ...]) or as numbered parameters (item_1, qty_1, rate_1, tax_1, item_2, ...). Type can be "invoice" (default), "deposit", "cancel", or "credit". Requires can_invoice permission when running as a specific user.
Update Invoicemod_invoiceUpdates an invoice. Client can only be changed on unsent invoices. Paid/credit/refunded amounts update payment status automatically (status becomes Paid in Full when amounts equal the total). Requires can_invoice permission when running as a specific user.
Generate Invoice from Bookingsgen_invoiceAutomatically generates an invoice (or invoices) from confirmed bookings, calculating charges from venue rates with booking type discounts applied. Targets a single booking by ID, or all confirmed bookings in a date range (optionally filtered by client). Returns the reference(s) of created invoices. Requires can_invoice permission when running as a specific user.
Update MIDAS Settingset_settingUpdates a MIDAS system setting value. Certain internal settings (version, build_date, api_version, backup_last, cron_last) are protected and cannot be changed. See mid.as/api/setting-names for valid setting names.
Update Email/Notification Templateset_templateUpdates the content of a MIDAS email or notification template. Use template name "intro" to update the welcome message. Script and style tags are stripped automatically. Requires can_manage_templates permission when running as a specific user.
Add Venue Groupadd_venue_groupCreates a new venue group. Requires can_manage_venues permission when running as a specific user.
Modify Venue Groupmod_venue_groupRenames a venue group and/or changes its venue membership. Requires can_manage_venues permission when running as a specific user.
Add Clientadd_clientAdds a new client record. Custom client fields defined in your MIDAS installation can be supplied using their field names (lowercased, spaces replaced with underscores). Requires can_add_clients permission when running as a specific user.
Modify Clientmod_clientUpdates fields on one or more matching client records. Identify the client(s) to modify with id, client, org, or email. Supply new_* fields for what to change. Requires can_modify_clients permission when running as a specific user.
Add Resourceadd_resourceAdds a new bookable resource. Type can be "E" (equipment), "S" (service), "C" (consumable), or a category name. Requires can_manage_resources permission when running as a specific user.
Modify Resourcemod_resourceUpdates fields on a resource record identified by numeric ID. Supply new_* fields for what to change. Requires can_manage_resources permission when running as a specific user.
Modify Venuemod_venueUpdates venue properties including name, capacity, rates, operating hours, closure periods, managers, blocking venues, and alternatives. Identify the venue with id or name. Supply new_* fields for what to change. Operating hours use HHMM pairs (e.g. "0000-0800,2100-2400" = closed midnight-8am and 9pm-midnight). Rate type: hourly, daily, booking, or per_person. Requires can_manage_venues permission when running as a specific user.
Send Notification to Usernotify_userSends a message or reminder notification to a MIDAS user. The notification appears in the recipient's My Messages screen and is also emailed if the user has email notifications enabled. Requires write access.
Email Clientemail_clientSends an email to a client. Optionally attaches an invoice or receipt from the invoicing system. When an invoice reference is supplied the body parameter is not required and the fully formatted invoice is used as the email body instead. Requires can_email_clients permission when running as a specific user.

Destructive tools (7)

These tools permanently delete or reject data in MIDAS. They require write access to be enabled on the MIDAS MCP Server. Most AI assistants will ask for explicit confirmation before calling a tool marked as destructive, but you should always take care when granting write access to an AI assistant.

ToolInternal NameDescription
Delete Bookingdel_bookingSoft-deletes a booking (sets status to deleted). Set force=1 to permanently remove it and delete any file attachments. Replenishes consumable resources on deletion. Requires can_delete_bookings permission when running as a specific user.
Delete Bookings in Date Rangedel_bookingsDeletes all bookings within a date/time range, with optional filters for venue, client, and booking type. Soft-deletes by default; set force=1 for permanent removal. Replenishes consumables. Requires can_delete_bookings permission when running as a specific user.
Reject Booking Requestreject_requestRejects and permanently deletes a pending booking request. Sends a rejection email to the client with an optional reason, unless silent=1. Requires can_manage_requests permission when running as a specific user.
Delete Invoicedel_invoiceDeletes an invoice by reference number and removes its reference from associated bookings. Will refuse deletion of finalised invoices if the MIDAS "no invoice delete" setting is enabled. Requires can_invoice permission when running as a specific user.
Delete Venue Groupdel_venue_groupDeletes a venue group. The venues themselves are not affected. Requires can_manage_venues permission when running as a specific user.
Delete Clientdel_clientDeletes one or more client records. By default also deletes all associated bookings; set retain_bookings=1 to keep them. Requires can_delete_clients permission when running as a specific user.
Delete Resourcedel_resourceDeletes a resource by numeric ID and removes it from all existing booking records. Requires can_manage_resources permission when running as a specific user.

Utility tools

In addition to the tools above, two small utility tools (util_from_epoch and util_to_epoch) are provided to help AI assistants convert between date/time formats. These are listed in the read-only table above, since they do not access MIDAS data.