protogrid

Search / dev.juriset/juriset

Juriset

R0· no sign-in

Verified, cited US and Canadian employment and payroll rules, each value with its official source.

v0.1.3 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality97new
Trust99of 100
Uptime, 30 days94%
Latency p50330 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "juriset": {
      "type": "http",
      "url": "https://mcp.juriset.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${JURISET_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http juriset https://mcp.juriset.dev/mcp --header "Authorization: Bearer ${JURISET_TOKEN}"
[mcp_servers.juriset]
url = "https://mcp.juriset.dev/mcp"
bearer_token_env_var = "JURISET_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "juriset": {
      "type": "remote",
      "url": "https://mcp.juriset.dev/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:JURISET_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "juriset": {
      "type": "http",
      "url": "https://mcp.juriset.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${JURISET_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=juriset&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmp1cmlzZXQuZGV2L21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke0pVUklTRVRfVE9LRU59In19"
}
{
  "servers": {
    "juriset": {
      "type": "http",
      "url": "https://mcp.juriset.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${JURISET_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "juriset": {
      "httpUrl": "https://mcp.juriset.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${JURISET_TOKEN}"
      }
    }
  }
}
extensions:
  "juriset":
    enabled: true
    name: "juriset"
    type: streamable_http
    uri: "https://mcp.juriset.dev/mcp"
    headers:
      "Authorization": "Bearer ${JURISET_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${JURISET_TOKEN}. The registry never accepts secret values.

Quality 97 / 100new

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 3600000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene94 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations8 of 8 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,377 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pull, stability.new_linkstool history recorded for 4 of the 7 days needed
dependenciesn/a · weight 15

8 tools, about 2,377 tokens to load them all · tool set 58e7180413f4 · tools last changed 2026-11-13 · checked 2026-11-14 07:03 UTC

Tool changes

  • get_rulechangeddescription
    before

    Get the rule in force today for one rule type in one jurisdiction, with its citation: source URL, verbatim excerpt and the snapshot Juriset stored. Example: `{"rule_type": "minimum_wage", "jurisdiction": "us-wa"}`. The response is the API's: `data` holds the values (described by the JSON Schema at `schema_url`), `effective_from` and `verified_at` date them, `id` is the version id to record with any decision that relies on it (see resolve_version), and `verification` says which models extracted and checked it and whether a person reviewed it. Where levels stack (e.g. US federal and state overtime) every level comes back as its own entry in `layers`; Juriset never merges them. Informational only, not legal advice (`disclaimer`).

    after · 76% of words in common

    Get the rule in force today for one rule type in one jurisdiction, with its citation: source URL, verbatim excerpt and the snapshot Juriset stored. Example: `{"rule_type": "minimum_wage", "jurisdiction": "us-wa"}`. The response is the API's: `data` holds the values (described by the JSON Schema at `schema_url`), `effective_from` and `verified_at` date them, `id` is the version id to record with any decision that relies on it (see resolve_version), and `verification` says which models extracted and checked it and whether a person reviewed it. `verified_at` is when the sources were last re-fetched and found unchanged, not the review date (`verification.reviewed_at`); it is null until a newly fetched source has been re-checked once. Read `data` with its schema: optional fields carry defaults there, e.g. a `minimum_wage` tier or exception without `per_unit` is per hour. Where levels stack (e.g. US federal and state overtime) every level comes back as its own entry in `layers`; Juriset never merges them. Informational only, not legal advice (`disclaimer`).

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 99 / 100

provenance100
liveness98
freshness100
hygiene100

+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-94% +updated-0d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] PyPInot resolved yet; dependencies are read once a day

[email protected] npmnot resolved yet; dependencies are read once a day

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.juriset.dev/mcp streamable-httpnoneyes94%330 ms2026-07-282026-11-14
packageregistryversionruntimesecrets
juriset-mcppypi0.1.3uvxJURISET_API_KEY
juriset-mcpnpm0.1.3–JURISET_API_KEY

Tools (8)

