The sapio365 MCP server

The sapio365 MCP server gives your AI client tools to see and act in your running sapio365. You do not need to know their names: ask for the result you want, and the AI picks the tools. They are listed here so you recognize them when your AI client asks you to allow one.

What you can ask

Area

What you can ask

sapio365 tools used

Know where you stand

Which tenant and account is sapio365 connected to? Is my session elevated? Which modules are open? How many guests do we have?

sapio365_get_started: what sapio365 holds, and how to go about a task
sapio365_get_current_session: the session of the main window
sapio365_list_open_modules: the open modules, and how old their data is
sapio365_get_module_counters: the counts the dashboard shows, with no module to open

Sessions and panels

Load my Contoso session. Show me the Jobs panel. Load the user activity logs of this computer.

sapio365_list_backstage_panels: the main menu panels
sapio365_show_backstage_panel: opens the main menu on a panel
sapio365_load_session: loads the session selected in the Recent Sessions panel; hidden with Forbid session load with AI
sapio365_load_user_activity_logs: shows and loads the User Activity Logs of this computer

Keep data fresh

How old is the data in the Users window? Refresh it.

sapio365_get_data_freshness: how current the data of an open module is
sapio365_refresh_module: refreshes an open module, by a quick update or a full reload

Read and analyze grids

How is this grid set up? How many rows are selected? Summarize the selected users by department.

list_grids: the grids available, with the title of their window
get_grid_state: how a grid is set up: columns, sorting, grouping, filters, row counts
get_selected_rows: the data of the selected rows; hidden with Forbid reading data with AI

Find rows

Select the users whose display name starts with “Test”. How many groups have “Sales” in their name?

select_matching_rows: selects the rows matching a regular expression, as Find All (Ctrl+F3) does; available with Forbid reading data with AI

Work with views

Which views does this module have? Open Users with my Guests view. Apply my Guests view. Save this layout as a view called “Licensed guests”.

sapio365_build_quick_gridview: opens a module with one of its views
sapio365_list_available_views_in_module: the saved views of an open module
sapio365_apply_view_module: applies a saved view
sapio365_create_view_module: saves the grid as it stands as a new view

Build reports

Build a usage report for the last 30 days. Which summary reports can I run? Show Groups with their members in a Quick GridView.

sapio365_build_usage_report: a usage report, as the Usage Report panel builds it
sapio365_build_summary_report: a summary report, in its own window
sapio365_build_quick_gridview: a Quick GridView, a module and its submodules

Run jobs

Which jobs can I run here? What does this job do? Run it.

sapio365_list_available_automation_jobs: the jobs of the main window
sapio365_list_available_automation_jobs_in_module: the jobs of an open module
sapio365_get_automation_xml: the XML of a job or a saved view
sapio365_run_automation_job: runs a job of the main window
sapio365_run_automation_job_module: runs a job of an open module

Work with automation scripts

Open Users, select the disabled accounts that still have a license, and list them.

sapio365_run_automation_script_module: runs an automation script, in the main window or in an open module

Keep what works

Save what you just did as a job called “Disabled but licensed”. Keep this arrangement of the grid as a view.

sapio365_save_automation_job: saves an automation script as a job in your Jobs list
sapio365_create_view_module: saves the grid as a new view

Export to Excel

Export this grid to C:\Reports\users.xlsx and open it.

get_grid_state (export option): writes the grid to an Excel file; refused with Forbid reading data with AI

Explain a failure

Why did my last job fail?

get_trace: the last lines of the automation or application trace; values masked with Forbid reading data with AI

