protogrid

Search / io.github.Vaquill-AI/canlii-mcp

CanLII

R1· needs a key

MCP for CanLII: Canadian case law and legislation metadata (federal, provincial, territorial).

v0.1.0 · active · repository · descriptor JSON · versions

An agent can connect on its own if it already holds CANLII_MCP_TOKEN, X_CANLII_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality–not scored
Trust87of 100
Uptime, 30 days99%
Latency p50734 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "canlii-mcp": {
      "type": "http",
      "url": "https://canlii-mcp.vaquill.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${CANLII_MCP_TOKEN}",
        "X-CanLII-Token": "${X_CANLII_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http canlii-mcp https://canlii-mcp.vaquill.ai/mcp --header "Authorization: Bearer ${CANLII_MCP_TOKEN}" --header "X-CanLII-Token: ${X_CANLII_TOKEN}"
[mcp_servers.canlii-mcp]
url = "https://canlii-mcp.vaquill.ai/mcp"
bearer_token_env_var = "CANLII_MCP_TOKEN"
env_http_headers = { "X-CanLII-Token" = "X_CANLII_TOKEN" }
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "canlii-mcp": {
      "type": "remote",
      "url": "https://canlii-mcp.vaquill.ai/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:CANLII_MCP_TOKEN}",
        "X-CanLII-Token": "{env:X_CANLII_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "canlii-mcp": {
      "type": "http",
      "url": "https://canlii-mcp.vaquill.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${CANLII_MCP_TOKEN}",
        "X-CanLII-Token": "${X_CANLII_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=canlii-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY2FubGlpLW1jcC52YXF1aWxsLmFpL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke0NBTkxJSV9NQ1BfVE9LRU59IiwiWC1DYW5MSUktVG9rZW4iOiIke1hfQ0FOTElJX1RPS0VOfSJ9fQ%3D%3D"
}
{
  "servers": {
    "canlii-mcp": {
      "type": "http",
      "url": "https://canlii-mcp.vaquill.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${CANLII_MCP_TOKEN}",
        "X-CanLII-Token": "${X_CANLII_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "canlii-mcp": {
      "httpUrl": "https://canlii-mcp.vaquill.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${CANLII_MCP_TOKEN}",
        "X-CanLII-Token": "${X_CANLII_TOKEN}"
      }
    }
  }
}
extensions:
  "canlii-mcp":
    enabled: true
    name: "canlii-mcp"
    type: streamable_http
    uri: "https://canlii-mcp.vaquill.ai/mcp"
    headers:
      "Authorization": "Bearer ${CANLII_MCP_TOKEN}"
      "X-CanLII-Token": "${X_CANLII_TOKEN}"
    timeout: 300

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

Quality – / 100not scored

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
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 hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

Tool list unknown · checked 2026-10-20 15:26 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

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 87 / 100

provenance80
liveness100
freshness65
hygiene100

+repository +namespace-matches-repo +reachable +uptime-99% ~updated-158d-ago

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

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://canlii-mcp.vaquill.ai/mcp streamable-httpapi_key ${CANLII_MCP_TOKEN}yes99%734 ms–2026-10-20

Tools (0)

No tools observed. Tools appear once a credential-free probe can list them.

Schemas: list_tools.

Similar MCP servers

More from io.github.Vaquill-AI

Official server.json
{
  "name": "io.github.Vaquill-AI/canlii-mcp",
  "title": "CanLII",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://canlii-mcp.vaquill.ai/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "format": "string",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer token gating access to the hosted CanLII MCP endpoint. Format: 'Bearer <token>'."
        },
        {
          "name": "X-CanLII-Token",
          "format": "string",
          "isSecret": true,
          "isRequired": true,
          "description": "Your CanLII API key. Apply for one at https://www.canlii.org/en/feedback/feedback.html. The server never stores your key."
        }
      ]
    }
  ],
  "version": "0.1.0",
  "repository": {
    "url": "https://github.com/Vaquill-AI/canlii-mcp",
    "source": "github"
  },
  "description": "MCP for CanLII: Canadian case law and legislation metadata (federal, provincial, territorial)."
}