# Tools

> The 188 tools of Memberfy's MCP server, organized by subject (community, content, courses, events, members, sales, subscriptions, finance, certificates, call for papers and reports), with the minimum role and type of each one, and the rules they all share.

Memberfy's MCP server has **188 tools**, which cover every module of the community: the assistant does what the app lets the connected person do, with their role. The assistant picks which one to use from your request on its own; this page and the subject pages are there so you know what it can do, with which role, and how to ask. The names are in English, as the assistant sees them, and they are the same in every language; the title shown in Claude or ChatGPT comes in the language of whoever connected.

## By subject

| Subject | What you can do | Tools |
|---|---|---|
| [Community and structure](/mcp/ferramentas-comunidade) | The connection's context, opening an app link, creating, editing, reordering and deleting sections and spaces, who sees each one, settings and language, sale notices | 16 |
| [Content and engagement](/mcp/ferramentas-conteudo) | Posts and short posts, moving a post, comments, reactions, pinning, search, gallery, ranking and moderation | 24 |
| [Courses](/mcp/ferramentas-cursos) | Whole courses, cover, status, modules and lessons (create, edit, move, delete), enrollment and progress | 13 |
| [Events](/mcp/ferramentas-eventos) | Events, tickets, attendance, live streaming, banner and deletion | 8 |
| [Members](/mcp/ferramentas-membros) | Listing, inviting, changing roles, removing, groups, tags and org chart | 16 |
| [Sales and plans](/mcp/ferramentas-vendas) | Plans, options, add-ons, products, prices, coupons, downsell and store, as drafts until approval | 24 |
| [Subscriptions](/mcp/ferramentas-assinaturas) | Who subscribes to what, CSV, complimentary access, discounts, extensions and cancellations; your own subscriptions and purchases, and changing your plan | 13 |
| [Finance](/mcp/ferramentas-financeiro) | Sales, customers, statement, balance, payouts and fees | 8 |
| [Certificates](/mcp/ferramentas-certificados) | Templates, who issues, issuing, resending, revoking and reissuing; your own certificates | 16 |
| [Call for papers](/mcp/ferramentas-chamada) | The whole cycle: opening the call, tracks and days, owners and reviewers, proposals, scores, decision, negotiation, program and voting | 40 |
| [Reports and charts](/mcp/relatorios-e-graficos) | Sales, MRR, active members, engagement and the ranking, events, courses, one member's activity and the month's dashboard, ready to become a chart | 8 |

Each tool has a badge: <span class="tool-kind tool-kind-read">Read-only</span> changes nothing, <span class="tool-kind tool-kind-write">Changes</span> creates or changes something right away, and <span class="tool-kind tool-kind-confirm">Asks to confirm</span> only acts after your yes to a summary.

## All tools

**Minimum role**: the lowest role the tool shows up for. "Any" includes members. Finance is listed separately because it isn't on the same ladder as the other roles.

