# get_user_context (https://sellersheetai.com/docs/mcp-api/tools/get_user_context)

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

Access: **READ** · toolset sellersheet · family null

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

## Call it

MCP tool call:

```json
{
  "name": "get_user_context",
  "arguments": {}
}
```

Tool API (early access — contact us):

```bash
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 '{}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `installed_skills_version` | string |  | the `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. |

## Result

- `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.