compare_jurisdictionsread-onlyGet one rule type across jurisdictions in one call, each entry in the same shape as get_rule. Example: `{"rule_type": "minimum_wage", "jurisdictions": ["us-wa", "us-or", "us-ca"]}`. Without `jurisdictions`, every state and province (or the `level` you name) is returned: about 3 KB each, 50+ entries. Entries are never merged or ranked. Informational only, not legal advice. `as_of` needs an API key whose plan includes as-of queries.
get_ruleread-onlyGet the rule in force today for one rule type in one jurisdiction, with its citation: source URL, verbatim excerpt and the snapshot Juriset stored. Example: `{"rule_type": "minimum_wage", "jurisdiction": "us-wa"}`. The response is the API's: `data` holds the values (described by the JSON Schema at `schema_url`), `effective_from` and `verified_at` date them, `id` is the version id to record with any decision that relies on it (see resolve_version), and `verification` says which models extracted and checked it and whether a person reviewed it. `verified_at` is when the sources were last re-fetched and found unchanged, not the review date (`verification.reviewed_at`); it is null until a newly fetched source has been re-checked once. Read `data` with its schema: optional fields carry defaults there, e.g. a `minimum_wage` tier or exception without `per_unit` is per hour. Where levels stack (e.g. US federal and state overtime) every level comes back as its own entry in `layers`; Juriset never merges them. Informational only, not legal advice (`disclaimer`).
get_rule_as_ofread-onlyGet the rule that was (or will be) in effect on a date, in the same shape as get_rule. Example: `{"rule_type": "minimum_wage", "jurisdiction": "us-wa", "as_of": "2025-06-30"}`. Use it to see what applied when a past decision was made. A date before Juriset's coverage of that jurisdiction is answered with an error that says where coverage starts. Informational only, not legal advice. If the API key's plan does not include as-of queries the error says so.
get_rule_historyread-onlyList every version ever published of one jurisdiction's rule, with its effective dates, values, citation and whether it is current, superseded or withdrawn. Example: `{"rule_type": "minimum_wage", "jurisdiction": "us-wa"}`. Covers that jurisdiction's own rule only; other levels that apply (e.g. `us`) are separate calls. Each entry's `id` can be passed to resolve_version. Informational only, not legal advice.
list_changesread-onlyList changes to published rules, oldest first: new versions, amendments, corrections and repeals, each naming the rule, the versions moved from and to, the effective date and the version id to pass to resolve_version. Example: `{"since": "2026-10-01", "jurisdictions": ["us", "us-wa"]}`. Each jurisdiction matches its own rules only, so for everything that changes Washington's answer pass the federal level too. While `has_more` is true, call again with the response's `cursor`. Needs an API key whose plan includes the change feed; otherwise the error says so. Informational only, not legal advice.
list_jurisdictionsread-onlyList the US and Canadian jurisdictions Juriset covers, or find one by name. The other Juriset tools take slugs, not names. Each entry has the slug, name, level (`country`, `state`, `province`, `county` or `city`) and parent. Examples: `Washington` or `WA` → `us-wa`; `Alberta` → `ca-ab`; the federal levels are `us` and `ca`. Omit `query` for all of them. Reads the registry; no rule lookup.
list_rule_typesread-onlyList the kinds of rule Juriset publishes. Each entry has its slug (the `rule_type` argument of the other tools), domain, description, how jurisdiction levels combine (`override`, `max` or `stack`) and the JSON Schema of its `data`, with every field described. Examples: `minimum_wage` and `overtime` (domain `employment`). Optional `domain` filter. Reads the registry; no rule lookup.
resolve_versionread-onlyGet exactly the version a stored id names, forever, even after it was superseded or withdrawn: the values, effective dates, citation, verification record and its status today. Version ids (`rv_…`) come from the `id` of any rule response. Use it to re-check the value a decision relied on, or to show an auditor which rule applied. Example: `{"version_id": "rv_000000000000000000000000F2"}`. Informational only, not legal advice.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "dev.juriset/juriset",
  "icons": [
    {
      "src": "https://juriset.dev/icon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    },
    {
      "src": "https://juriset.dev/apple-icon.png",
      "sizes": [
        "180x180"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Juriset",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.juriset.dev/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Optional: `Bearer jrs_live_…` with a Juriset API key (https://juriset.dev/account). Without it the keyless tier answers current rules at 60 requests an hour per IP."
        }
      ]
    }
  ],
  "version": "0.1.3",
  "packages": [
    {
      "version": "0.1.3",
      "transport": {
        "type": "stdio"
      },
      "identifier": "juriset-mcp",
      "runtimeHint": "uvx",
      "registryType": "pypi",
      "registryBaseUrl": "https://pypi.org",
      "environmentVariables": [
        {
          "name": "JURISET_API_KEY",
          "isSecret": true,
          "description": "Optional Juriset API key (https://juriset.dev/account). Without one, the keyless tier answers current rules at 60 requests an hour per IP."
        }
      ]
    },
    {
      "version": "0.1.3",
      "transport": {
        "type": "stdio"
      },
      "identifier": "juriset-mcp",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "JURISET_API_KEY",
          "isSecret": true,
          "description": "Optional Juriset API key (https://juriset.dev/account). Without one, the keyless tier answers current rules at 60 requests an hour per IP."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/juriset/mcp-server",
    "source": "github"
  },
  "websiteUrl": "https://juriset.dev",
  "description": "Verified, cited US and Canadian employment and payroll rules, each value with its official source."
}