Movahedi Privacy API

Dados gratuitos de privacidade canadense para assistentes de IA: ações de fiscalização de privacidade pesquisáveis (OPC, CAI Quebec), um glossário de privacidade em linguagem simples com 263 termos e uma lista de verificação de conformidade com a Lei 25 de Quebec em 11 pontos. Servidor MCP HTTP transmitível com cinco ferramentas somente leitura. Sem necessidade de cadastro; cotas gratuitas generosas.

Servidor MCP hospedado

npx add-mcp 'https://movahedi.ca/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Início rápido

Nenhuma chave é necessária para as primeiras 2.000 chamadas por dia. Experimente:

curl "https://movahedi.ca/api/v1/enforcement?regulator=cai&per_page=5"

A resposta é envolvida em um pequeno envelope: data contém o payload, meta contém a paginação, lang é sempre "en".

Endpoints

MétodoCaminhoO que retorna
GET/api/v1/enforcementAções de fiscalização CAI e OPC verificadas (filtre por regulator, year, q)
GET/api/v1/enforcement/:idUma ação de fiscalização, registro completo
GET/api/v1/glossaryTermos do glossário de privacidade (filtre por q, letter)
GET/api/v1/glossary/:termUma definição do glossário por slug
GET/api/v1/law25/checklistRequisitos da Lei 25 de Quebec (filtre por category)
GET/api/v1/openapi.jsonEspecificação OpenAPI 3.1 legível por máquina
GET/api/v1/termsTermos de uso da API
GET/api/v1/healthStatus do serviço e versão dos dados
POST/mcpServidor MCP (Streamable HTTP, JSON-RPC)

Toda resposta carrega ETag para cache. Envie If-None-Match para receber um 304 quando nada mudou.

Cotas

  • Anônimo: 2.000 chamadas por IP por dia UTC.
  • Com chave gratuita: 10.000 chamadas por chave por dia UTC.

Os cabeçalhos de cota voltam em toda resposta: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Quando a cota é esgotada, você recebe HTTP 429 com um cabeçalho Retry-After e um link para obter uma chave.

Autenticação

As chaves são gratuitas e não exigem conta ou e-mail. Envie a sua como um token de portador:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://movahedi.ca/api/v1/glossary?query=consent"

Obtenha uma chave resolvendo um desafio Cloudflare Turnstile e aceitando os termos da API. A chave é exibida uma única vez e nunca é armazenada em nosso lado.

Exemplos

JavaScript

const res = await fetch(
  "https://movahedi.ca/api/v1/law25/checklist?category=Consent",
  { headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
const { data } = await res.json();
console.log(data.items.map((c) => c.title));

Python

import requests

res = requests.get(
    "https://movahedi.ca/api/v1/enforcement",
    params={"regulator": "cai", "per_page": 5},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)
res.raise_for_status()
for case in res.json()["data"]["items"]:
    print(case["date"], "-", case["title"])

Servidor MCP

Aponte qualquer cliente MCP para o endpoint Streamable HTTP: https://movahedi.ca/mcp. Sem cadastro, sem chave necessária.

Claude Code

claude mcp add --transport http movahedi-privacy https://movahedi.ca/mcp

Claude Desktop

Abra Configurações > Conectores > Adicionar conector personalizado, ou use o botão acima. Digite o nome Movahedi Privacy API e a URL https://movahedi.ca/mcp. Em versões mais antigas sem conectores personalizados, adicione isso a claude_desktop_config.json (requer Node.js):

{
  "mcpServers": {
    "movahedi-ca-privacy": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://movahedi.ca/mcp"]
    }
  }
}

Cursor

Adicione a ~/.cursor/mcp.json (todo projeto) ou .cursor/mcp.json (este projeto), ou use o botão de um clique acima:

{
  "mcpServers": {
    "movahedi-ca-privacy": {
      "url": "https://movahedi.ca/mcp"
    }
  }
}

Windsurf

Adicione a ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "movahedi-ca-privacy": {
      "serverUrl": "https://movahedi.ca/mcp"
    }
  }
}

VS Code

Adicione a .vscode/mcp.json:

{
  "servers": {
    "movahedi-ca-privacy": {
      "type": "http",
      "url": "https://movahedi.ca/mcp"
    }
  }
}

Qualquer outro cliente

{
  "mcpServers": {
    "movahedi-ca-privacy": {
      "url": "https://movahedi.ca/mcp"
    }
  }
}

Cinco ferramentas somente leitura são expostas:

  • privacy_search_enforcement_actions: encontre casos por palavra-chave, regulador ou ano
  • privacy_get_enforcement_case: registro completo para um ID de caso
  • privacy_lookup_glossary_term: definição para um slug de termo
  • privacy_list_glossary_terms: navegue ou pesquise o glossário, paginado
  • privacy_law25_requirements: a lista de verificação da Lei 25, opcionalmente por categoria

Exemplos de prompts após conectar:

  • “Pesquise ações de fiscalização da CAI envolvendo vigilância por vídeo e resuma os resultados.”
  • “Qual é a definição do glossário de privacidade para consentimento significativo?”
  • “Liste os requisitos da Lei 25 sobre consentimento e retenção de dados.”

Envie a chave da API como Authorization: Bearer ... se você tiver uma. O servidor negocia a versão do protocolo MCP em initialize e retorna saída estruturada em cada chamada de ferramenta.

Listagens

Também listado no diretório MCP do Claude Market e no Glama.

Códigos de erro

StatusCódigoSignificado
400invalid_parameterUm parâmetro de consulta falhou na validação. A mensagem nomeia o parâmetro e seus valores permitidos.
404not_foundNenhum registro corresponde ao ID ou slug. A mensagem aponta para o endpoint de busca.
405method_not_allowedApenas GET é aceito nas rotas de dados.
429quota_exhaustedCota diária esgotada. Inclui key_url e Retry-After.
500internal_errorAlgo quebrou em nosso lado. Seguro tentar novamente após uma breve espera.

Registro de alterações

v1.0.0, 2026-09-24

  • Lançamento inicial: ações de fiscalização, glossário, lista de verificação da Lei 25, servidor MCP, chaves de API gratuitas.
  • Versão dos dados 2026-09-24: 5 ações de fiscalização verificadas, 263 termos do glossário, 11 verificações da Lei 25.

Termos

Os dados são gratuitos para uso pessoal e comercial com atribuição a movahedi.ca. São fornecidos como estão, apenas para fins informativos, e não constituem aconselhamento jurídico. Termos completos: /api/v1/terms.