# Magist (remote · magist.io)

Deterministic, cited regulatory research for product launches; legal information, not legal advice.

- Trust score: 82/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `magist.io`: 82/100 (this document), [markdown](https://verifymcp.io/servers/magist-io-magist/api-mcp.md), [page](https://verifymcp.io/servers/magist-io-magist/api-mcp)
- npm · `@magist/mcp-server`: 39/100, [markdown](https://verifymcp.io/servers/magist-io-magist/magist-mcp-server.md), [page](https://verifymcp.io/servers/magist-io-magist/magist-mcp-server)

## Channel facts

- Endpoint: `https://magist.io/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.1`

## 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-11-05.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - 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**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1908 tokens (~159/item across 12 items; 9 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 67/100
  - Stability observed for 20 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**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 11 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 Magist MCP server?

Magist is a hosted endpoint at https://magist.io/api/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 magist-io-magist 'https://magist.io/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "magist-io-magist": {
      "url": "https://magist.io/api/mcp"
    }
  }
}
```

### VS Code

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

### Codex

```toml
[mcp_servers.magist-io-magist]
url = "https://magist.io/api/mcp"
```

### opencode

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

### OpenClaw

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

### Hermes

```yaml
mcp_servers:
  magist-io-magist:
    url: "https://magist.io/api/mcp"
```

### Netclaw

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

### Vellum

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

### Other

```json
{
  "mcpServers": {
    "magist-io-magist": {
      "type": "http",
      "url": "https://magist.io/api/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-11-04 (score 82, +1)

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

### 2026-11-02 (score 81, +1)

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

### 2026-10-30 (score 80, +1)

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

### 2026-10-28 (score 79, +1)

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

### 2026-10-26 (score 78, +1)

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

### 2026-10-24 (score 77, +1)

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

### 2026-10-22 (score 76, +1)

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

### 2026-10-20 (score 75, +1)

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

## MCP tools (9)

### `lookup_regulation` (~109 tokens)

Look up a regulation

Look up one regulation by its Magist id and return structured research information: title, citation, jurisdiction, status, review dates, a plain-language summary, and the Controls that may satisfy it. Returns facts about what a regulation says, not a determination of how it applies to a specific product. Consult counsel for situation-specific questions.

Input parameters:

- `id` (string, required): Magist regulation id, e.g. "gdpr", "coppa", "ai-act". Use search_regulations to discover ids.

### `search_regulations` (~222 tokens)

Search regulations

Search Magist’s regulation corpus by keyword with optional filters (jurisdiction, domain, status, content-review status, coverage depth). Returns a paginated list of matching regulations with permanent citation URLs. Deterministic: the same query and filters return the same results every time. Returns research information for discovery, not a determination of which regulations apply to a specific product.

Input parameters:

- `contentReviewStatus` (string): Filter by practitioner-review state.
- `coverageDepth` (string): Filter by editorial coverage depth.
- `domain` (array): Compliance domain ids, e.g. ["data-privacy","age-verification"].
- `jurisdiction` (array): Jurisdiction codes/names, e.g. ["EU","US"].
- `limit` (integer): Page size (default 10, max 25).
- `offset` (integer): Pagination offset (default 0).
- `query` (string): Free-text keywords. Optional; omit to browse with filters only.
- `status` (string): Lifecycle status filter, e.g. "active", "proposed".

### `compute_requirements` (~310 tokens)

Compute regulatory requirements

Run Magist’s deterministic compliance engine over a product description (features, target markets, audience age bands, optional business model) and return the regulations and Controls that may be triggered, a complexity tier with a numeric score, a blocker count, and a per-audience cohort breakdown. The call also creates or refreshes an idempotent public report URL for the receipt, retained for up to 90 days. Deterministic and reproducible: the same inputs always produce the same output, with no LLM in the path. Returns which obligations may apply for research purposes; it is not a determination that they do apply, and does not replace counsel. Consult a licensed attorney before relying on the result.

Input parameters:

- `audiences` (array): Audience age bands. Exactly these three ids exist.
- `businessModel` (object): Optional business-model context (role, participants, transactionInvolvement, dataHandling). Validated server-side via the same allowlist as /api/compute-requirements.
- `features` (array, required): Product feature ids from the closed catalog, e.g. ["account-creation","text-chat","iap","ai-content-gen"]. Call list_feature_catalog for the full set of valid ids; an id outside the catalog is reject…
- `markets` (array, required): Target market codes, e.g. ["eu","us","california","uk"]. Call list_feature_catalog for the full set of valid ids; an id outside the catalog is rejected with an actionable error.

### `find_controls` (~91 tokens)

Find compliance controls

Given a regulation id, return the compliance Controls that may satisfy it, each with a priority signal (blocker / required / evaluate / best-practice) and a short summary of the work involved. Returns research information about typical control mappings, not a determination that a given product needs them. Consult counsel for scoping.

Input parameters:

- `regulationId` (string, required): Magist regulation id, e.g. "coppa".

### `find_vendors` (~120 tokens)

Find implementation vendors

Given a Control id, list third-party vendors and in-house approaches that may implement it, with effort/cost signals and a source-disclosure (editorial research vs vendor submission). Magist does not accept payment from vendors and does not rank or endorse them. Returns a neutral catalog for research; evaluate fit independently.

Input parameters:

- `controlId` (string, required): Magist Control id, e.g. "age-verification-process".
- `jurisdiction` (string): Optional market/region filter, e.g. "eu". Applied only when a vendor declares supported regions.

### `get_enforcement` (~189 tokens)

Get enforcement actions

Return recent regulatory enforcement actions from Magist’s catalog, optionally filtered by regulation id and a since-date. Each action includes the penalty, authority, a primary-source link, and (where authored) a practitionerAnalysis: a hedged, third-person editorial note on what the action illustrates, informational context that never addresses a specific product. penaltyAmount is null when no monetary amount is recorded (pending, confidential, annulled, or non-monetary outcomes; the amount string carries the honest description). Returns historical facts about what regulators have done: informational context, not a prediction about a specific product.

Input parameters:

- `limit` (integer): Max actions to return (default 10, max 50).
- `regulationId` (string): Filter to actions related to this regulation id.
- `since` (string): ISO date (YYYY-MM-DD) or year (YYYY). Returns actions on or after this date.

### `find_counsel` (~202 tokens)

Find licensed counsel

Search Magist’s open counsel directory for law firms by jurisdiction and practice area. Returns an editorial / firm-claimed directory to help a user identify licensed attorneys to consult. Inclusion is not endorsement; verify bar status and conflicts independently before engaging.

Input parameters:

- `jurisdiction` (string, required): Jurisdiction code, e.g. "us", "us-ca", "eu", "uk". A country/region name ("Australia", "United States") is also accepted and resolved to its code; the code actually searched comes back as `resolvedJu…
- `language` (string): Optional preferred language. Accepted for forward-compatibility; not yet a filter at launch.
- `practiceArea` (string): Optional practice-area / compliance-domain id, e.g. "data-privacy", "age-verification".

### `verify_ai_answer` (~194 tokens)

Verify a Magist citation

Verify a Magist grounding-proof token: the "groundingProof" field on a regulation or control record from the REST API (GET /api/v1/regulations/{id} or /api/v1/controls/{id}) when the server has signing enabled. MCP tool responses do not carry these tokens. Proves the citation was genuinely served by Magist's server for that exact atom at that exact corpus version; it does NOT verify legal correctness or that any obligation applies to a product. Returns valid:false with a reason when the token is missing, malformed, unsigned, or fails signature verification; this is expected when the record never carried a token (signing is an opt-in server setting).

Input parameters:

- `token` (object, required): The groundingProof object exactly as received on a prior response (carries alg, mgstId, corpusVersion, quoteHash, nonce, and the signature fields). Pass it back unmodified.

### `list_feature_catalog` (~88 tokens)

List supported features and markets

Return Magist’s closed catalogs of valid product feature ids and target market ids, each with a short human-readable label -- the exact identifiers compute_requirements accepts as "features" and "markets". Use this to validate ids before calling compute_requirements; ids outside these catalogs are rejected with an actionable error. Deterministic and reproducible; this is reference data, not itself a regulatory determination.

## Diagnostics

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

## Score history

- 2026-11-05: 82
- 2026-11-04: 82
- 2026-11-03: 81
- 2026-11-02: 81
- 2026-11-01: 80
- 2026-10-31: 80
- 2026-10-30: 80
- 2026-10-29: 79
- 2026-10-28: 79
- 2026-10-27: 78
- 2026-10-26: 78
- 2026-10-25: 77
- 2026-10-24: 77
- 2026-10-23: 76
- 2026-10-22: 76
- 2026-10-21: 75
- 2026-10-20: 75
- 2026-10-19: 74
- 2026-10-18: 74
- 2026-10-17: 73
- 2026-10-16: 73

## Common questions

### What is the Magist MCP server?

Magist is an MCP server listed in the public MCP registry as io.github.magist-io/magist. Deterministic, cited regulatory research for product launches; legal information, not legal advice. This page covers its hosted endpoint (https://magist.io/api/mcp).

### Is the Magist MCP server safe to use?

Magist scores 82 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 Magist MCP server expose?

Magist exposes 9 tools: lookup_regulation, search_regulations, compute_requirements, find_controls, find_vendors, and 4 more. Their descriptions and schemas cost roughly 1,525 tokens of context every time the server is loaded.

### Does the Magist MCP server require authentication?

No. We connected to Magist without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Magist MCP server still maintained?

Magist is still listed as active in the MCP registry. We last reached this channel on 5 November 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://magist.io/api/mcp
- Repository: https://github.com/magist-io/magist-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/magist-io-magist/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/magist-io-magist/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/magist-io-magist/api-mcp
