InfoLeg

MCP para encapsular as capacidades do site https://www.infoleg.gob.ar

Documentação

Servidor MCP InfoLeg

Servidor baseado em Python que implementa o Model Context Protocol (MCP) para fornecer uma interface de interação direta com a base de dados do InfoLeg (Informação Legislativa da República Argentina).

Com este servidor, um agente de IA (como Claude) pode buscar normas, ler seus textos originais ou atualizados, rastrear o histórico de modificações de uma lei e buscar órgãos emissores, tudo sem sair do contexto da conversa.

Capacidades e Ferramentas

O servidor expõe diversas ferramentas padronizadas para interagir com o InfoLeg:

Busca e Navegação

  • buscar_normas: Busca avançada de normas jurídicas usando múltiplos filtros (texto livre, número, tipo, dependências, datas). Suporta operadores lógicos (AND, OR, NOT, *).
  • ver_norma: Obtém os metadados completos e o resumo de uma norma a partir do seu ID único.

Textos de Normas

  • obtener_texto_actualizado: Retorna o texto VIGENTE de uma norma (com modificações aplicadas). É retornado de forma paginada para otimizar o consumo de contexto.
  • obtener_texto_original: Retorna o texto ORIGINAL de uma norma tal como foi sancionada.

Rastreabilidade e Modificações

  • ver_normas_que_modifica: Rastreia o impacto de uma norma indicando quais outras normas anteriores ela modificou, revogou ou complementou.
  • ver_normas_que_la_modifican: Mostra o histórico de alterações que uma norma recebeu por parte de normas posteriores.

Dependências e Tipos

  • buscar_dependencias: Busca por nome (busca difusa) para encontrar o ID de órgãos emissores (ex.: AFIP, Ministérios).
  • get_dependencia_by_id: Obtém os dados exatos de uma dependência a partir de um ID conhecido.
  • Recurso tipos-norma: Catálogo de tipos de norma (Leis, Decretos) com seu ID e nome. Ideal para consultar antes de realizar buscas.

Instalação e Uso Local

Este projeto utiliza uv para o gerenciamento de dependências.

  1. Instalar dependências:

    uv sync
    
  2. Executar o servidor:

    uv run python ./src/server.py
    

Docker

Para executar o servidor em um contêiner:

  1. Construir a imagem:

    docker build -t infoleg-mcp .
    
  2. Executar o contêiner:

    docker run -p 8000:8000 infoleg-mcp
    

O servidor estará disponível em http://localhost:8000 e o endpoint de conexão MCP é http://localhost:8000/sse.

Conectar MCP

Para usá-lo como conector, o servidor deve ser acessível via HTTPS. Você pode implantar a imagem Docker em um serviço de nuvem (GCP, AWS, etc.) ou expô-la em um servidor local usando uma ferramenta como ngrok.

Passos para adicioná-lo no Claude

  1. No Claude.ai Configurações > Conectores > Adicionar Conector Personalizado.
  2. Cole a URL HTTPS do seu servidor implantado incluindo o endpoint /sse (ex.: https://tu-dominio.com/sse).
  3. Verifique se o agente tem acesso às ferramentas para interagir com o InfoLeg