# Get store (`get_store`)

Returns the Store this connection was authorised for: its integer id, name, storefront platform, subscription plan, currency, connected commerce integrations, creation date and the scopes this connection was granted. Every other tool operates inside this Store, so this is the call that establishes which merchant an assistant is acting for. It is also where the two values the commerce writes demand come from: currency is the code create_order and create_integration_product must send, and integrations carries the integration_id they must name. It requires the store:read scope, has no side effects and is safe to retry.

- Source URL: https://www.signcustomiser.com/help/mcp/tools/get_store/
- Markdown URL: https://www.signcustomiser.com/help/mcp/tools/get_store.md
- MCP endpoint: https://web.signcustomiser.com/mcp
- Required scope: `store:read`
- Behaviour: read

## Purpose

Identify the Store the connection acts for, report which scopes the merchant approved, and read the currency and integration_id the commerce writes require, before calling anything else.

## Annotations

| Hint | Value |
| --- | --- |
| readOnlyHint | true |
| destructiveHint | false |
| idempotentHint | true |
| openWorldHint | false |

## Prerequisites

- A merchant has connected this store and approved the store:read scope.

## Arguments

This tool takes no arguments.

## Result

One store object. Its only nested collection is integrations, which is capped at 50 rows and is empty or one row for almost every Store, so the response size does not vary with the size of the store.

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `request_id` | string | yes | The Sign Customiser request id for this call. |
| `store` | object | yes | The Store this connection resolved to. |
| `store.id` | integer | yes |  |
| `store.name` | string | yes |  |
| `id` | integer | yes | The Store id. |
| `name` | string | yes | The Store name. |
| `platform` | string | yes | The storefront platform the Store runs on. One of: `shopify`, `universal`. |
| `plan` | string or null | no | Lowercase subscription plan identifier, or null when the Store has no active plan. Expected to grow: tolerate unknown values. |
| `currency` | string or null | no | ISO 4217 currency code every price on this Store is denominated in, or null when the merchant has not configured a valid one. create_order and create_integration_product must send this exact value, and fail with store_currency_unavailable while it is null. |
| `integrations` | array of object | yes | The commerce integrations connected to this Store, enabled first then oldest first, capped at 50. A Store can only have one enabled integration at a time, so the id a write will accept is always present. Empty means the merchant has connected nothing and cannot create orders or integration products yet. |
| `integrations[].object` | string | yes | One of: `integration`. |
| `integrations[].id` | integer | yes | The value create_order and create_integration_product send as integration_id. |
| `integrations[].type` | string | yes | The connector this integration talks to, from the current set: custom, shopify, woocommerce, wix, etsy. Expected to grow: tolerate unknown values. Only type custom accepts the commerce writes. |
| `integrations[].name` | string | yes | The name the merchant gave this integration. |
| `integrations[].enabled` | boolean | yes | Whether the integration is currently enabled. A write naming a disabled integration fails with not_found. |
| `scopes` | array of string | yes | The scopes the merchant approved for this connection. |
| `created_at` | string or null | no | ISO 8601 UTC creation timestamp. |

## Error cases

| Code | Recovery |
| --- | --- |
| `insufficient_scope` | The connection was approved without store:read. Ask the merchant to reconnect and approve it. |

## Example: Identify the connected store

Request:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_store",
    "arguments": {}
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "id": 12,
      "name": "Demo Signs",
      "platform": "universal",
      "plan": "starter",
      "currency": "GBP",
      "integrations": [
        {
          "object": "integration",
          "id": 17,
          "type": "custom",
          "name": "Warehouse bridge",
          "enabled": true
        }
      ],
      "scopes": [
        "store:read",
        "customisers:read"
      ],
      "created_at": "2026-01-12T03:14:15Z"
    }
  }
}
```

## Example: A Store with nothing connected, so the commerce writes are unavailable

Request:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_store",
    "arguments": {}
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "id": 12,
      "name": "Demo Signs",
      "platform": "shopify",
      "plan": "starter",
      "currency": null,
      "integrations": [],
      "scopes": [
        "store:read"
      ],
      "created_at": "2026-01-12T03:14:15Z"
    }
  }
}
```

## Example: The connection was not granted store:read (error)

Request:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_store",
    "arguments": {}
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "isError": true,
    "structuredContent": {
      "error": {
        "code": "insufficient_scope",
        "title": "Insufficient scope",
        "detail": "The tool [get_store] requires the store:read scope, which this connection was not granted.",
        "recovery": "The connection was authorised without the scope this tool needs. Ask the merchant to reconnect the connector and approve the scope named in required_scopes. Do not retry this call.",
        "required_scopes": [
          "store:read"
        ],
        "granted_scopes": [
          "customisers:read"
        ]
      }
    }
  }
}
```
