Skip to main content
The reviewed consolidated catalog exposes 93 public tools covering 260 existing operations across 30 modules. Related operations share a tool, so full MSPortal access fits below a 128-tool client budget without removing feature areas. Your connected client receives a subset according to the deployed version, granted OAuth access, MSPortal permissions, company scope, integrations and client tool selection. A listed tool is not proof that it is available in your session.

Grouped tools and actions

  • query_* tools retrieve related records or summaries, such as query_planner or query_projects.
  • manage_* tools stage and confirm related changes, such as manage_planner or manage_meeting_participants.
  • Standalone tools retain their names and original arguments: get_current_user, search_portal, submit_feedback, draft_compliance_notes and mark_notification_read.
The Public tool column identifies the name returned by tools/list. The Action / legacy name column identifies the request.action value inside that tool. Each action has its own argument schema and access checks; seeing a grouped tool does not grant every action in it.
Use the catalog and schemas returned by your connected server. A server that lists individual names such as list_planner_items instead of query_planner has not switched to the consolidated catalog. Counts can be lower because of permissions, scopes or integrations, and tools from other connected servers may also count toward your client’s limit.
For example, call query_planner with these tool arguments to list Planner items:
For a change, call the appropriate manage_* tool with the action and its arguments. Review the returned proposal. After approval, call the same tool and action with confirm: true and the returned confirmationId inside request.arguments. For example, a proposal from manage_planner with action create_planner_item is confirmed using:
Do not resend changed values on a confirmation call. Request a new proposal to change the target or payload. Standalone tools continue to accept their original arguments directly, without a request wrapper.

Existing connections and legacy names

All 260 legacy operation names remain accepted by tools/call with their original arguments and result shapes. Existing connections keep their OAuth grants and access restrictions; consolidation alone does not require a different server URL or a new grant. Pending confirmations keep the original operation identity. A proposal for an operation can be confirmed through its legacy tool name or the corresponding grouped action, subject to the same user/client identity, expiry and replay checks. The compatibility aliases update_compliance_status and list_compliance_templates remain callable directly but are not separately advertised. Confirmations created through an alias must continue using that alias’s identity.
The discovery response changes: tools/list returns grouped names rather than every legacy operation name. Cached legacy calls still work. When adopting the grouped catalog, update any client tool-name allowlist to include the public tool names you need. A custom client that requires a legacy name to appear in tools/list must update its discovery logic.

Read the access column

  • Read: retrieves data without a normal portal write confirmation. Read calls still transmit their results to the connected client.
  • Write (confirm): stages a proposal; review it and authorize the follow-up confirmation before committing. A proposal is not a saved record.
  • Immediate action: runs without the server’s proposal/confirmation round trip. Check the description: marking notifications changes state; drafting compliance notes generates output without saving it.
  • Send feedback: immediately sends an external feedback message. It is restricted to MSP staff and requires an explicit user request to send feedback; the consolidated catalog does not mark it read-only.
Module scopes shown below are a summary, not a requirement to grant every scope. Read and write grants are distinct. The permission column lists alternatives unless it says all. Special staff-only gates and record-level checks still apply, including for administrators. A client-side tools allowlist cannot expand server access. For tool parameters, use the schema supplied by your connected server. Resolve records through accessible list/search tools and inspect pagination or truncation indicators; do not invent identifiers or treat one limited result page as the complete dataset.

Core

Module scopes: companies.read, companies.write, goals.read, planner.read, projects.read, reports.read, tickets.read

Tickets

Module scopes: tickets.read, tickets.write

Ticket Templates

Module scopes: ticket_templates.write

Devices

Module scopes: devices.read

Reporting

Module scopes: reports.read, reports.write

Analytics

Module scopes: analytics.read, companies.read, companies.write, training.read, users.read

Planner

Module scopes: planner.read, planner.write

Goals

Module scopes: goals.read, goals.write

Compliance

Module scopes: compliance.read, compliance.write

Meetings & Calendar

Module scopes: calendar.read, calendar.write

Security Awareness

Module scopes: training.read

Training

Module scopes: training.read, training.write

Budgets

Module scopes: budgets.read, budgets.write

Surveys

Module scopes: surveys.read, surveys.write

Automation

Module scopes: automation.read, automation.write

Users & Contacts

Module scopes: users.read, users.write

Microsoft 365 & Secure Score

Module scopes: m365.read

Backup

Module scopes: backup.read

Projects

Module scopes: projects.read, projects.write

Client Health

Module scopes: customer_success.read

Financials

Module scopes: financial.read

Integrations

Module scopes: integrations.read, integrations.write

Documentation

Module scopes: documentation.read, documentation.write

Onboarding

Module scopes: onboarding.read, onboarding.write

Technology Standards

Module scopes: standards.read, standards.write

Security

Module scopes: security.read

Broadcasts

Module scopes: broadcasts.read, broadcasts.write

Notifications

Module scopes: notifications.read, notifications.write

Dashboards

Module scopes: dashboards.read

User Directory

Module scopes: users.read

Frequently asked questions

The tables list operations, which are grouped into 93 public tools in the reviewed catalog. Your deployed server, consent scopes, permissions, company access, integrations and client filters can reduce that set further. The reference is not a grant of access.
No. Tool results go to your connected client. submit_feedback is a separate sending action, is not marked read-only in the consolidated catalog, and needs an explicit request to send feedback.
No. Proposal tools stage a confirmation, but immediate actions run directly. Read the access column and exact tool description before authorizing a call.
A confirmation applies the staged proposal. If you want a different target or change, request a new proposal and review it. Do not reuse an old confirmation for a new request.
No. Some operations return after scheduling work. Verify the saved record, job status or provider result appropriate to that tool.
No. It is an alias for check definitions. Use list_compliance_run_templates for reusable run templates and resolve the appropriate records before starting a run.