Reports and charts
The read-only MCP tools to see how the community is doing and turn it into a chart or table in the conversation — sales, subscriptions and MRR, active members, engagement and the leaderboard, the engagement statement, visits and purchase funnel, who is online, events, courses, one member's activity and the month's dashboard — with ready-made recipes.
Ask the assistant how sales are going, who takes part the most or what one person did, and it answers with numbers and, if you want, with a chart or a table right in the conversation (in Claude, as an artifact). The tools on this page only read: none of them changes anything in the community.
In short
| Tool | What it does | Minimum role | Type |
|---|---|---|---|
sales_report | Sales by day, week or month, by plan, product or payment method, and the total since the first sale | Admin or finance | Read-only |
subscriptions_report | MRR, new and canceled subscriptions, churn, courtesies and downsell | Admin or finance | Read-only |
members_report | New, active and inactive members, by group and by tag | Moderator or finance | Read-only |
engagement_report | Posts, comments, reactions, the most engaged, unanswered posts and the engagement points | Moderator or finance | Read-only |
events_report | Events and how many answered going, maybe and not going | Moderator or finance | Read-only |
courses_report | Enrollments, completions and progress per course | Moderator or finance | Read-only |
member_activity | What one person did: counts, engagement points and links | Admin | Read-only |
community_overview | This month against last month, in one call | Moderator or finance | Read-only |
get_dashboard | The community's day: indicators, pending actions, moderation and money | Moderator or finance | Read-only |
list_engagement_activities | The engagement statement: who did what, when and where, line by line | Moderator or finance | Read-only |
analytics_report | Visits, pages, spaces, traffic sources, the purchase funnel and the most read content | Admin (finance, only the funnel) | Read-only |
get_post_metrics | Reads, expansions, clicks and most clicked domains of a post | Author or admin | Read-only |
get_online_now | Who is in the app right now, by page, space and checkout step | Admin | Read-only |
Who sees what. Money (sales and subscriptions) belongs to the owner, the admin and finance. Visits and traffic belong to the owner and the admin; finance sees only the purchase funnel. The most read content belongs to the owner and the admin, and a post's reads also to its author. Community (members, engagement, events and courses) belongs to the owner, the admin and the moderator. One specific person's activity is for the owner and the admin only. In community_overview, each role sees only its own area's block: finance sees the money, the moderator sees the community.
How answers arrive
Every answer is ready to become a chart:
| Part | What it is |
|---|---|
series | One row per period (period), with that period's numbers. Periods with nothing show up as zero, so the chart never skips a month |
totals | The sum of the requested range |
currency | The currency of the amounts (one per query; by default, the one the community sells the most in) |
timezone | The time zone used to count days |
Common parameters:
| Parameter | Values | Default |
|---|---|---|
interval | day (day), week (week, starting Monday) or month (month) | month |
from, to | YYYY-MM-DD dates, inclusive. They are widened to the start and end of the period: with month, March 15 becomes March 1 | 30 days, 12 weeks or 12 months up to today |
timezone | A time zone such as America/New_York | The time zone of the community's country |
A query covers at most 366 days, 156 weeks or 120 months. For a longer period, use a larger interval.
What each number means:
- Sales come from the statement: the report's net is the statement's net for the same period. The only fee shown is the platform fee, which is independent of the payment method.
- MRR is monthly recurring revenue: each paying subscription converted to a month (a yearly one divided by 12). Courtesies and subscriptions in trial are left out.
- Active is anyone who did at least one thing in the period: posted, commented, reacted, answered an event (going or maybe), enrolled in or studied a course, or earned engagement points (which includes the daily login, when engagement is on). Only reading does not count, because views are not recorded.
- Event attendance does not exist: Memberfy keeps each person's answer (going, maybe, not going), not who showed up. The report says so (
attendanceTracked: false).
sales_report
Read-only
Sales report. Per period: gross, platform fee, installment interest, net, number of sales, average ticket, refunds and chargebacks (separately), and the net after them. It also brings payouts requested and completed, and the total since the first sale. Minimum role: admin or finance.
Parameters: the common ones, plus group_by (product, plan, payment_method or product_type) and currency.
Returns: series, totals, allTime, payouts and, with group_by, groups: each plan, product or payment method with its own series. A sale that belongs to no plan falls in the group with no name.
Ask like this: "How much have I earned in total since I started selling?"
Next: the response suggests, in next_steps, the same report for the period right before, with the dates filled in, to compare. See Next steps.
subscriptions_report
Read-only
Subscriptions report. Per period: MRR, paying subscriptions, new, canceled, churn (the share of those active at the start of the period that canceled), in trial and courtesies. Minimum role: admin or finance.
Parameters: the common ones, plus currency.
Returns: series, totals, today's snapshot in current (MRR, ARR, by status, how many end with their period, past due, courtesies), byPlan and downsell (last-chance offers shown and accepted).
Ask like this: "How did MRR evolve this year? What was each month's churn?"
History is rebuilt from each subscription's start and end dates. A past-due spell that was resolved, or a pause, leaves no date, so it only shows in today's snapshot.
members_report
Read-only
Members report. Per period: how many joined, how many were active, the total at the end of the period and the inactive ones. Minimum role: moderator or finance.
Parameters: the common ones.
Returns: series, totals, current (total, active and inactive over the last 30 days, by role), byGroup and byTag.
Ask like this: "How many new members did we get per week last quarter, and how many were active?"
engagement_report
Read-only
Engagement and engagement report. Per period: feed posts, content, comments, reactions, active members and engagement points. It also shows where the conversation happens, who took part the most, the posts nobody answered and the data the engagement is built from. Minimum role: moderator or finance.
Parameters: the common ones, plus order_by (points, interactions, posts, comments or reactions; points by default when engagement is on), page and limit (up to 100).
Returns: series, totals, bySpace, members (paginated: posts, comments, reactions, interactions, points in the period and today's level), unansweredPosts and ranking (the point rules, points per action and per period, and how many members are at each level).
It also brings compare, the previous period of the same length with the change in each number, and compare_summary, the same comparison in one sentence in your language ("Compared with September 1 to 30: active members +12%, comments −5%…"), to answer "did we grow?". The response suggests the statement for the same period.
Ask like this: "Who are this month's 10 most engaged members? And which actions earned the most points?" · "Did engagement grow compared with last month?"
events_report
Read-only
Events report. Per period: the events held and the answers received. Per event: how many said going, maybe and not going, with the link. Minimum role: moderator or finance.
Parameters: the common ones, plus page and limit.
Returns: series, totals and events. Attendance is not recorded, and the assistant says so if you ask who showed up.
Ask like this: "How many people confirmed for each event this semester?"
courses_report
Read-only
Courses report. Per period: enrollments, completed courses and completed lessons. Per course: enrollments, completions, completion rate and the average progress of those enrolled. Minimum role: moderator or finance.
Parameters: the common ones, plus page and limit.
Returns: series, totals and courses, with each course's link.
Ask like this: "Which course has the lowest completion rate?"
averageRating and ratingsCount, the average and the number of lesson ratings of each course.
member_activity
Read-only
One member's activity. What a person did in the community, in the period and ever: posts, comments, reactions, event answers, enrollments, purchases, subscriptions, completed courses and certificates. It brings the engagement points per action, the level and the position, and recent items with links. Minimum role: admin.
Parameters: member (the profile id, from list_members, the e-mail or the profile link copied from the app) and the common ones. For a timeline of everything the person did, with date and time, use list_activity_logs.
Returns: counts, ranking and recent. For purchases, only the amount paid and the payment method. There is no browsing log: the report shows what the person did, not what they saw.
Ask like this: "What has [email protected] done in the community over the last 3 months?"
community_overview
Read-only
Community dashboard. This month so far against all of last month and against last month up to the same day: revenue and MRR, new members, engagement and the events of the next 30 days. Minimum role: moderator or finance; each sees its own area's block.
Parameters: timezone.
Returns: money (for owner, admin and finance) and community (for owner, admin and moderator). In money_by_currency, one line per currency the community sold in: the month's gross and net revenue and that currency's balance (available, pending, retained and, if any, owed). To know when the pending money is released, get_balance.
Ask like this: "How is this month going compared with the last one?"
get_dashboard
Read-only
The community's day. The same summary as the Dashboard screen, in one call: the 4 indicators with the comparison to the previous week, the pending actions by urgency, the total of items awaiting moderation with the 5 most recent, today's bookings, visitors, presence and parcels, the week's engagement and, for those who see money, today's sales and the new and canceled subscriptions. Each block only comes when the community has the module. Minimum role: moderator or finance.
No parameters. The result is kept for about 30 seconds.
Returns: the summary's blocks and generated_at_readable, the generation time in the community's time zone. The money block comes only for owner, admin and finance: for the moderator the key doesn't exist. A member gets the permission error. To decide a moderation item, the assistant uses moderate_item and list_moderation_queue, with the same confirmations as the queue.
Ask like this: "How is the community today?"
list_engagement_activities
Read-only
Engagement statement. Who did what, when and where, one line per activity, newest first, private spaces included: the same statement as the Engagement page. Minimum role: moderator or finance (the team).
| Parameter | Type | Required | Description |
|---|---|---|---|
from, to | date YYYY-MM-DD | No | The period, in the community time zone, both ends included. Default: the last 30 days; at most 366 |
profile | profile id, e-mail, name or app link | No | Only this person. A name works when only one person has it |
kind | list: post, article, comment, reaction, event, enrollment, lesson, classified, gallery, event_created, attendance, login | No | Only these kinds of activity |
space_id | id | No | Only this space (from list_spaces) |
cursor, limit | text, number | No | The next page (pagination.nextCursor) and lines per page (default 50, up to 100) |
Returns: each activity with the date, the kind, the person, the space, the item (with title and link, or empty if it was deleted) and the engagement points. A like received doesn't count (it isn't something the person did), and points have no line of their own. There is no total: while pagination.hasMore is true, there are more pages. page_url is the Engagement page, which exports the same statement as CSV.
Ask like this: "What did Maria do this week?" · "Who commented in the Announcements space yesterday?"
analytics_report
Read-only
Community analytics. The human traffic to the community's app, by view: the same numbers as the Analytics page. Minimum role: owner or admin; finance reads only the funnel.
| Parameter | Type | Required | Description |
|---|---|---|---|
view | overview, pageviews, funnel, funnel_members, content | No | The view. Default: overview (for finance, funnel) |
from, to | date YYYY-MM-DD | No | The period, in the community time zone. Default: the last 30 days; at most 366 |
group_by | page, space, day | No | Only in pageviews. Default: page |
product_ids | list of ids | No | In funnel and funnel_members: only these products or plans (up to 100). product_id (a single one) is still accepted |
step | visit, catalog, product, checkout_identify, checkout_payment, checkout_submitted, checkout_success | In funnel_members | The furthest step the person reached |
page | number | No | In funnel_members: the page (default 1) |
search | text | No | In funnel_members: part of the name or email |
limit | number | No | Lines per list (in content, up to 50; default 10); in funnel_members, members per page (default 20, up to 100) |
overview: pageviews, visits, sessions, member and anonymous visits and the average time on page, against the previous period; the daily series; the most viewed spaces and pages; where they come from (sites, UTM campaigns, countries, devices); and bots apart (search engines and AI assistants).pageviews: by page, by space or by day (with days without visits at zero).funnel: the page's seven steps, visits → catalog → product → started the purchase → payment → order submitted → paid, with the rate of each step, in total and per product. Visits are always for the whole community, even withproduct_ids. It comes withstep_labels(each step's name in the asker's language) andfunnel_notes, the sentences the assistant repeats: since when there is data, how many went straight to a product and the orders outside the funnel (no visit in the app: direct link, assistant or API).content: the period's most read content, for the owner and the admin only (finance is refused). Posts sorted by reads, then expansions and clicks, each with the title, the space, the link in the app, the reads, expansions, clicks and the 3 most clicked domains. It comes withcontent_note, the sentence the assistant repeats: counting started at the launch, and anything before that isn't included.funnel_members: the members who stopped at a step (anonymous visitors only count in the funnel; up to the last 30 days), most recently seen first, 20 per page, withpage,searchand pagination; the total counts everyone who stopped there.
Visits are not unique people. "Visits" is the sum of each day's unique visitors: the same person on three days counts three times. The assistant says "visits", never "unique people", for a period longer than one day. The same goes for the reads, expansions and clicks of content: each counts one person per day. No view brings money.
Ask like this: "How many visits did we get this month, and where did they come from?" · "Where do people give up on checkout?" · "Who stopped at payment for the Mentorship? Look for Maria." · "Which spaces are viewed the most?" · "Which posts were most read this month?"
get_post_metrics
Read-only
A post's reads. The numbers of the Reads of this post box: how many people read it, expanded …see more and clicked its links, and the most clicked domains. Who can: the owner and the admin, for any post; the author, for their own post. Anyone else is refused.
| Parameter | Type | Required | Description |
|---|---|---|---|
post | text | Yes | The post: the id, the app link or the title. By title, when more than one post matches, the answer lists the options (matches, with id, title and space) and the assistant asks which one |
from, to | date YYYY-MM-DD | No | The period, in the community's time zone, both days included. Default: from publication to today |
Returns: the post (title, type, space, section and the link in the app), the reads (opened the post page), the expansions (opened …see more), the clicks (clicked a link in the post) and the 5 most clicked domains, with content_note. Each number counts one person per day: the assistant says "reads", never "unique readers". Of a clicked link, only the domain is kept; clicks inside an embedded player (YouTube, Spotify) don't count. Counting started at the launch.
Ask like this: "How many clicks did the 'Welcome' post get?" · "Which sites did people open from post X?" · "How has my post done since I published it?"
get_online_now
Read-only
Online now. Who is in the community's app at this moment, like Google Analytics' real-time view. Minimum role: owner or admin.
Parameters: minutes (the real-time window, from 1 to 30; default 30).
Returns: the visitors in the last 2 minutes (one person with two tabs counts once), members and anonymous, by space; and, in the requested window, the active ones minute by minute and where they are: by page, space, checkout step, country and device. If the live counter is off, the response says so, instead of showing zeros.
Ask like this: "How many people are in the community right now?"
Recipes
Revenue chart per month per plan
For: owner, admin or finance.
Make a stacked bar chart of net revenue month by month in 2026, one color per plan, and below it a table with each plan's total and average ticket.
| # | Tool | What it does |
|---|---|---|
| 1 | sales_report | interval: month, from: 2026-01-01, to: 2026-12-31, group_by: plan |
Result: the chart and the table in the conversation. Each plan in groups already comes with the full series, with zero in months without sales. To see refunds too, ask "and a line with the refunds".
Who the 10 most engaged are
For: owner, admin, moderator or finance.
Who were the 10 most engaged members over the last 30 days? Show them in a table with posts, comments, reactions, points and level, and tell me which actions earned the most points.
| # | Tool | What it does |
|---|---|---|
| 1 | engagement_report | interval: day, limit: 10, order_by: points |
Result: the table with the top 10 and a summary of ranking.byAction. With engagement off, ask for order_by: interactions. To see one person from the list in detail, follow up with member_activity.
The week's summary
For: any team role. Finance gets only the money part; the moderator, only the community part.
Write the week's summary: sales and new subscriptions, new members, who took part the most, the posts left unanswered and the upcoming events with how many confirmed. End with three suggestions of what to do.
| # | Tool | What it does |
|---|---|---|
| 1 | community_overview | The month so far, for context |
| 2 | sales_report | interval: day, the last 7 days |
| 3 | engagement_report | interval: day, the last 7 days, limit: 5 |
| 4 | events_report | From next week on |
Result: the summary in the conversation. If you want to publish it, ask "write a Feed post with this and show me first": the assistant uses create_post after your ok.
How is the community today?
For whom: owner, admin, moderator or finance. The moderator doesn't get the money part.
How is the community today? Tell me first what needs my attention, then the week's numbers against the previous one.
| # | Tool | What it does |
|---|---|---|
| 1 | get_dashboard | The day's summary: indicators, pending actions, moderation, bookings, visitors and money |
| 2 | moderate_item | Only if you ask to approve or reject what is waiting |
Result: a short summary in the conversation, with what is urgent on top and the week's changes. To go deeper on a point, the assistant follows with sales_report or engagement_report.