list_organizations
Lists every organization the key holder is a member of: ID, name, slug, plan, your role (yourRole) and whether it is currently active (isActive). It also works with account-wide keys that have no organization header, so it is the starting point for discovering slugs. Requirements: role Viewer or higher, key scope "read" or higher, no module switch (always available). This tool takes no parameters.
get_organization
Returns the current organization: ID, name, slug, plan, enabled modules (enabledModules), creation date and your role (yourRole). Useful for checking which module tools exist in this organization at all. Requirements: role Viewer or higher, key scope "read" or higher, no module switch (always available). This tool takes no parameters.
list_members
Lists the members of the current organization with memberId, role, internal user ID (userId), first and last name, avatar and supabaseUserId. You need userId for assignments (assigneeId) and supabaseUserId for tools such as set_member_rate and find_team_free_slots. Requirements: role Viewer or higher, key scope "read" or higher, no module switch (always available).
- limit
- Optional · number — Maximum number of results (default 50, max 200).
get_analytics
Fetches web analytics from the connected PostHog or GA4 integration: pageviews (total and percentage change versus the prior period), unique visitors, daily trend, custom events (e.g. sign_up or purchase) and – when available – web vitals, top referrers and top countries (first five each). Requires an active analytics integration with a stored API key in the organization, otherwise an error is returned. Requirements: role Viewer or higher, key scope "read" or higher, no module switch (always available).
- range
- Optional · string · -7d | -30d | -90d | -180d | -365d — Time range of the report. Default: -30d.
- surface
- Optional · string · website | webapp — Limits the report to website or webapp (via the analytics integration's URL patterns). Omit for all traffic.
Common pitfalls
Two different user IDs
list_members returns userId (internal ID, e.g. for task assignment) and supabaseUserId (e.g. for set_member_rate and find_team_free_slots). Do not mix them up.
list_organizations shows all memberships
The tool lists every organization of your account even when the connection is bound to one organization. You can only operate the bound one.
Analytics without an integration
Without an active analytics integration with an API key, get_analytics returns an error instead of empty values.