| Tool | Subject | Minimum role | Type | What it does |
|---|---|---|---|---|
| [`get_community_context`](/mcp/ferramentas-comunidade#get-community-context) | Community and structure | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Community, role, sections and spaces with ids: the starting point |
| [`get_connection_diagnostics`](/mcp/ferramentas-comunidade#get-connection-diagnostics) | Community and structure | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | Whether the assistant's tool list is up to date |
| [`list_spaces`](/mcp/ferramentas-comunidade#list-spaces) | Community and structure | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Sections and spaces, filterable by module |
| [`open_link`](/mcp/ferramentas-comunidade#open-link) | Community and structure | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Says what a link copied from the app (or an id) is |
| [`create_section`](/mcp/ferramentas-comunidade#create-section) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Creates a menu section |
| [`create_space`](/mcp/ferramentas-comunidade#create-space) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Creates a space in a section |
| [`update_space`](/mcp/ferramentas-comunidade#update-space) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes a space's name, description, icon or visibility, or moves it to another section |
| [`update_section`](/mcp/ferramentas-comunidade#update-section) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes a section's name, description or icon, or makes it the home section |
| [`reorder_sections`](/mcp/ferramentas-comunidade#reorder-sections) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Puts the menu sections in a new order |
| [`reorder_spaces`](/mcp/ferramentas-comunidade#reorder-spaces) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Puts a section's spaces in a new order |
| [`update_space_access`](/mcp/ferramentas-comunidade#update-space-access) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Who sees a space or a section, and who posts in the space |
| [`delete_section`](/mcp/ferramentas-comunidade#delete-section) | Community and structure | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a section and its spaces |
| [`delete_space`](/mcp/ferramentas-comunidade#delete-space) | Community and structure | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a space |
| [`get_community_settings`](/mcp/ferramentas-comunidade#get-community-settings) | Community and structure | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | The community's settings: name, colors, images, SEO, language, entry |
| [`update_community_settings`](/mcp/ferramentas-comunidade#update-community-settings) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes name, colors, logo, favicon, SEO, language and entry rules |
| [`get_notification_settings`](/mcp/ferramentas-comunidade#get-notification-settings) | Community and structure | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | The e-mail that receives sale notices |
| [`update_notification_settings`](/mcp/ferramentas-comunidade#update-notification-settings) | Community and structure | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes or turns off the sale notices e-mail |
| [`list_posts`](/mcp/ferramentas-conteudo#list-posts) | Content and engagement | Any | <span class="tool-kind tool-kind-read">Read-only</span> | The feed, with comments and reactions |
| [`search_content`](/mcp/ferramentas-conteudo#search-content) | Content and engagement | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Finds posts, events, courses, sections, spaces and calls by title |
| [`list_comments`](/mcp/ferramentas-conteudo#list-comments) | Content and engagement | Any | <span class="tool-kind tool-kind-read">Read-only</span> | A post's comments |
| [`create_post`](/mcp/ferramentas-conteudo#create-post) | Content and engagement | Any | <span class="tool-kind tool-kind-write">Changes</span> | Publishes a post |
| [`update_post`](/mcp/ferramentas-conteudo#update-post) | Content and engagement | Author, or moderator | <span class="tool-kind tool-kind-write">Changes</span> | Edits a post's title, text, cover or pin |
| [`delete_post`](/mcp/ferramentas-conteudo#delete-post) | Content and engagement | Author, or moderator | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a post, with confirmation |
| [`move_post`](/mcp/ferramentas-conteudo#move-post) | Content and engagement | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Moves a post to another Content or Feed space |
| [`create_short_post`](/mcp/ferramentas-conteudo#create-short-post) | Content and engagement | Member (not finance) | <span class="tool-kind tool-kind-write">Changes</span> | Publishes a short post, with no title, in a Feed |
| [`create_comment`](/mcp/ferramentas-conteudo#create-comment) | Content and engagement | Any | <span class="tool-kind tool-kind-write">Changes</span> | Comments or replies |
| [`update_comment`](/mcp/ferramentas-conteudo#update-comment) | Content and engagement | Author, or moderator | <span class="tool-kind tool-kind-write">Changes</span> | Edits a comment's text |
| [`delete_comment`](/mcp/ferramentas-conteudo#delete-comment) | Content and engagement | Author, or moderator | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a comment, with confirmation |
| [`add_reaction`](/mcp/ferramentas-conteudo#add-reaction) | Content and engagement | Any | <span class="tool-kind tool-kind-write">Changes</span> | Reacts with an emoji |
| [`pin_post`](/mcp/ferramentas-conteudo#pin-post) | Content and engagement | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Pins or unpins in the feed |
| [`add_gallery_image`](/mcp/ferramentas-conteudo#add-gallery-image) | Content and engagement | Any | <span class="tool-kind tool-kind-write">Changes</span> | Adds an image to a Gallery space |
| [`list_gallery_images`](/mcp/ferramentas-conteudo#list-gallery-images) | Content and engagement | Any | <span class="tool-kind tool-kind-read">Read-only</span> | A gallery's images, with author and reactions |
| [`update_gallery_image`](/mcp/ferramentas-conteudo#update-gallery-image) | Content and engagement | Author, or moderator | <span class="tool-kind tool-kind-write">Changes</span> | Changes an image's title or description |
| [`react_to_gallery_image`](/mcp/ferramentas-conteudo#react-to-gallery-image) | Content and engagement | Any | <span class="tool-kind tool-kind-write">Changes</span> | Reacts to a gallery image |
| [`delete_gallery_image`](/mcp/ferramentas-conteudo#delete-gallery-image) | Content and engagement | Author, or moderator | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a gallery image |
| [`get_leaderboard`](/mcp/ferramentas-conteudo#get-leaderboard) | Content and engagement | Any | <span class="tool-kind tool-kind-read">Read-only</span> | The top of the ranking |
| [`get_my_points`](/mcp/ferramentas-conteudo#get-my-points) | Content and engagement | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Your points and your position in the ranking |
| [`get_ranking_rules`](/mcp/ferramentas-conteudo#get-ranking-rules) | Content and engagement | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | Whether the ranking is on, and the points per action |
| [`update_ranking_rules`](/mcp/ferramentas-conteudo#update-ranking-rules) | Content and engagement | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Turns it on or off and changes the points |
| [`list_moderation_queue`](/mcp/ferramentas-conteudo#list-moderation-queue) | Content and engagement | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | What is waiting for approval |
| [`moderate_item`](/mcp/ferramentas-conteudo#moderate-item) | Content and engagement | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Approves or rejects an item in the queue |
| [`list_courses`](/mcp/ferramentas-cursos#list-courses) | Courses | Any | <span class="tool-kind tool-kind-read">Read-only</span> | The community's courses |
| [`get_course`](/mcp/ferramentas-cursos#get-course) | Courses | Any | <span class="tool-kind tool-kind-read">Read-only</span> | A course with its modules and lessons |
| [`create_course`](/mcp/ferramentas-cursos#create-course) | Courses | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Space, course, modules, lessons and the product, in one go |
| [`update_course`](/mcp/ferramentas-cursos#update-course) | Courses | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Edits a course's title, level, status and cover |
| [`create_course_module`](/mcp/ferramentas-cursos#create-course-module) | Courses | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Adds a module to a course |
| [`create_lesson`](/mcp/ferramentas-cursos#create-lesson) | Courses | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Adds a lesson to a module |
| [`update_course_module`](/mcp/ferramentas-cursos#update-course-module) | Courses | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Renames a module or changes its position |
| [`update_lesson`](/mcp/ferramentas-cursos#update-lesson) | Courses | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes a lesson, or moves it to another module |
| [`delete_course_module`](/mcp/ferramentas-cursos#delete-course-module) | Courses | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a module with its lessons |
| [`delete_lesson`](/mcp/ferramentas-cursos#delete-lesson) | Courses | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a lesson |
| [`delete_course`](/mcp/ferramentas-cursos#delete-course) | Courses | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a course |
| [`enroll_in_course`](/mcp/ferramentas-cursos#enroll-in-course) | Courses | Member (not finance) | <span class="tool-kind tool-kind-write">Changes</span> | Enrolls you in a published course |
| [`complete_lesson`](/mcp/ferramentas-cursos#complete-lesson) | Courses | Member (not finance) | <span class="tool-kind tool-kind-write">Changes</span> | Records your progress in a lesson |
| [`list_events`](/mcp/ferramentas-eventos#list-events) | Events | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Upcoming, past, your own or all events |
| [`list_event_attendees`](/mcp/ferramentas-eventos#list-event-attendees) | Events | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Who RSVP'd to an event |
| [`create_event`](/mcp/ferramentas-eventos#create-event) | Events | Moderator (with a ticket, admin) | <span class="tool-kind tool-kind-write">Changes</span> | Space, event and the ticket, in one go |
| [`update_event`](/mcp/ferramentas-eventos#update-event) | Events | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Edits an event's dates, location, stream and banner |
| [`start_live_stream`](/mcp/ferramentas-eventos#start-live-stream) | Events | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Marks the event as live, with the stream link |
| [`stop_live_stream`](/mcp/ferramentas-eventos#stop-live-stream) | Events | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Ends the live stream |
| [`rsvp_event`](/mcp/ferramentas-eventos#rsvp-event) | Events | Member (not finance) | <span class="tool-kind tool-kind-write">Changes</span> | Says whether you're going: going, maybe or not going |
| [`delete_event`](/mcp/ferramentas-eventos#delete-event) | Events | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes an event |
| [`list_members`](/mcp/ferramentas-membros#list-members) | Members | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | Members with role and join date |
| [`invite_member`](/mcp/ferramentas-membros#invite-member) | Members | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Invites one person, with role, groups and tags |
| [`invite_members`](/mcp/ferramentas-membros#invite-members) | Members | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Invites up to 100 people at once, with the result line by line |
| [`update_member_role`](/mcp/ferramentas-membros#update-member-role) | Members | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes a member's role |
| [`remove_member`](/mcp/ferramentas-membros#remove-member) | Members | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Removes a person from the community |
| [`list_groups`](/mcp/ferramentas-membros#list-groups) | Members | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | Groups, with color, leader, parent group and how many people |
| [`create_group`](/mcp/ferramentas-membros#create-group) | Members | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Creates a member group |
| [`update_group`](/mcp/ferramentas-membros#update-group) | Members | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Renames or changes a group |
| [`delete_group`](/mcp/ferramentas-membros#delete-group) | Members | Moderator | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a group; the people stay in the community |
| [`update_group_members`](/mcp/ferramentas-membros#update-group-members) | Members | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Adds or removes people from a group |
| [`list_tags`](/mcp/ferramentas-membros#list-tags) | Members | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | Tags in use, with color and how many people |
| [`update_member_tags`](/mcp/ferramentas-membros#update-member-tags) | Members | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Tags or untags one or more people |
| [`update_tag`](/mcp/ferramentas-membros#update-tag) | Members | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Renames a tag or changes its color |
| [`delete_tag`](/mcp/ferramentas-membros#delete-tag) | Members | Moderator | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Removes a tag from everyone |
| [`get_org_chart`](/mcp/ferramentas-membros#get-org-chart) | Members | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | Who reports to whom, with the groups |
| [`set_manager`](/mcp/ferramentas-membros#set-manager) | Members | Moderator | <span class="tool-kind tool-kind-write">Changes</span> | Sets who a person reports to |
| [`list_activity_logs`](/mcp/ferramentas-membros#list-activity-logs) | Members | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | Who did what: team, assistant and members |
| [`list_plans`](/mcp/ferramentas-vendas#list-plans) | Sales and plans | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Plans, options and add-ons |
| [`list_products`](/mcp/ferramentas-vendas#list-products) | Sales and plans | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Billing options and products, with price and status |
| [`list_coupons`](/mcp/ferramentas-vendas#list-coupons) | Sales and plans | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Coupons with status and usage |
| [`create_product`](/mcp/ferramentas-vendas#create-product) | Sales and plans | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Creates a product or billing option, as a draft |
| [`create_plan`](/mcp/ferramentas-vendas#create-plan) | Sales and plans | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Options, plan and add-ons, in one go |
| [`publish_product`](/mcp/ferramentas-vendas#publish-product) | Sales and plans | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Puts a product on sale |
| [`unpublish_product`](/mcp/ferramentas-vendas#unpublish-product) | Sales and plans | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Takes a product off sale |
| [`update_price`](/mcp/ferramentas-vendas#update-price) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Changes a price, with confirmation |
| [`create_coupon`](/mcp/ferramentas-vendas#create-coupon) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Creates a coupon, with confirmation |
| [`update_plan`](/mcp/ferramentas-vendas#update-plan) | Sales and plans | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes a plan's name, address, options and add-ons |
| [`update_product`](/mcp/ferramentas-vendas#update-product) | Sales and plans | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes title, spaces, stock, installments, trial and direct link |
| [`update_coupon_status`](/mcp/ferramentas-vendas#update-coupon-status) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Pauses or reactivates a coupon |
| [`update_coupon`](/mcp/ferramentas-vendas#update-coupon) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Changes a coupon's name, discount, duration, limits, validity and products |
| [`delete_coupon`](/mcp/ferramentas-vendas#delete-coupon) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a coupon |
| [`get_coupon_usage`](/mcp/ferramentas-vendas#get-coupon-usage) | Sales and plans | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Who used a coupon |
| [`list_downsell_offers`](/mcp/ferramentas-vendas#list-downsell-offers) | Sales and plans | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | A plan's last-chance offers, with conversion |
| [`create_downsell_offer`](/mcp/ferramentas-vendas#create-downsell-offer) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Creates a last-chance offer |
| [`update_downsell_offer`](/mcp/ferramentas-vendas#update-downsell-offer) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Changes or pauses a last-chance offer |
| [`delete_downsell_offer`](/mcp/ferramentas-vendas#delete-downsell-offer) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a last-chance offer |
| [`delete_product`](/mcp/ferramentas-vendas#delete-product) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a product or billing option |
| [`delete_plan`](/mcp/ferramentas-vendas#delete-plan) | Sales and plans | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a plan |
| [`reorder_plans`](/mcp/ferramentas-vendas#reorder-plans) | Sales and plans | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Puts the plans in a new order on the pricing page |
| [`get_storefront`](/mcp/ferramentas-vendas#get-storefront) | Sales and plans | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | What a Store space shows |
| [`update_storefront`](/mcp/ferramentas-vendas#update-storefront) | Sales and plans | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Chooses a Store's products |
| [`list_subscriptions`](/mcp/ferramentas-assinaturas#list-subscriptions) | Subscriptions | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Subscriptions with status, amount and next charge |
| [`cancel_subscription`](/mcp/ferramentas-assinaturas#cancel-subscription) | Subscriptions | Admin or finance | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Cancels a member's subscription, with confirmation |
| [`get_subscription`](/mcp/ferramentas-assinaturas#get-subscription) | Subscriptions | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | One subscription, with charges and next charge |
| [`create_manual_subscription`](/mcp/ferramentas-assinaturas#create-manual-subscription) | Subscriptions | Admin or finance | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Complimentary or future charge, without checkout |
| [`update_subscription`](/mcp/ferramentas-assinaturas#update-subscription) | Subscriptions | Admin or finance | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Discount, extend, add-ons, reactivate, payment link |
| [`export_subscriptions_csv`](/mcp/ferramentas-assinaturas#export-subscriptions-csv) | Subscriptions | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | The subscriptions as CSV, with the same filters |
| [`list_my_subscriptions`](/mcp/ferramentas-assinaturas#list-my-subscriptions) | Subscriptions | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Your subscriptions |
| [`list_my_purchases`](/mcp/ferramentas-assinaturas#list-my-purchases) | Subscriptions | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Your one-time purchases |
| [`manage_my_subscription`](/mcp/ferramentas-assinaturas#manage-my-subscription) | Subscriptions | Any | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Cancels, pauses, resumes or reactivates your subscription |
| [`quote_plan_change`](/mcp/ferramentas-assinaturas#quote-plan-change) | Subscriptions | Any | <span class="tool-kind tool-kind-read">Read-only</span> | How much it costs and what changes when moving to another plan |
| [`change_my_plan`](/mcp/ferramentas-assinaturas#change-my-plan) | Subscriptions | Any | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Changes your plan: now, charging the difference to the saved card, or at the end of the period |
| [`get_scheduled_plan_change`](/mcp/ferramentas-assinaturas#get-scheduled-plan-change) | Subscriptions | Any | <span class="tool-kind tool-kind-read">Read-only</span> | The plan change scheduled for the end of the period |
| [`cancel_scheduled_plan_change`](/mcp/ferramentas-assinaturas#cancel-scheduled-plan-change) | Subscriptions | Any | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Undoes the scheduled plan change |
| [`get_sales_summary`](/mcp/ferramentas-financeiro#get-sales-summary) | Finance | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Revenue, monthly series, revenue by product and subscribers |
| [`list_customers`](/mcp/ferramentas-financeiro#list-customers) | Finance | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Who pays and how much they've paid |
| [`list_ledger_entries`](/mcp/ferramentas-financeiro#list-ledger-entries) | Finance | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Statement entries |
| [`get_balance`](/mcp/ferramentas-financeiro#get-balance) | Finance | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Total, available, held and pending balance |
| [`list_payouts`](/mcp/ferramentas-financeiro#list-payouts) | Finance | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Payouts and their status |
| [`simulate_fee`](/mcp/ferramentas-financeiro#simulate-fee) | Finance | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | How much the community receives from a sale |
| [`request_payout`](/mcp/ferramentas-financeiro#request-payout) | Finance | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Requests a payout, with confirmation |
| [`cancel_payout`](/mcp/ferramentas-financeiro#cancel-payout) | Finance | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Cancels a pending payout, with confirmation |
| [`list_certificate_templates`](/mcp/ferramentas-certificados#list-certificate-templates) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-read">Read-only</span> | A Certificates space's templates |
| [`get_certificate_template`](/mcp/ferramentas-certificados#get-certificate-template) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-read">Read-only</span> | One template, with the preview as an image |
| [`create_certificate_template`](/mcp/ferramentas-certificados#create-certificate-template) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-write">Changes</span> | Creates a template, from the platform default or with the brand's art |
| [`update_certificate_template`](/mcp/ferramentas-certificados#update-certificate-template) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes texts, signers, boxes and the artwork |
| [`activate_certificate_template`](/mcp/ferramentas-certificados#activate-certificate-template) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-write">Changes</span> | Activates or archives a template |
| [`issue_certificate`](/mcp/ferramentas-certificados#issue-certificate) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-write">Changes</span> | Issues to people, groups and tags, after a dry run |
| [`list_issued_certificates`](/mcp/ferramentas-certificados#list-issued-certificates) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-read">Read-only</span> | The issued ones, with status and search |
| [`revoke_certificate`](/mcp/ferramentas-certificados#revoke-certificate) | Certificates | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Revokes a certificate |
| [`reissue_certificate`](/mcp/ferramentas-certificados#reissue-certificate) | Certificates | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Issues it again with the current name |
| [`delete_certificate`](/mcp/ferramentas-certificados#delete-certificate) | Certificates | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes a revoked or failed one |
| [`duplicate_certificate_template`](/mcp/ferramentas-certificados#duplicate-certificate-template) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-write">Changes</span> | Copies a template as a new draft |
| [`update_certificate_space_settings`](/mcp/ferramentas-certificados#update-certificate-space-settings) | Certificates | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Who issues in the space: the team or only admins |
| [`resend_certificate_email`](/mcp/ferramentas-certificados#resend-certificate-email) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-write">Changes</span> | Sends the certificate e-mail again |
| [`retry_certificate`](/mcp/ferramentas-certificados#retry-certificate) | Certificates | Moderator or admin | <span class="tool-kind tool-kind-write">Changes</span> | Retries a certificate that failed |
| [`list_my_certificates`](/mcp/ferramentas-certificados#list-my-certificates) | Certificates | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Your certificates, with code and links |
| [`set_certificate_indexing`](/mcp/ferramentas-certificados#set-certificate-indexing) | Certificates | Any | <span class="tool-kind tool-kind-write">Changes</span> | Shows or hides one of your certificates in search engines |
| [`list_calls_for_papers`](/mcp/ferramentas-chamada#list-calls-for-papers) | Call for papers | Any | <span class="tool-kind tool-kind-read">Read-only</span> | A space's calls, with status |
| [`get_call_space_settings`](/mcp/ferramentas-chamada#get-call-space-settings) | Call for papers | Any | <span class="tool-kind tool-kind-read">Read-only</span> | How the space works: one call or several, who opens them |
| [`update_call_space_settings`](/mcp/ferramentas-chamada#update-call-space-settings) | Call for papers | Admin | <span class="tool-kind tool-kind-write">Changes</span> | Changes the space's mode and who can open a call |
| [`get_call_for_papers`](/mcp/ferramentas-chamada#get-call-for-papers) | Call for papers | Any | <span class="tool-kind tool-kind-read">Read-only</span> | A call with dates, tracks, days, owners and what you can do |
| [`create_call_for_papers`](/mcp/ferramentas-chamada#create-call-for-papers) | Call for papers | Whoever can open one | <span class="tool-kind tool-kind-write">Changes</span> | Opens a call as a draft, with tracks, days and banner |
| [`update_call_for_papers`](/mcp/ferramentas-chamada#update-call-for-papers) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Edits text, dates, formats, costs, fee and images |
| [`update_call_status`](/mcp/ferramentas-chamada#update-call-status) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Publishes, unpublishes, closes or reopens |
| [`delete_call_for_papers`](/mcp/ferramentas-chamada#delete-call-for-papers) | Call for papers | Team or owner | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Deletes the call, with tracks and proposals |
| [`add_call_track`](/mcp/ferramentas-chamada#add-call-track) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Adds a track |
| [`update_call_track`](/mcp/ferramentas-chamada#update-call-track) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Renames a track or changes its purpose |
| [`delete_call_track`](/mcp/ferramentas-chamada#delete-call-track) | Call for papers | Team or owner | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Removes a track |
| [`add_call_event_date`](/mcp/ferramentas-chamada#add-call-event-date) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Adds a day to the event |
| [`update_call_event_date`](/mcp/ferramentas-chamada#update-call-event-date) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Changes a day's times |
| [`delete_call_event_date`](/mcp/ferramentas-chamada#delete-call-event-date) | Call for papers | Team or owner | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Removes a day from the event |
| [`add_call_owner`](/mcp/ferramentas-chamada#add-call-owner) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Invites someone to be an owner of the call |
| [`remove_call_owner`](/mcp/ferramentas-chamada#remove-call-owner) | Call for papers | Team or owner | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Removes an owner |
| [`list_track_reviewers`](/mcp/ferramentas-chamada#list-track-reviewers) | Call for papers | Team or owner | <span class="tool-kind tool-kind-read">Read-only</span> | A track's reviewers |
| [`invite_track_reviewer`](/mcp/ferramentas-chamada#invite-track-reviewer) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Makes someone a reviewer for a track |
| [`remove_track_reviewer`](/mcp/ferramentas-chamada#remove-track-reviewer) | Call for papers | Team or owner | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Removes a reviewer |
| [`list_my_call_invitations`](/mcp/ferramentas-chamada#list-my-call-invitations) | Call for papers | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Your pending invitations, as owner or reviewer |
| [`respond_to_call_invitation`](/mcp/ferramentas-chamada#respond-to-call-invitation) | Call for papers | Any | <span class="tool-kind tool-kind-write">Changes</span> | Accepts or declines one of your invitations |
| [`list_speakers`](/mcp/ferramentas-chamada#list-speakers) | Call for papers | Team or owner | <span class="tool-kind tool-kind-read">Read-only</span> | Who has already proposed in the community |
| [`invite_speaker`](/mcp/ferramentas-chamada#invite-speaker) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Invites someone to propose |
| [`list_proposals`](/mcp/ferramentas-chamada#list-proposals) | Call for papers | Depends on your role in the call | <span class="tool-kind tool-kind-read">Read-only</span> | The proposals, with status, track and scores |
| [`get_proposal`](/mcp/ferramentas-chamada#get-proposal) | Call for papers | Owners, the track's reviewers and the proposer | <span class="tool-kind tool-kind-read">Read-only</span> | One proposal, with the reviews and the negotiation |
| [`list_my_reviews`](/mcp/ferramentas-chamada#list-my-reviews) | Call for papers | Reviewer | <span class="tool-kind tool-kind-read">Read-only</span> | Your review queue |
| [`review_proposal`](/mcp/ferramentas-chamada#review-proposal) | Call for papers | The track's reviewer | <span class="tool-kind tool-kind-write">Changes</span> | Scores a proposal from 1 to 5 |
| [`get_review_progress`](/mcp/ferramentas-chamada#get-review-progress) | Call for papers | Team or owner | <span class="tool-kind tool-kind-read">Read-only</span> | How the review is going, against the minimum |
| [`get_proposal_reviews`](/mcp/ferramentas-chamada#get-proposal-reviews) | Call for papers | Owners; reviewers after reviewing | <span class="tool-kind tool-kind-read">Read-only</span> | A proposal's scores and the consensus |
| [`decide_proposal`](/mcp/ferramentas-chamada#decide-proposal) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Accepts or rejects a proposal |
| [`negotiate_proposal`](/mcp/ferramentas-chamada#negotiate-proposal) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Counter-offer, withdraw, accept or end the negotiation |
| [`confirm_proposal`](/mcp/ferramentas-chamada#confirm-proposal) | Call for papers | Team or owner | <span class="tool-kind tool-kind-write">Changes</span> | Confirms the accepted proposal in the program |
| [`list_votable_proposals`](/mcp/ferramentas-chamada#list-votable-proposals) | Call for papers | Whoever can vote | <span class="tool-kind tool-kind-read">Read-only</span> | The ballot: what you can vote on and your vote |
| [`vote_on_proposal`](/mcp/ferramentas-chamada#vote-on-proposal) | Call for papers | Whoever can vote | <span class="tool-kind tool-kind-write">Changes</span> | Votes from 1 to 5, or removes the vote |
| [`get_vote_results`](/mcp/ferramentas-chamada#get-vote-results) | Call for papers | Depends on the call | <span class="tool-kind tool-kind-read">Read-only</span> | The result, as far as the call shows it |
| [`list_my_proposals`](/mcp/ferramentas-chamada#list-my-proposals) | Call for papers | Any | <span class="tool-kind tool-kind-read">Read-only</span> | Your proposals, with status |
| [`submit_proposal`](/mcp/ferramentas-chamada#submit-proposal) | Call for papers | Any member | <span class="tool-kind tool-kind-write">Changes</span> | Submits a proposal to an open call |
| [`update_proposal`](/mcp/ferramentas-chamada#update-proposal) | Call for papers | The proposer | <span class="tool-kind tool-kind-write">Changes</span> | Edits the draft proposal and submits it |
| [`withdraw_proposal`](/mcp/ferramentas-chamada#withdraw-proposal) | Call for papers | The proposer | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> | Withdraws the proposal from the call |
| [`respond_to_counter_offer`](/mcp/ferramentas-chamada#respond-to-counter-offer) | Call for papers | The proposer | <span class="tool-kind tool-kind-write">Changes</span> | Accepts the counter-offer or answers with another one |
| [`sales_report`](/mcp/relatorios-e-graficos#sales-report) | Reports and charts | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | Sales by day, week or month, by plan, product or payment method, and the total since the first sale |
| [`subscriptions_report`](/mcp/relatorios-e-graficos#subscriptions-report) | Reports and charts | Admin or finance | <span class="tool-kind tool-kind-read">Read-only</span> | MRR, new and canceled subscriptions, churn, courtesies and downsell |
| [`members_report`](/mcp/relatorios-e-graficos#members-report) | Reports and charts | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | New, active and inactive members, by group and by tag |
| [`engagement_report`](/mcp/relatorios-e-graficos#engagement-report) | Reports and charts | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | Posts, comments, reactions, the most engaged, unanswered posts and the ranking points |
| [`events_report`](/mcp/relatorios-e-graficos#events-report) | Reports and charts | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | Events and how many answered going, maybe and not going |
| [`courses_report`](/mcp/relatorios-e-graficos#courses-report) | Reports and charts | Moderator | <span class="tool-kind tool-kind-read">Read-only</span> | Enrollments, completions and progress per course |
| [`member_activity`](/mcp/relatorios-e-graficos#member-activity) | Reports and charts | Admin | <span class="tool-kind tool-kind-read">Read-only</span> | What one person did: counts, ranking points and links |
| [`community_overview`](/mcp/relatorios-e-graficos#community-overview) | Reports and charts | Moderator or finance | <span class="tool-kind tool-kind-read">Read-only</span> | This month against last month, in one call |

## How many each role sees

| Role | Tools |
|---|---|
| **Owner** and **admin** | All 188 |
| **Moderator** | 111: the 40 call-for-papers tools, the read tools open to everyone, posts and short posts (including moving and pinning), comments, reactions and gallery, moderation, `create_event`, `update_event` and live streaming, `list_members` and the 11 for groups, tags and the org chart, certificate templates, issuing, resending and retrying (per **Who issues** in the space), their own enrollments, attendance, points, subscriptions, purchases and certificates, and the member, engagement, event and course reports and `community_overview` |
| **Finance** | 90: the 40 call-for-papers tools, the read tools open to everyone, posts, comments, reactions and gallery, reading plans, products and coupons, the 9 finance read tools, the community's subscriptions (list, view, export, complimentary, actions and cancel), their own subscriptions, purchases, points and certificates, and the sales and subscription reports and `community_overview` |
| **Member** | 76: the 40 call-for-papers tools, the read tools open to everyone, posts and short posts, comments, reactions and gallery (editing and deleting only their own), enrollment and progress in courses, event attendance, and their own subscriptions, purchases, points and certificates |

All 40 call-for-papers tools show up for everyone because a call's owner can be a regular member, and any member proposes, reviews or votes when the call allows it. Memberfy checks each call against the module's rules. See [Call for papers](/mcp/ferramentas-chamada#who-uses-what).

A connection authorized for reading only sees just the role's read tools.

Seeing a tool in the list doesn't guarantee every call goes through: Memberfy checks each action as if it were done on screen. A member sees `create_post`, but posting in a space with **Who can post = Staff** is refused. See [Roles and permissions](/conceitos/papeis-e-permissoes).

## Shared rules

### Ids

The tools work with **ids**, and wherever they ask for an id they also accept the link copied from the app (see [`open_link`](/mcp/ferramentas-comunidade#open-link)). Almost every conversation starts with `get_community_context`, which returns the sections and spaces with their ids; the list tools return the ids of what they list. Each tool's description says where each id comes from, and the assistant chains them on its own: you ask *"post in the Announcements space"*, it looks up the *Announcements* space id and posts.

### Pagination

List tools accept `page` (the page, starting at 1) and `limit` (how many per page). The response includes the items and the total, so the assistant knows whether to ask for the next page.

### Draft first

Everything that is sold starts as a **draft**: `create_product`, the product from `create_course`, the ticket from `create_event` and the options from `create_plan`. Nothing goes on sale without `publish_product` (or `publish: true` in the composite tool). That way you review first.

Creating doesn't depend on approved [business information](/pagamentos/informacao-comercial); publishing does. In a community without approval, a composite tool that was asked to publish **undoes nothing**: the course, event or plan stays as a draft, the response gives the reason in `publish_blocked`, and the suggested next step is to fill in the business information and publish later. See [Drafts before approval](/mcp/ferramentas-vendas#drafts-before-approval).

### Idempotency in the composite tools

The three composite tools accept `idempotency_key` (up to 100 characters). Repeating the call with the same key returns the result of the first one, without creating anything again. It's for when the connection drops mid-call and the assistant doesn't know whether the call went through.

### Undoing when a step fails

The composite tools create things in order and, if a step fails, delete what they had already created (except when what failed was publishing without approved business information: then everything stays as a draft), newest first, and say which step failed: *"The step "módulo 2" failed and everything this call created was undone."* If something can't be undone, the response lists what was left behind so you can check it in the dashboard.

### Next steps

When a follow-up makes sense, the tool's response carries `next_steps`: up to **three suggested actions**, each with the tool, the reason (in the language of whoever connected) and, sometimes, the arguments ready to use. They depend on what came back and on your role: only tools you can use are included. The assistant offers these actions before suggesting anything else, and none of them happens unless you ask.

| When | What Memberfy suggests |
|---|---|
| There are proposals waiting for a decision | Decide each one (`decide_proposal`) |
| The engagement report shows posts with no reply | Reply to them (`create_comment`) |
| A post was published without a cover | Generate an image and set it as the cover (`update_post`) |
| A certificate template was just created | Check the preview and adjust it (`update_certificate_template`), then activate it (`activate_certificate_template`) |
| A sales report | The same report for the previous period, to compare (`sales_report`, with the dates filled in) |
| Items waiting for moderation | Approve or reject them (`moderate_item`) |
| Past-due subscriptions | Send the payment link (`update_subscription`) |
| Available balance | Request a payout (`request_payout`) |
| A product, course or ticket created as a draft | Publish it (`publish_product`) |
| Publishing was refused for lack of approved business information | Fill in **Settings › Business Information**, wait for approval and publish (`publish_product`) |
| A call for papers created without tracks, or still a draft | Add tracks (`add_call_track`), add reviewers (`invite_track_reviewer`) and publish (`update_call_status`) |
| An accepted proposal | Confirm it in the program (`confirm_proposal`) |

### Errors

When Memberfy refuses, the assistant gets Memberfy's message, the same one you'd see on screen:

| Situation | What the assistant gets |
|---|---|
| The role doesn't allow it | *"Your role (moderator) does not allow this action in this community."*, plus the reason |
| An invalid value | *"The API refused (400): …"*, with the field and the message |
| Too many calls | *"Too many calls in a short time. Wait a minute and try again."* |

### Server and tool list version

Every Memberfy deploy changes the server version, and the tool list a connection receives has its own fingerprint. That's how you tell whether an assistant's list is up to date.

| Where | What comes back |
|---|---|
| `serverInfo.version`, in `initialize` | `<version>+<commit>`, for example `1.0.0+4a9b547`. Changes on every deploy |
| `_meta.memberfy`, in `initialize` and `tools/list` | `server_version`, `tools_fingerprint` (a short code that changes when a name or input schema in this connection's list changes) and `tool_count` |
| The server instructions | End with a line that repeats the list version |

Calling a tool that isn't on the connection's list returns a tool error (`isError`) asking the person to open a new conversation or reconnect; if the name is one of the old Portuguese ones, the response includes `renamed_to` with the new name. The call is logged in the audit as `tool.unknown`.

The owner and admins compare the last list a connection received with the current one at [`GET /api/oauth/connections/{id}/diagnostics`](/api/referencia/mcp/get-oauth-connections-by-id-diagnostics): the `listUpToDate` field says whether it's up to date. See [Audit](/mcp/seguranca#audit).

### Ask for confirmation

Only the tools that **touch money** and the ones that **delete** (those starting with `delete_`, `remove_`, `revoke_`, `withdraw_` or `cancel_`) ask for confirmation. With the <span class="tool-kind tool-kind-confirm">Asks to confirm</span> badge, they don't act on the first call: they return a summary and a code, and only act when the assistant repeats the call with the code, after your yes. All the others, including invites, role changes, settings and issuing certificates, run on the first call. The table above shows each one's badge. See [Money and confirmation](/mcp/dinheiro-e-confirmacao).

### Markdown text

The assistant writes and reads Memberfy text in **Markdown**. Memberfy converts it to the app's formatted text on the way in, and back to Markdown on the way out: the post shows in the app with bold and lists, not with asterisks.

| Field | What it takes |
|---|---|
| The text of a post (`create_post`, `update_post`), an event's description (`create_event`, `update_event`), the call for papers text (`create_call_for_papers`, `update_call_for_papers`) and a proposal's description (`submit_proposal`, `update_proposal`) | Full Markdown: **bold**, *italic*, lists, links, subheadings (`#` becomes a level-2 subheading; there is no level-1 heading inside the text), quote and code |
| The text of a short post (`create_short_post`, or `update_post` with `type: status`) | Only bold, italic, links and line breaks |
| Titles, names, comments, and the description of a course, product, plan, group, space and section | Plain text: Markdown marks are stripped, because the app shows these fields without formatting |

What doesn't carry over to the app:

- **An image inside the text** becomes a link to the image. For a post's cover or an event's banner, use `image_url` (see [Images](#images)).
- **A table** becomes lines of text, one per table row.
- Scripts, event attributes and `javascript:` links are removed.

Ready-made HTML is accepted too and goes through the same filter. When reading, the tools return formatted text in Markdown and mark the result with `text_format: "markdown"`. Reading and saving the same text again changes nothing.

### Images

`create_post`, `add_gallery_image`, `create_course`, `create_event`, `update_post`, `update_event` and `update_course` accept the image in two ways:

- `image_url`: the link to an image that is on the internet. Memberfy downloads it and keeps it as if you had uploaded it in the dashboard.
- `image_base64` (with `image_type`, optional): the file itself, up to 5 MB. It's the way to use an image the assistant generated in the conversation. SVG is accepted and becomes PNG; an SVG that points to external files is refused.

| Rule | |
|---|---|
| Address | Only public `http` or `https`. Internal and private addresses are refused, also after a redirect |
| Format | JPEG, PNG, WebP or GIF, checked from the file's content |
| Size | Up to 10 MB |
| Time | The download has 10 seconds |

A link to a page (rather than to the image itself) is refused with *"the file is not a JPEG, PNG, WebP or GIF image"*.

In the composite tools, a bad image **doesn't undo** the rest: the course or event is created without the cover, and the response gives the reason in `warnings` (*"Could not use the image at …: the image is larger than 10 MB."*). Ask again with another link, or add the image in the dashboard. In the single-item tools (`create_post`, `add_gallery_image`), a bad image prevents the creation.

## Related

- [Recipes](/mcp/receitas)
- [Money and confirmation](/mcp/dinheiro-e-confirmacao)
- [Security and limits](/mcp/seguranca)
