get_user_context

Get the user's plan, stores, workspace folders, permissions, credits and the skills catalog.

readSellerSheet

Call it first in every session; every other tool takes one of its store_refs.

Call it

In an AI client (MCP)

tools/call
{
  "name": "get_user_context",
  "arguments": {}
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/get_user_context \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Early access — the Tool API is open on request, contact us.

Arguments

NameTypeDescription
installed_skills_versionstringthe `version:` of any installed SellerSheet SKILL.md (one bundle version for all), so data.skills_update is computed here. Omit if you cannot read local files.Default: ""

Result

Every tool answers {notification, data, human_action}; data carries:

  • data.canUseMcp — false when no tool can run — relay data.message, stop.
  • mcp_server_version — changed mid-session → ask the user to reconnect.
  • data.workspace — {org_id, name, slug, role, is_personal, reach} — the key's home
  • data.workspace.org — pays calls naming no store; the limits and credits below are its. reach 'all': every organization below (a store's calls bill its own); 'org': this one only.
  • data.organizations — [{org_id, name, role, plan, credits_balance, note}] — all of the user's; relay note.
  • data.ownedStoreInfo — stores the user manages; each store carries organization.
  • data.ownedStoreInfo.max_stores — the plan's store cap.
  • data.ownedStoreInfo.number_of_stores_used — stores counted against it.
  • data.ownedStoreInfo.owned_stores — [{store_name, country_code, region_code, seller_id, store_id, store_refs, enabled_marketplaces, available_marketplaces, sync_status, paused_reason, store_auth_time, ads_auth_time, profile_ids, amc}]. amc: AMC per Ads country, {CC: {status: on|creating|failed, instance_id}}; none = off.
  • data.ownedStoreInfo.data.ownedStoreInfo.owned_stores.store_refs — one `<store>-<CC>` per marketplace, passed verbatim; a CC in available_marketplaces is not activated and is refused — ask which enabled one to target. sync_status 'paused': the plan no longer covers the store — reports frozen, every call refused; relay paused_reason, do not retry.
  • data.sharedStoreInfo.shared_stores — granted stores (no sync_status, marketplaces)
  • data.noonAccountInfo.accounts — [{account_name, noon_account_id, project_code, region_code, marketplaces, store_refs, status, auth_error_code}] — noon tools take one of these store_refs (`<account>-<CC>`) verbatim.
  • data.subscriptionInfo — {plan, max_stores, max_orders, effective_plan, ops, limits, orders}. orders.status 'approaching' or 'over' → tell the user to upgrade at https://sellersheetai.com/billing (refused only when the order gate is on: order_quota_exceeded). limits.concurrent_calls: the in-flight ceiling (null = none; above it concurrency_limit_exceeded + retry_after — run calls in turn).
  • data.subscriptionInfo.ops.mcp_ops_used / mcp_ops_limit — the Free monthly pool.
  • data.workspace_config — Drive ids — userSettingByFolder {sellerSheetFolderId, storeReportsFolderId, adsReportsFolderId, imagesFolderId, listingsFolderId, shipmentsFolderId, invoicesFolderId}; userSettingBySpreadsheet {salesSpreadsheetId, catalogSpreadsheetId, fbaSpreadsheetId, aplusSpreadsheetId, storeReportsSpreadsheetId, adsReportsSpreadsheetId, fbaInventorySpreadsheetId}; sa_folder_access {folder_id, ok, checked_at, error} (ok: the AI can write there).
  • data.mcpAccessInfo — {mcp_mode 'open' | 'restricted', mcp_permissions: [{store_id, store_name, marketplace, sp_access, ads_access}]} — effective access ('none' | 'read' | 'write'); a member gets the lower of key and grant.
  • data.credits — {balance, rates, route, routes, topup_url}. Check balance before a paid tool (empty → 402; credits_quote prices a call). rates is the Official card — this workspace pays routes[key = route].rates; quote those or credits_quote, never compute. Only its owner or an admin switches the route (Billing & Credits).
  • data.skills_catalog — the public skills and their install commands.
  • data.skills_update — {installed, latest, update_available, message, commands} — when update_available is true relay message and ask before running the agent's update command (never auto-update); false → say nothing; null → you passed no version.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude