Magist

io.github.magist-ioPublished by GitHub account magist-iov0.1.1Updated Nov 6, 2026

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

VerifiedStreamable HTTPWeb executableSecurity & MonitoringBusiness & Commerce

Overview

AI-generated overview

Magist gives an assistant deterministic, cited regulatory research: which laws may apply to a product, the controls they imply, enforcement actions and counsel.

What you can do
  • Search and look up regulations by keyword or id, with citations, jurisdiction, status and review dates
  • Run the deterministic compliance engine over product features, markets and audiences to get triggered regulations, controls, complexity tier and blockers
  • Find controls for a regulation and vendors or in-house approaches for a control
  • Retrieve recent enforcement actions with penalties and primary-source links
  • Search an open counsel directory by jurisdiction and practice area
  • List valid feature and market identifiers, and verify signed grounding-proof tokens
When to use it
Useful when researching which regulations may apply to a product launch or feature set, mapping obligations to controls, or gathering enforcement examples and possible counsel before talking to a lawyer. It returns legal information for research and attorney handoff, not legal advice.
Requirements
Either a remote Streamable-HTTP endpoint (no install) or the npm bridge package run with npx, which needs Node.js 18 or newer. No authentication, API keys or headers are required. The bridge can be pointed at another deployment with the MAGIST_MCP_URL environment variable. Network access is needed.
Before you install
Access is unauthenticated and rate-limited, and tool-call telemetry may be recorded. compute_requirements creates a public receipt-report link kept up to 90 days, so only nonconfidential public or synthetic inputs should be sent; avoid personal, confidential or privileged information. The corpus is in beta with some entries AI-prepared and pending attorney review, and outputs are not legal advice.

Installation

In SourceWeft

  1. Open Magist in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.magist-io%2Fmagist/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "magist": {
      "type": "http",
      "url": "https://magist.io/api/mcp"
    }
  }
}

README

@magist/mcp-server

Connect Magist to your AI host over the Model Context Protocol. Magist is an open, deterministic, cited reference for product regulation: which laws apply to a product, the obligations and Controls they imply, and the primary sources behind each. Open data (CC BY-SA 4.0), a deterministic engine (same inputs produce the same outputs, no LLM in the path), permanent citation URLs, and a named-practitioner attribution on every response.

This package is a thin stdio bridge to the hosted server at https://magist.io/api/mcp. Remote-capable hosts can skip it and point straight at that URL.

Offline receipt integrity

The separate receipt-v9 content-integrity utility checks a saved JSON body hash using only Node built-ins. It makes no network call and does not run the engine or authenticate the sender. Its synthetic tests and source are separate from the published bridge and plugin payloads.

Research plugin packages (experimental previews)

This repository also contains the separate magist-research 0.1.1 portable plugin: root plugin.json, the remote connection in mcp.json, and a newly authored workflow in skills/magist-research/. It connects directly to the public HTTPS service and does not run the npm stdio bridge.

The portable connection uses only type and url, as allowed by the Agent Plugins 1.0.0 MCP schema. The endpoint requires no authentication. The schema does not admit the server-level authentication extensions shown in some host-specific examples; those extensions are omitted here. Schema validation alone does not establish that a host can install and run the complete plugin.

Create its bounded source package with Python 3.9 or newer:

bash
python3 scripts/package-plugin.py --output /absolute/new/path/magist-research-0.1.1.zip

The ZIP includes the two portable manifests, the skill and its MCP dependency declaration, an existing public Magist icon, and this repository's MIT license. It excludes the bridge executable, dependencies, private platform source and assets. The plugin version is independent of @magist/[email protected].

This is a proposed integration package, not an accepted directory listing or a host validation certificate. Public submission uses OpenAI's With MCP route; publisher verification, actual host/reviewer cases, media, any required visual assets, connection checks and submission review remain separate requirements. See the portable package format.

OpenAI listing metadata and five positive/three negative reviewer scenarios are included in plugin.json. Those are proposed host cases, not records of completed installed-plugin runs. A reviewer video is not yet supplied; the website demo is not an installed-plugin walkthrough.

Claude plugin and optional Desktop bundle

The Claude plugin lives at integrations/claude. It uses Claude's separate .claude-plugin/plugin.json and .mcp.json format, pins its reviewed Claude skill bytes, and connects to the same hosted endpoint. Version 0.1.2 adds an explicit audience, bounded research work shape, evidence-confidence bands and escalation rules, retaining the illustrative lookup and response template. These design controls do not establish unconditional framework readiness, installed-host behavior or directory acceptance. The shared OpenAI skill and optional Desktop bundle remain separate, unchanged artifacts. Its clean subfolder excludes this repository's top-level bin/, which chat and Cowork do not accept in a plugin. Build both artifacts without installing dependencies:

bash
python3 scripts/package-claude.py --kind plugin --output /absolute/new/path/magist-claude-plugin-0.1.2.zippython3 scripts/package-claude.py --kind desktop --output /absolute/new/path/magist-desktop-0.1.1.mcpb

