# io.usefulapi/squadcast (remote · squadcast.usefulapi.io)

Read incidents, services, teams, on-call schedules; acknowledge, resolve and note incidents.

- Trust score: 28/100 (low)
- Change this week: −41
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

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

## Channel facts

- Endpoint: `https://squadcast.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## 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-08-03.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 4 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### Claude

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

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

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

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-squadcast": {
      "type": "http",
      "url": "https://squadcast.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-08-03 (score 28, −45)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Stability: 0.20 → unverified
- [security regression] Authorization: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: fail → unverified

### 2026-08-02 (score 73, +45)

- [security improvement] Authorization: unverified → pass
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Endpoint reachability: not serving MCP → reachable
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.20

### 2026-08-01 (score 28, −44)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Stability: 0.13 → unverified
- [security regression] Authorization: pass → unverified
- [functional regression] Capabilities: fail → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-07-31 (score 72, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 69, −2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 70, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-07-27 (score 69, +57)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (16)

### `squadcast_list_incidents` (~330 tokens)

List incidents

Search/list incidents over a time window with filters (status, service, priority, assignee, tags, sources, starred, SLO-affecting) and sorting. `start_time`, `end_time` (both ISO8601) and `owner_id` (a TEAM id — use squadcast_list_teams to find it) are REQUIRED. Squadcast: GET /v3/incidents/export.

Input parameters:

- `assignedTo` (array): Filter by assignee id(s) → assigned_to.
- `endTime` (string, required): ISO8601 end of the window (required) → end_time.
- `isStarred` (string): Filter to starred incidents → is_starred.
- `ownerId` (string, required): Team id that owns the incidents (required) → owner_id. Use squadcast_list_teams to find it.
- `priority` (array): Filter by priority (e.g. P1..P5) → priority.
- `services` (array): Filter by service id(s) → services.
- `sloAffecting` (string): Filter by SLO-affecting → slo_affecting.
- `sortBy` (string): Sort field → sort_by.
- `sources` (array): Filter by alert source(s) → sources.
- `startTime` (string, required): ISO8601 start of the window (required) → start_time.
- `status` (array): Filter by incident status(es) → status.
- `tags` (array): Filter by tag(s) → tags.
- `textFilter` (string): Free-text filter → textFilter.

### `squadcast_get_incident` (~45 tokens)

Get incident

Get a single incident by its id. Squadcast: GET /v3/incidents/{incidentID}.

Input parameters:

- `incidentId` (string, required): The incident id (required).

### `squadcast_get_incident_events` (~57 tokens)

Get incident events

Get the timeline of events for a single incident (state changes, notifications, actions). Squadcast: GET /v3/incidents/{incidentID}/events.

Input parameters:

- `incidentId` (string, required): The incident id (required).

### `squadcast_list_incident_notes` (~51 tokens)

List incident notes

List the war-room notes on a single incident. Squadcast: GET /v3/incidents/{IncidentId}/warroom.

Input parameters:

- `incidentId` (string, required): The incident id (required).

### `squadcast_list_services` (~95 tokens)

List services

List services for a team. `owner_id` (a TEAM id — use squadcast_list_teams to find it) is REQUIRED. Squadcast: GET /v3/services.

Input parameters:

- `entityOwner` (string): Filter by entity owner → entity_owner.
- `name` (string): Filter by service name → name.
- `ownerId` (string, required): Team id that owns the services (required) → owner_id.

### `squadcast_get_service` (~43 tokens)

Get service

Get a single service by its id. Squadcast: GET /v3/services/{serviceID}.

Input parameters:

- `serviceId` (string, required): The service id (required).

### `squadcast_list_users` (~26 tokens)

List users

List all users in the organization. Squadcast: GET /v3/users.

### `squadcast_get_user` (~43 tokens)

Get user

Get a single user by their id. Squadcast: GET /v3/users/{userID}.

Input parameters:

- `userId` (string, required): The user id (required).

### `squadcast_list_teams` (~47 tokens)

List teams

List all teams in the organization. A team id is the `owner_id`/`teamID` several other tools require. Squadcast: GET /v3/teams.

### `squadcast_get_team` (~44 tokens)

Get team

Get a single team by its id. Squadcast: GET /v3/teams/{teamId}.

Input parameters:

- `teamId` (string, required): The team id (required).

### `squadcast_list_squads` (~71 tokens)

List squads

List squads for a team. `owner_id` (a TEAM id — use squadcast_list_teams to find it) is REQUIRED. Squadcast: GET /v4/squads.

Input parameters:

- `ownerId` (string, required): Team id that owns the squads (required) → owner_id.

### `squadcast_list_schedules` (~196 tokens)

List schedules (on-call)

List on-call schedules for a team. `teamID` is REQUIRED (use squadcast_list_teams to find it). Set `myOnCall` to filter to schedules where the token's own user is currently on call — the 'who's on call' lens. Squadcast: GET /v4/schedules.

Input parameters:

- `cursor` (string): Pagination cursor → cursor.
- `myOnCall` (boolean): Only schedules where the token's user is on call now → myOnCall (the 'who's on call' lens).
- `pageSize` (number): Page size → pageSize.
- `participants` (array): Filter by participant user id(s) → participants.
- `scheduleName` (string): Filter by schedule name → scheduleName.
- `search` (string): Free-text search → search.
- `teamId` (string, required): Team id whose schedules to list (required) → teamID.

### `squadcast_list_escalation_policies` (~103 tokens)

List escalation policies

List escalation policies for a team. `owner_id` (a TEAM id — use squadcast_list_teams to find it) is REQUIRED. Squadcast: GET /v3/escalation-policies.

Input parameters:

- `ownerId` (string, required): Team id that owns the escalation policies (required) → owner_id.
- `pageNumber` (number): Page number → page_number.
- `pageSize` (number): Page size → page_size.

### `squadcast_acknowledge_incident` (~64 tokens)

Acknowledge incident

Acknowledge a triggered incident on the LIVE account (stops escalation/paging for it). Squadcast: POST /v3/incidents/{incidentID}/acknowledge.

Input parameters:

- `incidentId` (string, required): The incident id to acknowledge (required).

### `squadcast_resolve_incident` (~67 tokens)

Resolve incident

Resolve an incident on the LIVE account, recording a resolution message. Squadcast: POST /v3/incidents/{incidentID}/resolve.

Input parameters:

- `incidentId` (string, required): The incident id to resolve (required).
- `message` (string, required): Resolution reason/message (required).

### `squadcast_add_incident_note` (~87 tokens)

Add incident note

Add a war-room note to a LIVE incident (optionally with attachment URLs). Squadcast: POST /v3/incidents/{IncidentId}/warroom.

Input parameters:

- `attachments` (array): Attachment URLs (defaults to none).
- `incidentId` (string, required): The incident id to add a note to (required).
- `message` (string, required): The note message (required).

## Diagnostics

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

## Score history

- 2026-08-03: 28
- 2026-08-02: 73
- 2026-08-01: 28
- 2026-07-31: 72
- 2026-07-30: 69
- 2026-07-29: 71
- 2026-07-28: 70
- 2026-07-27: 69
- 2026-07-26: 12

## Links

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