# Sage MCP MCP server

Agent View of the PolicyLayer registry record for Sage MCP: identity, probed posture, risk grade, and all 359 tools classified. HTML page: https://policylayer.com/tools/sagemcp-sagemcp

## Facts

- Server id: `sagemcp/sagemcp`
- Homepage: https://github.com/sagemcp/sagemcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 359
- Tool categories present: Destructive, Execute, Read, Write
- Tags: sagemcp sagemcp, admin, automation
- Record last modified: 2026-08-01T03:02:41.043Z

## Tools (359)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `claude_code_delete_invite` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-delete-invite.md |
| `claude_code_remove_user` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-remove-user.md |
| `codex_delete_user` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/codex-delete-user.md |
| `confluence_delete_page` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/confluence-delete-page.md |
| `copilot_remove_seats` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/copilot-remove-seats.md |
| `cursor_remove_member` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/cursor-remove-member.md |
| `discord_delete_message` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/discord-delete-message.md |
| `excel_clear_range` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/excel-clear-range.md |
| `excel_delete_worksheet` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/excel-delete-worksheet.md |
| `gmail_trash_message` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/gmail-trash-message.md |
| `google_sheets_batch_update` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-batch-update.md |
| `google_sheets_clear_range` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-clear-range.md |
| `google_sheets_delete_sheet` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-delete-sheet.md |
| `google_slides_delete_slide` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-delete-slide.md |
| `outlook_delete_message` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/outlook-delete-message.md |
| `powerpoint_delete_presentation` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-delete-presentation.md |
| `slack_reactions_remove` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/slack-reactions-remove.md |
| `zoom_delete_meeting` | Destructive | Critical | https://policylayer.com/tools/sagemcp-sagemcp/zoom-delete-meeting.md |
| `bitbucket_trigger_pipeline` | Execute | High | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-trigger-pipeline.md |
| `excel_run_formula` | Execute | High | https://policylayer.com/tools/sagemcp-sagemcp/excel-run-formula.md |
| `gitlab_retry_pipeline` | Execute | High | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-retry-pipeline.md |
| `copilot_add_seats` | Financial | Critical | https://policylayer.com/tools/sagemcp-sagemcp/copilot-add-seats.md |
| `cursor_set_user_spend_limit` | Financial | Critical | https://policylayer.com/tools/sagemcp-sagemcp/cursor-set-user-spend-limit.md |
| `bitbucket_get_diff` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-get-diff.md |
| `bitbucket_get_file` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-get-file.md |
| `bitbucket_get_issue` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-get-issue.md |
| `bitbucket_get_pipeline` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-get-pipeline.md |
| `bitbucket_get_pull_request` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-get-pull-request.md |
| `bitbucket_get_repository` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-get-repository.md |
| `bitbucket_list_branches` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-branches.md |
| `bitbucket_list_commits` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-commits.md |
| `bitbucket_list_issues` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-issues.md |
| `bitbucket_list_pipelines` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-pipelines.md |
| `bitbucket_list_pr_comments` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-pr-comments.md |
| `bitbucket_list_pull_requests` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-pull-requests.md |
| `bitbucket_list_repositories` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-repositories.md |
| `bitbucket_list_workspace_members` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-workspace-members.md |
| `bitbucket_list_workspaces` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-list-workspaces.md |
| `claude_code_get_code_analytics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-get-code-analytics.md |
| `claude_code_get_cost_breakdown` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-get-cost-breakdown.md |
| `claude_code_get_normalized_metrics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-get-normalized-metrics.md |
| `claude_code_get_org_info` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-get-org-info.md |
| `claude_code_get_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-get-usage.md |
| `claude_code_get_workspace` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-get-workspace.md |
| `claude_code_list_api_keys` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-list-api-keys.md |
| `claude_code_list_invites` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-list-invites.md |
| `claude_code_list_users` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-list-users.md |
| `claude_code_list_workspace_members` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-list-workspace-members.md |
| `claude_code_list_workspaces` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-list-workspaces.md |
| `codex_get_code_interpreter_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-get-code-interpreter-usage.md |
| `codex_get_completions_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-get-completions-usage.md |
| `codex_get_cost_breakdown` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-get-cost-breakdown.md |
| `codex_get_embeddings_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-get-embeddings-usage.md |
| `codex_get_normalized_metrics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-get-normalized-metrics.md |
| `codex_get_project` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-get-project.md |
| `codex_list_audit_events` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-list-audit-events.md |
| `codex_list_invites` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-list-invites.md |
| `codex_list_project_api_keys` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-list-project-api-keys.md |
| `codex_list_projects` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-list-projects.md |
| `codex_list_service_accounts` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-list-service-accounts.md |
| `codex_list_users` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/codex-list-users.md |
| `confluence_get_page` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-get-page.md |
| `confluence_get_page_children` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-get-page-children.md |
| `confluence_get_page_history` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-get-page-history.md |
| `confluence_get_page_labels` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-get-page-labels.md |
| `confluence_get_space` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-get-space.md |
| `confluence_list_page_attachments` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-list-page-attachments.md |
| `confluence_list_page_comments` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-list-page-comments.md |
| `confluence_list_pages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-list-pages.md |
| `confluence_list_spaces` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-list-spaces.md |
| `confluence_search_content` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/confluence-search-content.md |
| `copilot_get_acceptance_rate` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-acceptance-rate.md |
| `copilot_get_billing_info` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-billing-info.md |
| `copilot_get_chat_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-chat-usage.md |
| `copilot_get_content_exclusions` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-content-exclusions.md |
| `copilot_get_legacy_metrics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-legacy-metrics.md |
| `copilot_get_normalized_metrics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-normalized-metrics.md |
| `copilot_get_org_config` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-org-config.md |
| `copilot_get_org_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-org-usage.md |
| `copilot_get_pr_summary_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-pr-summary-usage.md |
| `copilot_get_seat_details` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-seat-details.md |
| `copilot_get_usage_by_editor` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-usage-by-editor.md |
| `copilot_get_usage_by_language` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-usage-by-language.md |
| `copilot_get_usage_trends` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-usage-trends.md |
| `copilot_get_user_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-get-user-usage.md |
| `copilot_list_audit_events` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-list-audit-events.md |
| `copilot_list_inactive_seats` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-list-inactive-seats.md |
| `copilot_list_seat_assignments` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/copilot-list-seat-assignments.md |
| `cursor_get_agent_edits` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-agent-edits.md |
| `cursor_get_client_versions` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-client-versions.md |
| `cursor_get_commands_adoption` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-commands-adoption.md |
| `cursor_get_daily_active_users` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-daily-active-users.md |
| `cursor_get_daily_usage_data` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-daily-usage-data.md |
| `cursor_get_leaderboard` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-leaderboard.md |
| `cursor_get_mcp_adoption` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-mcp-adoption.md |
| `cursor_get_model_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-model-usage.md |
| `cursor_get_normalized_metrics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-normalized-metrics.md |
| `cursor_get_repo_blocklists` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-repo-blocklists.md |
| `cursor_get_spending` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-spending.md |
| `cursor_get_tab_usage` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-tab-usage.md |
| `cursor_get_top_file_extensions` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-top-file-extensions.md |
| `cursor_get_usage_events` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-get-usage-events.md |
| `cursor_list_audit_events` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-list-audit-events.md |
| `cursor_list_members` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/cursor-list-members.md |
| `discord_get_channel` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-get-channel.md |
| `discord_get_guild` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-get-guild.md |
| `discord_get_user` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-get-user.md |
| `discord_list_channels` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-list-channels.md |
| `discord_list_guild_members` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-list-guild-members.md |
| `discord_list_guilds` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-list-guilds.md |
| `discord_list_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-list-messages.md |
| `discord_list_roles` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-list-roles.md |
| `discord_list_threads` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-list-threads.md |
| `discord_search_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/discord-search-messages.md |
| `excel_get_used_range` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/excel-get-used-range.md |
| `excel_get_workbook` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/excel-get-workbook.md |
| `excel_list_tables` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/excel-list-tables.md |
| `excel_list_workbooks` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/excel-list-workbooks.md |
| `excel_list_worksheets` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/excel-list-worksheets.md |
| `excel_read_range` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/excel-read-range.md |
| `github_check_token_scopes` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-check-token-scopes.md |
| `github_compare_commits` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-compare-commits.md |
| `github_get_branch` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-branch.md |
| `github_get_commit` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-commit.md |
| `github_get_file_content` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-file-content.md |
| `github_get_issue` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-issue.md |
| `github_get_release` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-release.md |
| `github_get_repo_stats` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-repo-stats.md |
| `github_get_repository` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-repository.md |
| `github_get_user_activity` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-user-activity.md |
| `github_get_user_info` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-user-info.md |
| `github_get_user_stats` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-user-stats.md |
| `github_get_workflow_run` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-get-workflow-run.md |
| `github_list_branches` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-branches.md |
| `github_list_commits` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-commits.md |
| `github_list_contributors` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-contributors.md |
| `github_list_issues` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-issues.md |
| `github_list_organizations` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-organizations.md |
| `github_list_pull_requests` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-pull-requests.md |
| `github_list_releases` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-releases.md |
| `github_list_repositories` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-repositories.md |
| `github_list_workflow_runs` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-workflow-runs.md |
| `github_list_workflows` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-list-workflows.md |
| `github_search_issues` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-search-issues.md |
| `github_search_repositories` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-search-repositories.md |
| `github_search_users_by_email` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/github-search-users-by-email.md |
| `gitlab_get_file` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-get-file.md |
| `gitlab_get_issue` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-get-issue.md |
| `gitlab_get_merge_request` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-get-merge-request.md |
| `gitlab_get_pipeline` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-get-pipeline.md |
| `gitlab_get_project` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-get-project.md |
| `gitlab_get_repository_tree` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-get-repository-tree.md |
| `gitlab_list_branches` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-branches.md |
| `gitlab_list_commits` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-commits.md |
| `gitlab_list_groups` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-groups.md |
| `gitlab_list_issues` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-issues.md |
| `gitlab_list_labels` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-labels.md |
| `gitlab_list_merge_requests` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-merge-requests.md |
| `gitlab_list_milestones` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-milestones.md |
| `gitlab_list_mr_discussions` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-mr-discussions.md |
| `gitlab_list_pipelines` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-pipelines.md |
| `gitlab_list_project_members` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-project-members.md |
| `gitlab_list_projects` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-list-projects.md |
| `gitlab_search_users` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-search-users.md |
| `gmail_get_message` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gmail-get-message.md |
| `gmail_get_thread` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gmail-get-thread.md |
| `gmail_list_drafts` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gmail-list-drafts.md |
| `gmail_list_labels` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gmail-list-labels.md |
| `gmail_list_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gmail-list-messages.md |
| `gmail_list_threads` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gmail-list-threads.md |
| `gmail_search_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/gmail-search-messages.md |
| `google_docs_export_document` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-export-document.md |
| `google_docs_get_document` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-get-document.md |
| `google_docs_get_permissions` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-get-permissions.md |
| `google_docs_list_documents` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-list-documents.md |
| `google_docs_list_shared_documents` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-list-shared-documents.md |
| `google_docs_read_document_content` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-read-document-content.md |
| `google_docs_search_documents` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-search-documents.md |
| `google_sheets_get_sheet_metadata` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-get-sheet-metadata.md |
| `google_sheets_get_spreadsheet` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-get-spreadsheet.md |
| `google_sheets_list_spreadsheets` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-list-spreadsheets.md |
| `google_sheets_read_range` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-read-range.md |
| `google_sheets_search_spreadsheets` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-search-spreadsheets.md |
| `google_slides_get_presentation` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-get-presentation.md |
| `google_slides_get_slide` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-get-slide.md |
| `google_slides_get_speaker_notes` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-get-speaker-notes.md |
| `google_slides_list_presentations` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-list-presentations.md |
| `jira_get_board` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-board.md |
| `jira_get_comments` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-comments.md |
| `jira_get_current_user` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-current-user.md |
| `jira_get_issue` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-issue.md |
| `jira_get_project` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-project.md |
| `jira_get_sprint` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-sprint.md |
| `jira_get_sprint_issues` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-sprint-issues.md |
| `jira_get_transitions` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-transitions.md |
| `jira_get_version` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-get-version.md |
| `jira_list_boards` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-list-boards.md |
| `jira_list_projects` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-list-projects.md |
| `jira_list_sprints` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-list-sprints.md |
| `jira_list_versions` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-list-versions.md |
| `jira_search_issues` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-search-issues.md |
| `jira_search_users` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/jira-search-users.md |
| `linear_get_cycle` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-get-cycle.md |
| `linear_get_issue` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-get-issue.md |
| `linear_get_project` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-get-project.md |
| `linear_get_team` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-get-team.md |
| `linear_get_user_by_email` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-get-user-by-email.md |
| `linear_list_comments` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-list-comments.md |
| `linear_list_cycles` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-list-cycles.md |
| `linear_list_issues` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-list-issues.md |
| `linear_list_labels` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-list-labels.md |
| `linear_list_projects` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-list-projects.md |
| `linear_list_teams` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-list-teams.md |
| `linear_list_users` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-list-users.md |
| `linear_list_workflow_states` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-list-workflow-states.md |
| `linear_search_issues` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/linear-search-issues.md |
| `notion_get_block` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/notion-get-block.md |
| `notion_get_database` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/notion-get-database.md |
| `notion_get_page` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/notion-get-page.md |
| `notion_get_page_content` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/notion-get-page-content.md |
| `notion_list_databases` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/notion-list-databases.md |
| `notion_query_database` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/notion-query-database.md |
| `notion_search` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/notion-search.md |
| `outlook_get_attachment` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/outlook-get-attachment.md |
| `outlook_get_message` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/outlook-get-message.md |
| `outlook_list_attachments` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/outlook-list-attachments.md |
| `outlook_list_focused_inbox` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/outlook-list-focused-inbox.md |
| `outlook_list_folders` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/outlook-list-folders.md |
| `outlook_list_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/outlook-list-messages.md |
| `outlook_search_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/outlook-search-messages.md |
| `powerpoint_export_pdf` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-export-pdf.md |
| `powerpoint_get_presentation` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-get-presentation.md |
| `powerpoint_get_slide_content` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-get-slide-content.md |
| `powerpoint_list_presentations` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-list-presentations.md |
| `powerpoint_list_slides` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-list-slides.md |
| `slack_auth_test` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-auth-test.md |
| `slack_conversations_history` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-conversations-history.md |
| `slack_conversations_info` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-conversations-info.md |
| `slack_conversations_list` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-conversations-list.md |
| `slack_conversations_replies` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-conversations-replies.md |
| `slack_conversations_search_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-conversations-search-messages.md |
| `slack_users_info` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-users-info.md |
| `slack_users_list` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-users-list.md |
| `slack_users_lookup_by_email` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/slack-users-lookup-by-email.md |
| `teams_get_channel` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-get-channel.md |
| `teams_get_channel_message` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-get-channel-message.md |
| `teams_get_team` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-get-team.md |
| `teams_get_user_by_email` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-get-user-by-email.md |
| `teams_list_channel_members` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-list-channel-members.md |
| `teams_list_channel_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-list-channel-messages.md |
| `teams_list_channels` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-list-channels.md |
| `teams_list_chat_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-list-chat-messages.md |
| `teams_list_chats` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-list-chats.md |
| `teams_list_team_members` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-list-team-members.md |
| `teams_list_teams` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-list-teams.md |
| `teams_search_messages` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/teams-search-messages.md |
| `windsurf_get_analytics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-get-analytics.md |
| `windsurf_get_cascade_analytics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-get-cascade-analytics.md |
| `windsurf_get_credit_balance` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-get-credit-balance.md |
| `windsurf_get_normalized_metrics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-get-normalized-metrics.md |
| `windsurf_get_seat_info` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-get-seat-info.md |
| `windsurf_get_spending_breakdown` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-get-spending-breakdown.md |
| `windsurf_get_usage_config` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-get-usage-config.md |
| `windsurf_get_user_analytics` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-get-user-analytics.md |
| `windsurf_list_audit_events` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-list-audit-events.md |
| `windsurf_list_members` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-list-members.md |
| `zoom_get_meeting` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-get-meeting.md |
| `zoom_get_meeting_invitation` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-get-meeting-invitation.md |
| `zoom_get_meeting_recordings` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-get-meeting-recordings.md |
| `zoom_get_user` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-get-user.md |
| `zoom_get_webinar` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-get-webinar.md |
| `zoom_list_meeting_participants` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-list-meeting-participants.md |
| `zoom_list_meetings` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-list-meetings.md |
| `zoom_list_recordings` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-list-recordings.md |
| `zoom_list_webinars` | Read | Low | https://policylayer.com/tools/sagemcp-sagemcp/zoom-list-webinars.md |
| `bitbucket_add_pr_comment` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-add-pr-comment.md |
| `bitbucket_create_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-create-issue.md |
| `bitbucket_create_pull_request` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/bitbucket-create-pull-request.md |
| `claude_code_add_workspace_member` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-add-workspace-member.md |
| `claude_code_create_invite` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-create-invite.md |
| `claude_code_create_workspace` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-create-workspace.md |
| `claude_code_update_api_key` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-update-api-key.md |
| `claude_code_update_user_role` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/claude-code-update-user-role.md |
| `codex_create_invite` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/codex-create-invite.md |
| `codex_create_project` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/codex-create-project.md |
| `codex_modify_user` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/codex-modify-user.md |
| `confluence_add_comment` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/confluence-add-comment.md |
| `confluence_add_label` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/confluence-add-label.md |
| `confluence_create_page` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/confluence-create-page.md |
| `confluence_update_page` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/confluence-update-page.md |
| `discord_add_reaction` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/discord-add-reaction.md |
| `discord_create_thread` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/discord-create-thread.md |
| `discord_edit_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/discord-edit-message.md |
| `discord_send_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/discord-send-message.md |
| `excel_add_worksheet` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/excel-add-worksheet.md |
| `excel_append_rows` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/excel-append-rows.md |
| `excel_create_table` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/excel-create-table.md |
| `excel_create_workbook` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/excel-create-workbook.md |
| `excel_write_range` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/excel-write-range.md |
| `github_create_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/github-create-issue.md |
| `github_update_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/github-update-issue.md |
| `gitlab_add_mr_note` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-add-mr-note.md |
| `gitlab_create_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-create-issue.md |
| `gitlab_create_merge_request` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-create-merge-request.md |
| `gitlab_update_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gitlab-update-issue.md |
| `gmail_create_draft` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gmail-create-draft.md |
| `gmail_create_label` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gmail-create-label.md |
| `gmail_forward_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gmail-forward-message.md |
| `gmail_modify_labels` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gmail-modify-labels.md |
| `gmail_reply_to_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gmail-reply-to-message.md |
| `gmail_send_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gmail-send-message.md |
| `gmail_untrash_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/gmail-untrash-message.md |
| `google_docs_append_text` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-append-text.md |
| `google_docs_create_document` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-create-document.md |
| `google_docs_insert_text` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-docs-insert-text.md |
| `google_sheets_add_sheet` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-add-sheet.md |
| `google_sheets_append_rows` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-append-rows.md |
| `google_sheets_create_spreadsheet` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-create-spreadsheet.md |
| `google_sheets_find_and_replace` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-find-and-replace.md |
| `google_sheets_format_range` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-format-range.md |
| `google_sheets_write_range` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-sheets-write-range.md |
| `google_slides_add_slide` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-add-slide.md |
| `google_slides_add_text` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-add-text.md |
| `google_slides_create_presentation` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-create-presentation.md |
| `google_slides_duplicate_slide` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-duplicate-slide.md |
| `google_slides_replace_text` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-replace-text.md |
| `google_slides_update_speaker_notes` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/google-slides-update-speaker-notes.md |
| `jira_add_comment` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/jira-add-comment.md |
| `jira_assign_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/jira-assign-issue.md |
| `jira_create_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/jira-create-issue.md |
| `jira_transition_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/jira-transition-issue.md |
| `jira_update_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/jira-update-issue.md |
| `linear_add_comment` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/linear-add-comment.md |
| `linear_archive_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/linear-archive-issue.md |
| `linear_create_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/linear-create-issue.md |
| `linear_create_project` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/linear-create-project.md |
| `linear_update_issue` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/linear-update-issue.md |
| `notion_append_block_children` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/notion-append-block-children.md |
| `notion_create_page` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/notion-create-page.md |
| `notion_update_page` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/notion-update-page.md |
| `outlook_create_draft` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/outlook-create-draft.md |
| `outlook_create_folder` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/outlook-create-folder.md |
| `outlook_flag_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/outlook-flag-message.md |
| `outlook_forward_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/outlook-forward-message.md |
| `outlook_move_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/outlook-move-message.md |
| `outlook_reply_to_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/outlook-reply-to-message.md |
| `outlook_send_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/outlook-send-message.md |
| `powerpoint_copy_presentation` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-copy-presentation.md |
| `powerpoint_create_presentation` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-create-presentation.md |
| `powerpoint_move_presentation` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-move-presentation.md |
| `powerpoint_upload_presentation` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/powerpoint-upload-presentation.md |
| `slack_conversations_add_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/slack-conversations-add-message.md |
| `slack_reactions_add` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/slack-reactions-add.md |
| `teams_reply_to_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/teams-reply-to-message.md |
| `teams_send_channel_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/teams-send-channel-message.md |
| `teams_send_chat_message` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/teams-send-chat-message.md |
| `windsurf_set_usage_config` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/windsurf-set-usage-config.md |
| `zoom_create_meeting` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/zoom-create-meeting.md |
| `zoom_update_meeting` | Write | Medium | https://policylayer.com/tools/sagemcp-sagemcp/zoom-update-meeting.md |

## Tool descriptions

- `claude_code_delete_invite` — Delete a pending invitation
- `claude_code_remove_user` — Remove a user from the organization
- `codex_delete_user` — Remove a user from the organization
- `confluence_delete_page` — Delete a Confluence page by ID
- `copilot_remove_seats` — Remove Copilot seats for specified users in an organization
- `cursor_remove_member` — Remove a member from the Cursor team by user ID
- `discord_delete_message` — Delete a message from a channel
- `excel_clear_range` — Clear the contents of a cell range in a worksheet (formatting is preserved)
- `excel_delete_worksheet` — Delete a worksheet (tab) from a workbook
- `gmail_trash_message` — Move a message to the trash
- `google_sheets_batch_update` — Execute one or more batch update requests on a spreadsheet. Supports any Sheets API batchUpdate request type (addSheet, deleteSheet, updateCells, mergeCells, etc.)
- `google_sheets_clear_range` — Clear all values from a range of cells in a Google Sheets spreadsheet (formatting is preserved)
- `google_sheets_delete_sheet` — Delete a sheet (tab) from a Google Sheets spreadsheet by its sheet ID
- `google_slides_delete_slide` — Delete a slide from a presentation by its object ID
- `outlook_delete_message` — Delete an email message. Moves to Deleted Items folder.
- `powerpoint_delete_presentation` — Delete a PowerPoint presentation from OneDrive. This moves the file to the recycle bin.
- `slack_reactions_remove` — Remove an emoji reaction from a message
- `zoom_delete_meeting` — Delete a scheduled meeting
- `bitbucket_trigger_pipeline` — Trigger a new pipeline run for a branch or commit
- `excel_run_formula` — Write a formula to a specific cell and return the computed result. The formula is written, the cell is read back to get the calculated value.
- `gitlab_retry_pipeline` — Retry all failed jobs in a pipeline
- `copilot_add_seats` — Add Copilot seats for specified users in an organization
- `cursor_set_user_spend_limit` — Set a spending limit in USD for a specific team member
- `bitbucket_get_diff` — Get the diff of a pull request
- `bitbucket_get_file` — Get the content of a file from a Bitbucket repository
- `bitbucket_get_issue` — Get details of a specific issue
- `bitbucket_get_pipeline` — Get details of a specific pipeline run
- `bitbucket_get_pull_request` — Get details of a specific pull request
- `bitbucket_get_repository` — Get detailed information about a Bitbucket repository
- `bitbucket_list_branches` — List branches for a Bitbucket repository
- `bitbucket_list_commits` — List commits for a Bitbucket repository
- `bitbucket_list_issues` — List issues for a Bitbucket repository (requires issue tracker to be enabled)
- `bitbucket_list_pipelines` — List pipelines for a Bitbucket repository
- `bitbucket_list_pr_comments` — List comments on a pull request
- `bitbucket_list_pull_requests` — List pull requests for a Bitbucket repository
- `bitbucket_list_repositories` — List repositories in a Bitbucket workspace
- `bitbucket_list_workspace_members` — List members of a Bitbucket workspace
- `bitbucket_list_workspaces` — List workspaces the authenticated user belongs to
- `claude_code_get_code_analytics` — Get Claude Code specific analytics for the organization
- `claude_code_get_cost_breakdown` — Get cost breakdown data for the Anthropic organization
- `claude_code_get_normalized_metrics` — Get normalized CodingToolMetrics by aggregating usage, cost, and code analytics data for cross-tool comparison
- `claude_code_get_org_info` — Get information about the current Anthropic organization
- `claude_code_get_usage` — Get message usage data for the Anthropic organization
- `claude_code_get_workspace` — Get details of a specific workspace
- `claude_code_list_api_keys` — List API keys for the organization
- `claude_code_list_invites` — List pending invitations for the organization
- `claude_code_list_users` — List users in the Anthropic organization
- `claude_code_list_workspace_members` — List members of a specific workspace
- `claude_code_list_workspaces` — List workspaces in the organization
- `codex_get_code_interpreter_usage` — Get Code Interpreter session usage data for the organization
- `codex_get_completions_usage` — Get completions usage data for the organization, broken down by time buckets and optional grouping dimensions
- `codex_get_cost_breakdown` — Get cost data for the organization, broken down by time buckets and optional grouping dimensions
- `codex_get_embeddings_usage` — Get embeddings usage data for the organization, broken down by time buckets and optional grouping dimensions
- `codex_get_normalized_metrics` — Get normalized CodingToolMetrics for cross-tool comparison. Combines completions usage and cost data into a standard schema.
- `codex_get_project` — Get details of a specific project
- `codex_list_audit_events` — List audit log events for the organization, with optional filters
- `codex_list_invites` — List pending invitations in the organization
- `codex_list_project_api_keys` — List API keys associated with a project
- `codex_list_projects` — List all projects in the organization
- `codex_list_service_accounts` — List service accounts for a project
- `codex_list_users` — List all users in the organization
- `confluence_get_page` — Get a Confluence page by ID, including its body content in storage format
- `confluence_get_page_children` — Get child pages of a Confluence page
- `confluence_get_page_history` — Get version history of a Confluence page
- `confluence_get_page_labels` — Get labels on a Confluence page
- `confluence_get_space` — Get detailed information about a Confluence space by its ID
- `confluence_list_page_attachments` — List attachments on a Confluence page
- `confluence_list_page_comments` — Get footer comments on a Confluence page
- `confluence_list_pages` — List pages in Confluence, optionally filtered by space
- `confluence_list_spaces` — List Confluence spaces
- `confluence_search_content` — Search Confluence content using CQL (Confluence Query Language). Example: type=page AND space.key=DEV AND text~
- `copilot_get_acceptance_rate` — Compute the suggestion acceptance rate from daily org usage data
- `copilot_get_billing_info` — Get Copilot billing information and seat summary for an organization
- `copilot_get_chat_usage` — Get Copilot Chat usage metrics for an organization
- `copilot_get_content_exclusions` — Get Copilot content exclusion rules for an organization
- `copilot_get_legacy_metrics` — Get legacy Copilot metrics (deprecated endpoint, use org usage for new integrations)
- `copilot_get_normalized_metrics` — Get normalized CodingToolMetrics for cross-tool comparison
- `copilot_get_org_config` — Get Copilot feature policies and configuration for an organization
- `copilot_get_org_usage` — Get daily Copilot usage metrics for an organization (1-day granularity)
- `copilot_get_pr_summary_usage` — Get Copilot pull request summary usage metrics
- `copilot_get_seat_details` — Get Copilot seat details for a specific organization member
- `copilot_get_usage_by_editor` — Break down Copilot usage by editor/IDE
- `copilot_get_usage_by_language` — Break down Copilot usage by programming language
- `copilot_get_usage_trends` — Get 28-day rolling usage trends for an organization
- `copilot_get_user_usage` — Get per-user daily Copilot usage metrics for an organization
- `copilot_list_audit_events` — List Copilot-related audit log events for an organization
- `copilot_list_inactive_seats` — List Copilot seats inactive for a given number of days
- `copilot_list_seat_assignments` — List all Copilot seat assignments for an organization
- `cursor_get_agent_edits` — Get team agent edit analytics for a date range
- `cursor_get_client_versions` — Get client version distribution for the team over a date range
- `cursor_get_commands_adoption` — Get commands adoption analytics for a date range
- `cursor_get_daily_active_users` — Get daily active user counts for a date range
- `cursor_get_daily_usage_data` — Get detailed daily usage data for a date range
- `cursor_get_leaderboard` — Get team usage leaderboard for a date range
- `cursor_get_mcp_adoption` — Get MCP (Model Context Protocol) adoption analytics for a date range
- `cursor_get_model_usage` — Get model usage breakdown for a date range
- `cursor_get_normalized_metrics` — Get normalized CodingToolMetrics for cross-tool comparison (DAU, spending, members)
- `cursor_get_repo_blocklists` — Get the list of blocked repositories for the team
- `cursor_get_spending` — Get team spending breakdown for a date range
- `cursor_get_tab_usage` — Get team tab/autocomplete usage analytics for a date range
- `cursor_get_top_file_extensions` — Get top file extensions used by the team for a date range
- `cursor_get_usage_events` — Get filtered usage events for specific users and event types
- `cursor_list_audit_events` — List audit log events with optional pagination
- `cursor_list_members` — List all members of the Cursor team
- `discord_get_channel` — Get detailed information about a specific channel
- `discord_get_guild` — Get detailed information about a specific guild (server) by ID
- `discord_get_user` — Get information about the current authenticated user
- `discord_list_channels` — List all channels in a guild
- `discord_list_guild_members` — List members of a guild
- `discord_list_guilds` — List guilds (servers) the bot/user is a member of
- `discord_list_messages` — List recent messages in a channel
- `discord_list_roles` — List all roles in a guild
- `discord_list_threads` — List all active threads in a guild
- `discord_search_messages` — Search messages in a guild by content
- `excel_get_used_range` — Get the used range (bounding rectangle of all cells with data) for a worksheet
- `excel_get_workbook` — Get metadata for an Excel workbook (name, size, last modified, web URL) by its drive item ID
- `excel_list_tables` — List all tables in an Excel workbook
- `excel_list_workbooks` — List Excel workbooks (.xlsx) from the user
- `excel_list_worksheets` — List all worksheets (tabs) in an Excel workbook
- `excel_read_range` — Read values from a cell range in a worksheet using A1 notation (e.g.,
- `github_check_token_scopes` — Check the current OAuth token
- `github_compare_commits` — Compare two commits or branches to see differences
- `github_get_branch` — Get detailed information about a specific branch
- `github_get_commit` — Get details of a specific commit including files changed, stats, and diff
- `github_get_file_content` — Get the content of a file from a repository
- `github_get_issue` — Get details of a specific issue
- `github_get_release` — Get details of a specific release
- `github_get_repo_stats` — Get detailed statistics about a repository (languages, activity, etc.)
- `github_get_repository` — Get detailed information about a repository
- `github_get_user_activity` — Get user
- `github_get_user_info` — Get information about a specific GitHub user
- `github_get_user_stats` — Get statistics about a user
- `github_get_workflow_run` — Get details of a specific workflow run
- `github_list_branches` — List branches for a repository
- `github_list_commits` — List commits for a repository or branch
- `github_list_contributors` — List contributors to a repository with contribution stats
- `github_list_issues` — List issues for a repository
- `github_list_organizations` — List organizations the user belongs to
- `github_list_pull_requests` — List pull requests for a repository
- `github_list_releases` — List releases for a repository
- `github_list_repositories` — List repositories for the authenticated user
- `github_list_workflow_runs` — List workflow runs for a repository or specific workflow
- `github_list_workflows` — List GitHub Actions workflows for a repository
- `github_search_issues` — Search for issues and pull requests across all accessible repositories using GitHub
- `github_search_repositories` — Search for repositories
- `github_search_users_by_email` — Search for GitHub users by email address. Only matches users who have set their email as public on GitHub.
- `gitlab_get_file` — Get the content of a file from a repository
- `gitlab_get_issue` — Get details of a specific issue
- `gitlab_get_merge_request` — Get details of a specific merge request
- `gitlab_get_pipeline` — Get details of a specific pipeline
- `gitlab_get_project` — Get detailed information about a project
- `gitlab_get_repository_tree` — Get the repository file/directory tree
- `gitlab_list_branches` — List repository branches
- `gitlab_list_commits` — List repository commits
- `gitlab_list_groups` — List groups accessible to the authenticated user
- `gitlab_list_issues` — List issues for a project
- `gitlab_list_labels` — List labels for a project
- `gitlab_list_merge_requests` — List merge requests for a project
- `gitlab_list_milestones` — List milestones for a project
- `gitlab_list_mr_discussions` — List discussions (comment threads) on a merge request
- `gitlab_list_pipelines` — List pipelines for a project
- `gitlab_list_project_members` — List members of a project
- `gitlab_list_projects` — List projects accessible to the authenticated user
- `gitlab_search_users` — Search GitLab users by email or username. For non-admin tokens, only matches public emails.
- `gmail_get_message` — Get a specific message by ID with full content including headers and body
- `gmail_get_thread` — Get a specific email thread by ID with all messages
- `gmail_list_drafts` — List draft messages in the user
- `gmail_list_labels` — List all labels in the user
- `gmail_list_messages` — List messages in the user
- `gmail_list_threads` — List email threads in the user
- `gmail_search_messages` — Search messages using Gmail search syntax (e.g.,
- `google_docs_export_document` — Export a Google Doc in various formats (PDF, TXT, HTML, DOCX)
- `google_docs_get_document` — Get detailed metadata about a specific Google Doc
- `google_docs_get_permissions` — Get sharing permissions for a Google Doc
- `google_docs_list_documents` — List Google Docs documents accessible to the user. Use owner_email to find docs owned by a specific person.
- `google_docs_list_shared_documents` — List Google Docs that have been shared with the user
- `google_docs_read_document_content` — Read the full content of a Google Doc as structured text
- `google_docs_search_documents` — Search for Google Docs by title or content. Use owner_email to find docs owned by a specific person.
- `google_sheets_get_sheet_metadata` — Get metadata for all sheets (tabs) in a spreadsheet, including sheet IDs, titles, row/column counts, and frozen rows/columns
- `google_sheets_get_spreadsheet` — Get detailed metadata about a specific Google Sheets spreadsheet including sheet names, row/column counts, and properties
- `google_sheets_list_spreadsheets` — List Google Sheets spreadsheets accessible to the user. Use owner_email to find sheets owned by a specific person.
- `google_sheets_read_range` — Read values from a range of cells in a Google Sheets spreadsheet using A1 notation (e.g.,
- `google_sheets_search_spreadsheets` — Search for Google Sheets spreadsheets by name. Use owner_email to filter by owner.
- `google_slides_get_presentation` — Get detailed metadata and structure of a Google Slides presentation
- `google_slides_get_slide` — Get details of a specific slide by its 0-based index in the presentation
- `google_slides_get_speaker_notes` — Get the speaker notes for a specific slide by its 0-based index
- `google_slides_list_presentations` — List Google Slides presentations accessible to the user
- `jira_get_board` — Get detailed information about a board
- `jira_get_comments` — Get all comments for an issue
- `jira_get_current_user` — Get information about the currently authenticated user
- `jira_get_issue` — Get detailed information about a specific Jira issue
- `jira_get_project` — Get detailed information about a project
- `jira_get_sprint` — Get detailed information about a sprint
- `jira_get_sprint_issues` — Get all issues in a sprint
- `jira_get_transitions` — Get available workflow transitions for an issue
- `jira_get_version` — Get detailed information about a version/release
- `jira_list_boards` — List all Jira boards
- `jira_list_projects` — List all accessible Jira projects
- `jira_list_sprints` — List sprints for a board
- `jira_list_versions` — List versions/releases for a project
- `jira_search_issues` — Search for Jira issues using JQL (Jira Query Language)
- `jira_search_users` — Search for Jira users
- `linear_get_cycle` — Get a Linear cycle by ID
- `linear_get_issue` — Get a Linear issue by ID
- `linear_get_project` — Get a Linear project by ID
- `linear_get_team` — Get a Linear team by ID with members
- `linear_get_user_by_email` — Look up a Linear organization member by their email address
- `linear_list_comments` — List comments on a Linear issue
- `linear_list_cycles` — List cycles for a Linear team
- `linear_list_issues` — List Linear issues with optional team, project, and state filters
- `linear_list_labels` — List all issue labels in the Linear organization
- `linear_list_projects` — List Linear projects, optionally filtered by team
- `linear_list_teams` — List all Linear teams in the organization
- `linear_list_users` — List users in the Linear organization
- `linear_list_workflow_states` — List workflow states for a Linear team
- `linear_search_issues` — Search Linear issues by text query
- `notion_get_block` — Get a specific block by ID
- `notion_get_database` — Get a Notion database by ID
- `notion_get_page` — Get a Notion page by ID
- `notion_get_page_content` — Get the content blocks of a Notion page
- `notion_list_databases` — List all Notion databases accessible to the integration
- `notion_query_database` — Query a Notion database to retrieve pages/entries
- `notion_search` — Search for pages and databases by title
- `outlook_get_attachment` — Get metadata and content for a specific attachment on an email message.
- `outlook_get_message` — Get a specific email message by its ID, including full body content and metadata.
- `outlook_list_attachments` — List all attachments on a specific email message, including file names, sizes, and content types.
- `outlook_list_focused_inbox` — List messages from the Focused Inbox. Returns only messages classified as
- `outlook_list_folders` — List all mail folders in the user
- `outlook_list_messages` — List messages from inbox or a specific mail folder. Supports OData query parameters for filtering, sorting, and field selection.
- `outlook_search_messages` — Search email messages using Microsoft Graph $search query syntax. Searches across subject, body, and other fields.
- `powerpoint_export_pdf` — Export a PowerPoint presentation as a PDF. Returns the PDF download URL or content metadata.
- `powerpoint_get_presentation` — Get metadata for a specific PowerPoint presentation (file size, created/modified dates, download URL, etc.)
- `powerpoint_get_slide_content` — Get a preview/embed URL for a PowerPoint presentation. Useful for inspecting slide content without downloading the binary file.
- `powerpoint_list_presentations` — List PowerPoint (.pptx) files from the user
- `powerpoint_list_slides` — List slide thumbnails for a PowerPoint presentation. Returns thumbnail URLs and dimensions for each slide.
- `slack_auth_test` — Check authentication and get workspace/user information
- `slack_conversations_history` — Get messages from a channel or direct message by channel_id
- `slack_conversations_info` — Get information about a specific channel
- `slack_conversations_list` — List channels available in the workspace
- `slack_conversations_replies` — Get a thread of messages posted to a conversation by channel_id and thread_ts
- `slack_conversations_search_messages` — Search messages in channels, threads, and DMs using various filters
- `slack_users_info` — Get information about a specific user
- `slack_users_list` — List all users in the workspace
- `slack_users_lookup_by_email` — Look up a Slack user by their email address. Requires the users:read.email scope.
- `teams_get_channel` — Get details of a specific channel in a team
- `teams_get_channel_message` — Get a specific message in a channel
- `teams_get_team` — Get details of a specific team
- `teams_get_user_by_email` — Look up a Microsoft 365 user by email address using Microsoft Graph
- `teams_list_channel_members` — List members of a specific channel in a team
- `teams_list_channel_messages` — List messages in a channel. Returns the most recent messages.
- `teams_list_channels` — List channels in a team
- `teams_list_chat_messages` — List messages in a chat
- `teams_list_chats` — List chats the authenticated user is part of
- `teams_list_team_members` — List members of a team
- `teams_list_teams` — List teams the authenticated user is a member of
- `teams_search_messages` — Search across messages in the user
- `windsurf_get_analytics` — Get team-wide analytics for Windsurf/Codeium usage over a date range
- `windsurf_get_cascade_analytics` — Get Cascade (AI agent) usage analytics over a date range
- `windsurf_get_credit_balance` — Get the team
- `windsurf_get_normalized_metrics` — Get normalized CodingToolMetrics for cross-tool comparison.
- `windsurf_get_seat_info` — Get team seat allocation info (stub -- API not publicly available,
- `windsurf_get_spending_breakdown` — Get detailed spending breakdown (stub -- API not publicly available,
- `windsurf_get_usage_config` — Get the current Windsurf/Codeium usage configuration for the team
- `windsurf_get_user_analytics` — Get per-user analytics for a specific team member over a date range
- `windsurf_list_audit_events` — List audit events (stub -- API not publicly available,
- `windsurf_list_members` — List team members (stub -- API not publicly available,
- `zoom_get_meeting` — Get details of a specific meeting by ID
- `zoom_get_meeting_invitation` — Get the meeting invitation text/HTML
- `zoom_get_meeting_recordings` — Get all recordings for a specific meeting
- `zoom_get_user` — Get user profile information
- `zoom_get_webinar` — Get details of a specific webinar by ID
- `zoom_list_meeting_participants` — Get participants for a past meeting instance
- `zoom_list_meetings` — List all scheduled meetings for the authenticated user
- `zoom_list_recordings` — List cloud recordings for the authenticated user
- `zoom_list_webinars` — List all webinars for the authenticated user
- `bitbucket_add_pr_comment` — Add a comment to a pull request
- `bitbucket_create_issue` — Create a new issue in a Bitbucket repository (requires issue tracker to be enabled)
- `bitbucket_create_pull_request` — Create a new pull request in a Bitbucket repository
- `claude_code_add_workspace_member` — Add a member to a workspace
- `claude_code_create_invite` — Invite a user to the organization
- `claude_code_create_workspace` — Create a new workspace in the organization
- `claude_code_update_api_key` — Update an API key
- `claude_code_update_user_role` — Update a user
- `codex_create_invite` — Invite a new user to the organization by email
- `codex_create_project` — Create a new project in the organization
- `codex_modify_user` — Modify a user
- `confluence_add_comment` — Add a footer comment to a Confluence page. Body must be in Atlassian Storage Format.
- `confluence_add_label` — Add a label to a Confluence page
- `confluence_create_page` — Create a new page in a Confluence space. Body must be in Atlassian Storage Format (XHTML).
- `confluence_update_page` — Update an existing Confluence page. Requires current version number (will be auto-incremented).
- `discord_add_reaction` — Add a reaction emoji to a message
- `discord_create_thread` — Create a new thread from an existing message
- `discord_edit_message` — Edit an existing message in a channel
- `discord_send_message` — Send a message to a channel
- `excel_add_worksheet` — Add a new worksheet (tab) to an existing workbook
- `excel_append_rows` — Append rows to an existing table in a workbook. Values are a 2D array of row data.
- `excel_create_table` — Create a table in a worksheet from a cell range. The range defines the table boundaries including headers.
- `excel_create_workbook` — Create a new empty Excel workbook (.xlsx) in the user
- `excel_write_range` — Write values to a cell range in a worksheet. Values are a 2D array where each inner array is a row.
- `github_create_issue` — Create a new issue in a repository
- `github_update_issue` — Update an existing issue
- `gitlab_add_mr_note` — Add a note (comment) to a merge request
- `gitlab_create_issue` — Create a new issue in a project
- `gitlab_create_merge_request` — Create a new merge request
- `gitlab_update_issue` — Update an existing issue
- `gmail_create_draft` — Create a draft email message
- `gmail_create_label` — Create a new label in the user
- `gmail_forward_message` — Forward an existing email message to a new recipient
- `gmail_modify_labels` — Add or remove labels from a specific message
- `gmail_reply_to_message` — Reply to an existing email message, preserving the thread
- `gmail_send_message` — Send a new email message
- `gmail_untrash_message` — Remove a message from the trash
- `google_docs_append_text` — Append text to the end of a Google Doc
- `google_docs_create_document` — Create a new Google Doc with optional initial content
- `google_docs_insert_text` — Insert text at a specific position in a Google Doc
- `google_sheets_add_sheet` — Add a new sheet (tab) to an existing Google Sheets spreadsheet
- `google_sheets_append_rows` — Append rows of data after the last row with content in a Google Sheets spreadsheet
- `google_sheets_create_spreadsheet` — Create a new Google Sheets spreadsheet with optional sheet names
- `google_sheets_find_and_replace` — Find and replace text across a spreadsheet or within a specific sheet
- `google_sheets_format_range` — Apply formatting to a range of cells (bold, italic, font size, background color, text color). Colors use RGB floats 0-1.
- `google_sheets_write_range` — Write values to a range of cells in a Google Sheets spreadsheet. Values are provided as a 2D array (list of rows).
- `google_slides_add_slide` — Add a new slide to a presentation at an optional position with a layout
- `google_slides_add_text` — Insert text into a shape (text box) on a slide by its object ID
- `google_slides_create_presentation` — Create a new Google Slides presentation with a title
- `google_slides_duplicate_slide` — Duplicate an existing slide in the presentation
- `google_slides_replace_text` — Find and replace all occurrences of text across the entire presentation
- `google_slides_update_speaker_notes` — Update the speaker notes for a specific slide
- `jira_add_comment` — Add a comment to an issue
- `jira_assign_issue` — Assign an issue to a user
- `jira_create_issue` — Create a new Jira issue
- `jira_transition_issue` — Transition an issue through workflow (e.g., move to
- `jira_update_issue` — Update an existing Jira issue
- `linear_add_comment` — Add a comment to a Linear issue
- `linear_archive_issue` — Archive a Linear issue
- `linear_create_issue` — Create a new Linear issue
- `linear_create_project` — Create a new Linear project
- `linear_update_issue` — Update an existing Linear issue
- `notion_append_block_children` — Append blocks (content) to a page
- `notion_create_page` — Create a new page in a Notion database or as a child of another page
- `notion_update_page` — Update a page
- `outlook_create_draft` — Create a draft email message that can be edited and sent later.
- `outlook_create_folder` — Create a new mail folder. Can create top-level folders or child folders within an existing folder.
- `outlook_flag_message` — Flag, unflag, or mark a message as complete. Flagged messages appear in the flagged email view.
- `outlook_forward_message` — Forward an email message to one or more recipients with an optional comment.
- `outlook_move_message` — Move an email message to a different mail folder.
- `outlook_reply_to_message` — Reply to an email message. Can reply to sender only or reply all.
- `outlook_send_message` — Send a new email message. Supports HTML and text body content, with CC and BCC recipients.
- `powerpoint_copy_presentation` — Copy a PowerPoint presentation to a new file, optionally in a different folder.
- `powerpoint_create_presentation` — Create a new empty PowerPoint presentation on OneDrive. The filename should end with .pptx.
- `powerpoint_move_presentation` — Move a PowerPoint presentation to a different OneDrive folder.
- `powerpoint_upload_presentation` — Get the upload URL for updating an existing PowerPoint file. Binary file upload is not practical via MCP tool calls; this returns the endpoint and instructions for direct Graph API upload.
- `slack_conversations_add_message` — Post a message to a channel, private channel, or direct message
- `slack_reactions_add` — Add an emoji reaction to a message
- `teams_reply_to_message` — Reply to a specific message in a channel
- `teams_send_channel_message` — Send a message to a channel in a team
- `teams_send_chat_message` — Send a message in a chat
- `windsurf_set_usage_config` — Update Windsurf/Codeium usage configuration settings for the team
- `zoom_create_meeting` — Create a new scheduled meeting
- `zoom_update_meeting` — Update an existing meeting

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Delx Protocol — Agent Recovery & Continuity (1076 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-protocol.md
- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- MCP Framework Personal (811 tools) — https://policylayer.com/tools/inggerman-mcps.md
- Delx MCP Server (740 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-server.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Eda Agent (726 tools) — https://policylayer.com/tools/eda-agent.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=sagemcp-sagemcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/sagemcp-sagemcp