Reading data

  • The AI reads the rows you selected directly from the grid, with typed values (numbers, dates, multi-value cells), and can ask for only the columns it needs. Each column comes with its title as the grid header shows it. It reads up to 200 rows by default and 2,000 at most; for more, it suggests an export.

  • The AI can search a grid as Find All (Ctrl+F3) does, with a regular expression, case-sensitive or not, or for the rows that do not match, in every visible column or in the columns it names. It searches the grid of a module or of a main menu panel. sapio365 selects the matching rows in place of your selection and tells the AI how many there are; the AI then reads the selection.

  • Before it answers, the AI checks that the grid holds everything it needs. When a module is only partly loaded (a filtered load, rows not loaded yet), it tells you and offers to load the rest.

  • With Forbid reading data with AI, no grid content reaches the AI: it can still search, count rows, apply views and run jobs and automation scripts. See Security, restrictions and your data.

Data freshness

  • sapio365 tells the AI how old the data of each open module is. Data older than 30 minutes counts as stale, and the AI tells you how old the data it uses is.

  • The AI answers “how many” questions about users, guests, licensed users, groups, teams, sites or devices from the counts the dashboard shows, with no module to open. sapio365 also tells it when the dashboard last counted them and how old the local cache of each module is. Before the dashboard has counted, the AI asks you to press its Load button.

  • The AI refreshes a stale module with a quick update (delta sync) without asking, and asks you before a full reload.

  • A module cannot be refreshed while it is loading, while a job runs, when it shows a snapshot, or when it has unsaved changes.

Views

  • The AI can apply one of a module's saved views. When the view shows columns whose data is not loaded yet, sapio365 loads it from Microsoft 365, and the AI tells you which columns stayed empty.

  • The AI can save the grid as it stands as a new custom view: the columns shown and their order, the sorting, grouping, filters and formats, under a name in your words. The new view is applied as it is saved, so you see what was kept, and you find it later in the module's view list. A view holds the display only, never tenant data.

  • A view the AI saves never replaces a view shipped with sapio365 or one owned by somebody else, and replaces one of your own views only when you ask.

Reports

  • The AI can fill and run the Usage Report, Summary Reports and Quick GridView panels. It first asks sapio365 which choices each panel offers, then builds the report you described. Quick GridView also opens a single module with one of its views.

  • These tools open the modules they need. A summary report opens as a document rather than a grid.

Jobs and automation scripts

  • The AI sees the jobs of the main window, including the jobs behind the report panels, and the jobs of each open module. It can show you the XML of a job, or of a saved view, before running it.

  • When a job asks for input, the AI answers its dialog in advance, with one of the job's presets or with the values you gave it. For values you gave it, sapio365 creates a preset for that single run and deletes it afterwards. A job that does not accept presets still asks you.

  • Every run reports how it went: succeeded, completed with errors or warnings, failed, canceled or not started. The AI tells you.

  • A restriction stops a run at the action it forbids. With Forbid saving data with AI, a Save or SaveSelected action ends in error and the changes stay pending, unsaved. With Forbid session load with AI, a LoadSession or ConnectToCustomer action ends in error and the session already loaded stays in use. See Security, restrictions and your data.

  • The AI can save an automation script that worked as a new job in your Jobs list. A job shipped with sapio365, or one you cannot edit, is never replaced.

  • An Excel export, a saved automation script or a saved job is written only when you ask for it. An export holds the rows and columns visible in the grid.

Limits to know

  • The tools act in module windows that are already open, the dashboard's counts aside. sapio365_build_quick_gridview opens a module with one of its views, an automation script opens the module it needs by itself, and the report tools open their modules too.

  • Dialogs that need a person cannot be answered by the AI. For example, the User Activity Logs of every machine ask for a date range in a dialog: the AI loads the logs of this computer only. When a session the AI loads needs you to sign in (password, MFA or consent), the AI tells you and you complete the sign-in in sapio365.

  • The AI loads only the one session selected in the Recent Sessions panel, once that panel has been shown, and not while a job or automation script runs or while sapio365 is still loading data.

  • An automation script cannot return cell values: the AI reads the result back from the grid afterwards.

  • A new view keeps what the grid shows at that moment and nothing else: the grid is arranged first, then saved. A view cannot be saved while a job is running, and only in module grids that have a view list.

  • Each sapio365 you run has its own server. See Manage the MCP server.