The .mcpb embeds the exact dependency-free published 0.1.1 bridge and requires Node.js 18 or newer. It is unsigned and for private Desktop testing. Claude's current directory no longer accepts Desktop MCPB listings. For public review, submit the remote MCP connector and the integrations/claude plugin folder as two linked submissions from the same intended publisher organization. See Claude's current directory routes. No package here implies installation, portal validation, acceptance or a completed Claude workflow.

Beta: content under attorney review. The server is live and the engine is stable; substantive attorney review of the regulation corpus is in progress. Entries carry a contentReviewStatus field (reviewed is human-verified, draft is AI-prepared and pending review). Magist returns legal information for research and attorney handoff, not legal advice. Consult a licensed attorney before relying on any output for a launch decision.

One-line install

Claude Code (CLI) uses the remote transport directly (no npm install):

bash
claude mcp add --transport http magist https://magist.io/api/mcp

Claude Desktop / Cursor / Windsurf (npx): add the bridge to the host's mcpServers config:

json
{  "mcpServers": {    "magist": {      "command": "npx",      "args": ["-y", "@magist/mcp-server"]    }  }}
  • Claude Desktop: Settings -> Developer -> Edit Config (claude_desktop_config.json). Restart Claude after saving.

  • Cursor: Settings -> MCP -> Add new server, or edit ~/.cursor/mcp.json.

  • Windsurf: edit ~/.codeium/windsurf/mcp_config.json, then reload.

  • Codex: add to ~/.codex/config.toml:

    toml
    [mcp_servers.magist]command = "npx"args = ["-y", "@magist/mcp-server"]

ChatGPT (Developer Mode / Connectors), Manus, and other remote-capable hosts: add a custom connector pointing at the Streamable-HTTP endpoint https://magist.io/api/mcp (no npm package needed).

Verify it works

A 200 with name: "magist" means the endpoint is live:

bash
curl -s https://magist.io/api/mcp

List the tools (you should see nine):

bash
curl -s -X POST https://magist.io/api/mcp \  -H 'content-type: application/json' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

In your host, once connected, ask Magist to look up COPPA and list its Controls. A working connection returns a cited regulation record, not a refusal or a no-such-tool error.

Tools

ToolWhat it returns
lookup_regulation(id)One regulation's structured record: citation, jurisdiction, status, review dates, plain-language summary, and the Controls that may satisfy it.
search_regulations(query, filters?)Deterministic keyword + filter search over the corpus, with permanent citation URLs.
compute_requirements(features, markets, audiences, businessModel?)Runs the deterministic engine: triggered regulations + Controls, complexity tier, blocker count, per-audience breakdown. Creates or refreshes an idempotent public receipt-report link retained for up to 90 days; use only nonconfidential public or synthetic inputs.
find_controls(regulationId)Controls that may satisfy a regulation, each with a priority signal and summary.
find_vendors(controlId, jurisdiction?)Vendors and in-house approaches that implement a Control, with effort/cost and a source disclosure. Magist does not accept payment from vendors.
get_enforcement(regulationId?, since?, limit?)Recent enforcement actions with penalties, authorities, and primary-source links.
find_counsel(jurisdiction, practiceArea?, language?)Open counsel directory by jurisdiction and practice area. Inclusion is not endorsement.
list_feature_catalog()The closed feature, market, and audience identifiers accepted by compute_requirements, so agents can validate inputs before analysis.
verify_ai_answer(token)Verifies a signed Magist grounding-proof token from the REST API. It proves what Magist served, not legal correctness or applicability.

Eight tools read the public corpus or verify a grounding-proof signature. compute_requirements additionally persists the public receipt report described above. Access is unauthenticated and subject to server rate limits; do not send personal, confidential or privileged information. Tool-call telemetry may be recorded. The bridge package license does not license the hosted platform.

Self-hosting

Set MAGIST_MCP_URL to point the bridge at your own deployment of the open corpus and engine:

json
{  "mcpServers": {    "magist": {      "command": "npx",      "args": ["-y", "@magist/mcp-server"],      "env": { "MAGIST_MCP_URL": "https://your-host.example.com/api/mcp" }    }  }}

For host LLM developers

Every tool response is wrapped in a canonical envelope. When you render a Magist response to a user: render the disclaimer.text field verbatim; do not restate outputs as directives or conclusions; surface the practitioner attribution and the verification field; suggest a licensed attorney when counsel_recommended is true; and prefer the citations links when you summarize.

Links

Source: README.md at commit 2912d9f

Tools

9

lookup_regulation

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.

Parametersidrequired

search_regulations

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.

ParameterslimitquerydomainoffsetstatusjurisdictioncoverageDepthcontentReviewStatus

compute_requirements

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.

ParametersmarketsrequiredfeaturesrequiredaudiencesbusinessModel

find_controls

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.

ParametersregulationIdrequired

find_vendors

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.

ParameterscontrolIdrequiredjurisdiction

get_enforcement

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.

ParameterslimitsinceregulationId

find_counsel

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.

ParameterslanguagejurisdictionrequiredpracticeArea

verify_ai_answer

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

Parameterstokenrequired

list_feature_catalog

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.

Takes no parameters.

Version history

1
  1. v0.1.1LatestOct 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts