# StoreRocket MCP by usefulapi (remote · storerocket.usefulapi.io)

Read StoreRocket projects and store-locator locations; create and update locations.

- Trust score: 58/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-25

## Components

- remote · `storerocket.usefulapi.io`: 58/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-storerocket/storerocket.md), [page](https://verifymcp.io/servers/io-usefulapi-storerocket/storerocket)

## Channel facts

- Endpoint: `https://storerocket.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.3`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-25.

- **Endpoint Security**: 78/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 73/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2161 tokens (~360/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 50/100
  - Injection-marker check failed: the description of parameter "visible" on tool "storerocket_create_location" contains an instruction to conceal the call from the user, the text "keep it hidden", at byte 56 of that field.
  - We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the StoreRocket MCP by usefulapi server?

StoreRocket MCP by usefulapi is a hosted endpoint at https://storerocket.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-storerocket 'https://storerocket.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-storerocket": {
      "url": "https://storerocket.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-storerocket": {
      "type": "http",
      "url": "https://storerocket.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-storerocket]
url = "https://storerocket.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-storerocket": {
      "type": "remote",
      "url": "https://storerocket.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-storerocket --url 'https://storerocket.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-storerocket:
    url: "https://storerocket.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-storerocket": {
      "Transport": "http",
      "Url": "https://storerocket.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-storerocket -t streamable-http -u 'https://storerocket.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-storerocket": {
      "type": "http",
      "url": "https://storerocket.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-25 (score 58, 0)

- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 1.0.0 → 1.0.3

### 2026-10-24 (score 58)

First indexed and scored.

## MCP tools (6)

### `storerocket_get_user` (~33 tokens)

Get user

The StoreRocket user the API token belongs to: id, name, email and company. GET /user.

### `storerocket_list_projects` (~69 tokens)

List projects

List the StoreRocket projects (store locators) the token's user belongs to: public id, name, number of locations, status and plan. Use the id as project_id in every location tool. Location tools need a project on the Business plan (API access). GET /projects.

### `storerocket_list_locations` (~396 tokens)

List locations

List the locations of a project (name, address, city, coordinates, phone, visibility, location type, marker, cover image), 25 per page by default, with optional filters on name, address, city, state, country and postal code and optional hours/filters/custom fields/calls to action. Needs the location:read permission. GET /projects/{project_id}/locations.

Input parameters:

- `address` (string): Filter by address.
- `address_operator` (string): eq (exact, default) or like (substring).
- `city` (string): Filter by city.
- `city_operator` (string): eq (exact, default) or like (substring).
- `country` (string): Filter by country.
- `country_operator` (string): eq (exact, default) or like (substring).
- `include_calls_to_action` (boolean): Include calls to action (buttons) on every location (default false).
- `include_fields` (boolean): Include custom fields on every location (default false).
- `include_filters` (boolean): Include search filters on every location (default false).
- `include_hours` (boolean): Include opening hours on every location (default false).
- `limit` (integer): Locations per page, 1-100 (default 25).
- `name` (string): Filter by location name.
- `name_operator` (string): How name is matched: eq (exact, default), ne (not equal) or like (substring).
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `postal_code` (string): Filter by exact postal code.
- `project_id` (string, required): Public project id (from storerocket_list_projects), kept as a string.
- `state` (string): Filter by state or region.
- `state_operator` (string): eq (exact, default) or like (substring).

### `storerocket_get_location` (~171 tokens)

Get location

One location by id, optionally with its opening hours, search filters, custom fields and calls to action. Needs the location:read permission. GET /projects/{project_id}/locations/{location_id}.

Input parameters:

- `include_calls_to_action` (boolean): Include calls to action (buttons) on every location (default false).
- `include_fields` (boolean): Include custom fields on every location (default false).
- `include_filters` (boolean): Include search filters on every location (default false).
- `include_hours` (boolean): Include opening hours on every location (default false).
- `location_id` (string, required): Public location id (from storerocket_list_locations), kept as a string.
- `project_id` (string, required): Public project id (from storerocket_list_projects), kept as a string.

### `storerocket_create_location` (~532 tokens)

Create location

WRITE: add a location to a project's store locator. name and city are required; supply lat and lng for a precise pin (otherwise StoreRocket geocodes the address, which can be off). It appears on the live locator immediately unless visible is false, so set visible=false for a coming-soon or draft location. Opening hours: omit, or give all seven days. Creating twice makes two locations, so check storerocket_list_locations before retrying after an error. Needs the location:create permission. POST /projects/{project_id}/locations.

Input parameters:

- `address_line_1` (string): Street address.
- `address_line_2` (string): Additional address information.
- `calls_to_action` (object): Calls to action as {"Book":"https://example.com/book"}.
- `city` (string, required): City.
- `country` (string): Country.
- `email` (string): Email address.
- `facebook`: facebook profile handle or URL; null clears it (update only).
- `fields` (object): Custom fields as {"Manager":"Sam"}.
- `filters` (array): Filter names to attach.
- `hours` (object): A FULL week: all seven days (mon..sun), each a range like 09:00-17:00 or closed. Omit for no schedule.
- `instagram`: instagram profile handle or URL; null clears it (update only).
- `lat` (number): Latitude, -90 to 90. Supply with lng for an exact pin.
- `lng` (number): Longitude, -180 to 180. Supply with lat for an exact pin.
- `location_type` (string): Name of an existing location type in the project.
- `name` (string, required): Location name.
- `phone` (string): Phone number.
- `postcode` (string): Postal code.
- `project_id` (string, required): Public project id (from storerocket_list_projects), kept as a string.
- `state` (string): State or region.
- `tiktok`: tiktok profile handle or URL; null clears it (update only).
- `timezone` (string): Location timezone, e.g. Europe/London.
- `twitter`: twitter profile handle or URL; null clears it (update only).
- `url` (string): Website URL.
- `visible` (boolean): Whether the location shows on the locator. Set false to keep it hidden.
- `yelp`: yelp profile handle or URL; null clears it (update only).
- `youtube`: youtube profile handle or URL; null clears it (update only).

### `storerocket_update_location` (~704 tokens)

Update location

WRITE: change selected fields of one location with a partial update (PATCH): only the fields you send change, everything else is kept. The change shows on the live locator at once. Use null to clear phone, email, url, socials or cover; hours accepts single days (hours:{mon:'09:00-17:00'}), null for a day clears it, hours:null removes the whole schedule; fields and calls_to_action merge by name (a null value removes that entry); filters REPLACES the list ([] clears it). To take a location off the locator without deleting it, set visible=false. An invalid value saves nothing. Needs the location:update permission. PATCH /projects/{project_id}/locations/{location_id}.

Input parameters:

- `address_line_1`: Street address. Send null to clear it.
- `address_line_2`: Additional address information. Send null to clear it.
- `calls_to_action`: Calls to action to add or update by name, e.g. {"Book":"https://example.com/book"}; null clears all.
- `city` (string): New city.
- `country`: Country. Send null to clear it.
- `cover`: Cover image URL or the project's stored image name; null clears it.
- `email`: Email address. Send null to clear it.
- `facebook`: facebook profile handle or URL; null clears it (update only).
- `fields`: Custom fields to add or update by name, e.g. {"Manager":"Sam","Old":null}; null clears all.
- `filters`: REPLACES the filter list; [] or null clears it.
- `hours`: Days to change (mon..sun or full names), each 'HH:MM-HH:MM', 'closed' or null to clear; null removes the schedule; {} keeps it.
- `instagram`: instagram profile handle or URL; null clears it (update only).
- `lat` (number): Latitude, -90 to 90. When moving a location, send the new lat and lng together (an address change alone keeps the old pin).
- `lng` (number): Longitude, -180 to 180.
- `location_id` (string, required): Public location id (from storerocket_list_locations), kept as a string.
- `location_type`: Name of a location type in the project; null restores the project default.
- `marker_id`: Id of a marker in the project; null restores the project default.
- `name` (string): New location name.
- `phone`: Phone number. Send null to clear it.
- `postcode`: Postal code. Send null to clear it.
- `project_id` (string, required): Public project id (from storerocket_list_projects), kept as a string.
- `state`: State or region. Send null to clear it.
- `tiktok`: tiktok profile handle or URL; null clears it (update only).
- `timezone`: Location timezone, e.g. Europe/London.
- `twitter`: twitter profile handle or URL; null clears it (update only).
- `url`: Website URL. Send null to clear it.
- `visible` (boolean): Show (true) or hide (false) the location on the locator.
- `yelp`: yelp profile handle or URL; null clears it (update only).
- `youtube`: youtube profile handle or URL; null clears it (update only).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-storerocket/storerocket#diagnostics

## Score history

- 2026-10-25: 58
- 2026-10-24: 58

## Common questions

### What is the StoreRocket MCP by usefulapi server?

StoreRocket MCP by usefulapi is listed in the public MCP registry as io.usefulapi/storerocket. Read StoreRocket projects and store-locator locations; create and update locations. This page covers its hosted endpoint (https://storerocket.usefulapi.io/mcp).

### Is the StoreRocket MCP by usefulapi server safe to use?

StoreRocket MCP by usefulapi scores 58 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the StoreRocket MCP by usefulapi server expose?

StoreRocket MCP by usefulapi exposes 6 tools: storerocket_get_user, storerocket_list_projects, storerocket_list_locations, storerocket_get_location, storerocket_create_location, storerocket_update_location. Their descriptions and schemas cost roughly 1,905 tokens of context every time the server is loaded.

### Does the StoreRocket MCP by usefulapi server require authentication?

Yes. StoreRocket MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the StoreRocket MCP by usefulapi server still maintained?

StoreRocket MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 25 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://storerocket.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/storerocket/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-storerocket/storerocket.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-storerocket/storerocket.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-storerocket/storerocket
