# Postomator MCP operation matrix

Generated from the registered tool catalog. Coverage is explicitly labeled; schema-only rows do not claim behavioral coverage.

| Tool | Existing route/service | Scope | Effect | Documentation | Coverage | Test |
| --- | --- | --- | --- | --- | --- | --- |
| apply_queue_assign | social_scheduling.services.team_queue.queue_command | mcp:schedule | destructive write | /docs/mcp/tools/apply_queue_assign/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| apply_queue_enqueue | social_scheduling.services.team_queue.queue_command | mcp:schedule | destructive write | /docs/mcp/tools/apply_queue_enqueue/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| apply_queue_occurrence | social_scheduling.services.team_queue.queue_command | mcp:schedule | destructive write | /docs/mcp/tools/apply_queue_occurrence/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| apply_queue_remove | social_scheduling.services.team_queue.queue_command | mcp:schedule | destructive write | /docs/mcp/tools/apply_queue_remove/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| apply_queue_reorder | social_scheduling.services.team_queue.queue_command | mcp:schedule | destructive write | /docs/mcp/tools/apply_queue_reorder/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| apply_queue_rule | social_scheduling.services.team_queue.queue_command | mcp:schedule | destructive write | /docs/mcp/tools/apply_queue_rule/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| apply_queue_timezone | social_scheduling.services.team_queue.queue_command | mcp:schedule | destructive write | /docs/mcp/tools/apply_queue_timezone/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| approve_post | services.approvals.approve_target | mcp:approve | write | /docs/mcp/tools/approve_post/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_posts_comments_approval_confirmation_stale_version_and_team_isolation |
| assist_text | social_scheduling.ai.generation | mcp:ai | write | /docs/mcp/tools/assist_text/ | behavioral | apps.mcp_access.tests.test_ai_remaining.RemainingAIToolTests.test_assist_text_executes_with_context_scrubbing_and_rejects_operation_and_membership |
| cancel_invitation | InvitationViewSet.perform_destroy | mcp:invitations | destructive write | /docs/mcp/tools/cancel_invitation/ | behavioral | apps.mcp_access.tests.test_execution_domains.AuthenticationIdentityAndTeamExecutionTests.test_invitation_admin_accepted_and_cross_team_boundaries |
| convert_idea_to_draft | services.repurposing.convert_idea_to_draft | mcp:content | write | /docs/mcp/tools/convert_idea_to_draft/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_repurposing_is_bounded_owned_and_conversion_is_idempotent_without_llm |
| create_content_source | services.repurposing.create_content_source | mcp:ai | write | /docs/mcp/tools/create_content_source/ | behavioral | apps.mcp_access.tests.test_repurpose_mcp.RepurposeMCPTests.test_public_source_is_enqueued_after_commit |
| create_followup_comment | social_scheduling.services.content; Comment is planned published follow-up content, not private collaboration | mcp:content | write | /docs/mcp/tools/create_followup_comment/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_posts_comments_approval_confirmation_stale_version_and_team_isolation |
| create_invitation | teams.invitations.send_invitation and InvitationViewSet | mcp:invitations | write | /docs/mcp/tools/create_invitation/ | behavioral | apps.mcp_access.tests.test_execution_domains.AuthenticationIdentityAndTeamExecutionTests.test_invitation_admin_accepted_and_cross_team_boundaries |
| create_post | PostCreateView and can_create_draft | mcp:content | write | /docs/mcp/tools/create_post/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_posts_comments_approval_confirmation_stale_version_and_team_isolation |
| create_workspace | teams.helpers.create_default_team_for_user | mcp:teams | write | /docs/mcp/tools/create_workspace/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_create_workspace_executes_and_grants_only_the_creator_connection |
| delete_content_source | services.repurposing.delete_content_source | mcp:delete | destructive write | /docs/mcp/tools/delete_content_source/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_repurposing_is_bounded_owned_and_conversion_is_idempotent_without_llm |
| delete_followup_comment | social_scheduling.services.content; Comment is planned published follow-up content, not private collaboration | mcp:delete | destructive write | /docs/mcp/tools/delete_followup_comment/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_posts_comments_approval_confirmation_stale_version_and_team_isolation |
| delete_media | social_scheduling.api.media_delete and content services | mcp:delete | destructive write | /docs/mcp/tools/delete_media/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_accounts_upload_contract_document_rename_delete_and_output_schemas |
| delete_post | social_scheduling.views.post_delete with added version/publication guard | mcp:delete | destructive write | /docs/mcp/tools/delete_post/ | behavioral | apps.mcp_access.tests.test_tools_behavior.ToolBehaviorTests.test_post_create_update_stale_wrong_team_and_delete_schedule_guard |
| delete_workspace | teams API TeamViewSet | mcp:teams | destructive write | /docs/mcp/tools/delete_workspace/ | behavioral | apps.mcp_access.tests.test_execution_domains.AuthenticationIdentityAndTeamExecutionTests.test_delete_workspace_succeeds_and_log_survives_with_null_team |
| generate_linkedin_bios | free_tools.generators.apis.generate_bio → services.generate_bios (description input) | mcp:ai | write | /docs/mcp/tools/generate_linkedin_bios/ | behavioral | apps.mcp_access.tests.test_ai_remaining.RemainingAIToolTests.test_generate_linkedin_bios_executes_with_context_scrubbing_and_rejects_blank_input |
| generate_linkedin_carousel_text | free_tools.carousel_generator.services.generate | mcp:ai | write | /docs/mcp/tools/generate_linkedin_carousel_text/ | behavioral | apps.mcp_access.tests.test_generators.GeneratorToolTests.test_comment_and_carousel_return_meaningful_service_output |
| generate_linkedin_comments | free_tools.comment_generator.services.generate | mcp:ai | write | /docs/mcp/tools/generate_linkedin_comments/ | behavioral | apps.mcp_access.tests.test_generators.GeneratorToolTests.test_comment_and_carousel_return_meaningful_service_output |
| generate_linkedin_headlines | free_tools.generators.apis.generate_headline → services.generate_headlines (description input) | mcp:ai | write | /docs/mcp/tools/generate_linkedin_headlines/ | behavioral | apps.mcp_access.tests.test_generators.GeneratorToolTests.test_provider_output_is_scrubbed_and_accounted_to_context |
| generate_linkedin_hooks | free_tools.generators.apis.generate_hook → services.generate_hooks | mcp:ai | write | /docs/mcp/tools/generate_linkedin_hooks/ | behavioral | apps.mcp_access.tests.test_ai_remaining.RemainingAIToolTests.test_generate_linkedin_hooks_executes_with_context_scrubbing_and_rejects_oversize_input |
| generate_linkedin_post | free_tools.generators.apis.create_post → services.generate_post | mcp:ai | write | /docs/mcp/tools/generate_linkedin_post/ | behavioral | apps.mcp_access.tests.test_generators.GeneratorToolTests.test_post_passes_context_and_enum_values_without_publication |
| generate_post_text | ai.generation.generate_from_idea | mcp:ai | write | /docs/mcp/tools/generate_post_text/ | behavioral | apps.mcp_access.tests.test_ai_remaining.RemainingAIToolTests.test_generate_post_text_executes_with_context_scrubbing_and_rejects_blank_idea |
| get_calendar | social_scheduling.api.calendar_events | mcp:read | read | /docs/mcp/tools/get_calendar/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_get_calendar_returns_bounded_team_events_only |
| get_content_source | services.repurposing.get_content_source | mcp:read | read | /docs/mcp/tools/get_content_source/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_repurposing_is_bounded_owned_and_conversion_is_idempotent_without_llm |
| get_invitation | teams.views.api_views.InvitationViewSet.retrieve | mcp:read | read | /docs/mcp/tools/get_invitation/ | behavioral | apps.mcp_access.tests.test_execution_domains.AuthenticationIdentityAndTeamExecutionTests.test_invitation_admin_accepted_and_cross_team_boundaries |
| get_post | social_scheduling.Post | mcp:read | read | /docs/mcp/tools/get_post/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_posts_comments_approval_confirmation_stale_version_and_team_isolation |
| get_post_idea | services.repurposing.get_idea | mcp:read | read | /docs/mcp/tools/get_post_idea/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_get_post_idea_returns_real_link_and_hides_foreign_idea |
| get_profile | apps.mcp_access.models.Profile | mcp:read | read | /docs/mcp/tools/get_profile/ | behavioral | apps.mcp_access.tests.test_execution_domains.AuthenticationIdentityAndTeamExecutionTests.test_token_scope_connection_and_live_membership_are_all_enforced |
| get_queue | services.team_queue.snapshot | mcp:read | read | /docs/mcp/tools/get_queue/ | behavioral | apps.mcp_access.tests.test_queue_read.QueueReadTests.test_get_queue_is_read_only_bounded_and_returns_usable_identifiers |
| get_workspace | teams.Team and Membership | mcp:read | read | /docs/mcp/tools/get_workspace/ | behavioral | apps.mcp_access.tests.test_execution_domains.ExecutionLoggingTests.test_success_forbidden_schema_and_unknown_tool_logs_have_expected_metadata |
| list_connected_accounts | SocialAccount and scheduling_state.account_problem | mcp:read | read | /docs/mcp/tools/list_connected_accounts/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_accounts_upload_contract_document_rename_delete_and_output_schemas |
| list_content_sources | services.repurposing.list_content_sources | mcp:read | read | /docs/mcp/tools/list_content_sources/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_list_content_sources_pages_in_team_order_without_ideas |
| list_followup_comments | social_scheduling.services.content; Comment is planned published follow-up content, not private collaboration | mcp:read | read | /docs/mcp/tools/list_followup_comments/ | behavioral | apps.mcp_access.tests.test_tools_behavior.ToolBehaviorTests.test_comment_crud_paging_and_version_guards |
| list_invitations | teams.views.api_views.InvitationViewSet | mcp:read | read | /docs/mcp/tools/list_invitations/ | behavioral | apps.mcp_access.tests.test_execution_domains.AuthenticationIdentityAndTeamExecutionTests.test_invitation_admin_accepted_and_cross_team_boundaries |
| list_pending_invitations | teams.helpers.get_open_invitations_for_user | mcp:read | read | /docs/mcp/tools/list_pending_invitations/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_list_pending_invitations_uses_actor_emails_and_excludes_memberships |
| list_post_ideas | services.repurposing.get_content_source | mcp:read | read | /docs/mcp/tools/list_post_ideas/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_list_post_ideas_pages_one_source_and_rejects_foreign_source |
| list_post_media | social_scheduling.api.media_list | mcp:read | read | /docs/mcp/tools/list_post_media/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_list_post_media_returns_ordered_metadata_and_rejects_foreign_post |
| list_posts | social_scheduling.Post | mcp:read | read | /docs/mcp/tools/list_posts/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_list_posts_searches_pages_and_isolates_workspaces |
| list_workspaces | Connection.teams and teams.invitations.personal_connection_required | mcp:read | read | /docs/mcp/tools/list_workspaces/ | behavioral | apps.mcp_access.tests.test_execution_domains.AuthenticationIdentityAndTeamExecutionTests.test_workspace_listing_filters_ungranted_removed_and_personal_connection_memberships |
| prepare_cv_generation | companion /mcp/transfers/cv endpoint; free_tools.generators.services | mcp:ai | read | /docs/mcp/tools/prepare_cv_generation/ | behavioral | apps.mcp_access.tests.test_ai_remaining.RemainingAIToolTests.test_prepare_cv_generation_executes_exact_contract_and_rejects_mismatched_metadata_and_scope |
| preview_queue_assign | social_scheduling.services.team_queue.queue_command | mcp:read | read | /docs/mcp/tools/preview_queue_assign/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| preview_queue_enqueue | social_scheduling.services.team_queue.queue_command | mcp:read | read | /docs/mcp/tools/preview_queue_enqueue/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| preview_queue_occurrence | social_scheduling.services.team_queue.queue_command | mcp:read | read | /docs/mcp/tools/preview_queue_occurrence/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| preview_queue_remove | social_scheduling.services.team_queue.queue_command | mcp:read | read | /docs/mcp/tools/preview_queue_remove/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| preview_queue_reorder | social_scheduling.services.team_queue.queue_command | mcp:read | read | /docs/mcp/tools/preview_queue_reorder/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| preview_queue_rule | social_scheduling.services.team_queue.queue_command | mcp:read | read | /docs/mcp/tools/preview_queue_rule/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| preview_queue_timezone | social_scheduling.services.team_queue.queue_command | mcp:read | read | /docs/mcp/tools/preview_queue_timezone/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_positive_queue_timezone_rule_assign_reorder_occurrence_remove_and_negative_actions |
| publish_post | services.scheduling.publish_post | mcp:publish | destructive write | /docs/mcp/tools/publish_post/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_publish_authorizes_once_and_duplicate_guard_prevents_second_delivery |
| rename_document | social_scheduling.api.media_title and content services | mcp:content | destructive write | /docs/mcp/tools/rename_document/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_accounts_upload_contract_document_rename_delete_and_output_schemas |
| request_audio_transcription | ai.transcription.transcribe_audio; companion transfer owned by runtime | mcp:ai | read | /docs/mcp/tools/request_audio_transcription/ | behavioral | apps.mcp_access.tests.test_transfers.TransferBoundsTests.test_tools_return_concrete_transfer_instructions_without_credentials |
| request_media_download | social_scheduling.api.media_file; companion transfer owned by runtime | mcp:read | read | /docs/mcp/tools/request_media_download/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_request_media_download_returns_instruction_and_hides_foreign_media |
| request_media_upload | social_scheduling.api.media_upload; companion transfer owned by runtime | mcp:content | write | /docs/mcp/tools/request_media_upload/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_accounts_upload_contract_document_rename_delete_and_output_schemas |
| retry_video_preparation | services.video_retry.retry_video_preparation | mcp:publish | write | /docs/mcp/tools/retry_video_preparation/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_retry_video_preparation_resets_failed_delivery_and_enqueues_it |
| schedule_post | services.scheduling.confirm_publication_date | mcp:schedule | destructive write | /docs/mcp/tools/schedule_post/ | behavioral | apps.mcp_access.tests.test_execution_domains.SchedulingAndQueueExecutionTests.test_actor_timezone_dst_past_date_stale_version_and_approval_target_rules |
| set_post_target | services.targets.set_target | mcp:content | destructive write | /docs/mcp/tools/set_post_target/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_posts_comments_approval_confirmation_stale_version_and_team_isolation |
| suggest_content_emoji | free_tools.emoji_content_fit.api.suggest → services.suggest_emoji | mcp:ai | write | /docs/mcp/tools/suggest_content_emoji/ | behavioral | apps.mcp_access.tests.test_generators.GeneratorToolTests.test_emoji_passes_team_accounting_context |
| unschedule_post | services.scheduling.unschedule_post | mcp:schedule | destructive write | /docs/mcp/tools/unschedule_post/ | behavioral | apps.mcp_access.tests.test_remaining_domains.RemainingDomainExecutionTests.test_unschedule_post_clears_schedule_and_enforces_version_and_team |
| update_followup_comment | social_scheduling.services.content; Comment is planned published follow-up content, not private collaboration | mcp:content | destructive write | /docs/mcp/tools/update_followup_comment/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_posts_comments_approval_confirmation_stale_version_and_team_isolation |
| update_invitation | InvitationViewSet.perform_update | mcp:invitations | destructive write | /docs/mcp/tools/update_invitation/ | behavioral | apps.mcp_access.tests.test_execution_domains.AuthenticationIdentityAndTeamExecutionTests.test_invitation_admin_accepted_and_cross_team_boundaries |
| update_post | services.content.update_description | mcp:content | destructive write | /docs/mcp/tools/update_post/ | behavioral | apps.mcp_access.tests.test_execution_domains.ContentMediaAndRepurposingExecutionTests.test_posts_comments_approval_confirmation_stale_version_and_team_isolation |
| update_workspace | teams API TeamViewSet | mcp:teams | destructive write | /docs/mcp/tools/update_workspace/ | behavioral | apps.mcp_access.tests.test_tools_behavior.ToolBehaviorTests.test_identity_workspace_roles_and_readonly_queue |
