mcp-seipro
MCP Server do SEI Pro para o SEI (Sistema Eletrônico de Informações) via API REST mod-wssei v2.
Permite ao Claude Code (e qualquer cliente MCP) gerenciar processos, documentos, tramitação, assinatura, blocos, marcadores e acompanhamento em qualquer instância do SEI.
Quick Start (Claude Desktop)
git clone https://github.com/sei-pro/mcp-seipro.git
cd mcp-seipro
python3 setup_claude.py
O script pergunta suas credenciais do SEI, instala o pacote e configura o Claude Desktop automaticamente. Depois é só reiniciar o app.
Instalação manual
pip install mcp-seipro
Requisitos de sistema (para OCR de PDFs escaneados):
tesseract-ocretesseract-ocr-porpoppler-utils(para pdf2image)
Configuração
Variáveis de ambiente
| Variável | Obrigatória | Descrição |
|---|---|---|
SEI_URL |
Sim | URL base da API mod-wssei v2 |
SEI_USUARIO |
Sim | Usuário para autenticação |
SEI_SENHA |
Sim | Senha para autenticação |
SEI_ORGAO |
Sim | Código do órgão |
SEI_CONTEXTO |
Não | Contexto opcional |
SEI_VERIFY_SSL |
Não | true (padrão) ou false |
SEI_OCR_LANG |
Não | Idioma do OCR (padrão: por) |
Registro no Claude Code
Adicione ao .mcp.json do projeto ou ~/.claude.json (global):
{
"mcpServers": {
"sei": {
"command": "mcp-seipro",
"env": {
"SEI_URL": "${SEI_URL}",
"SEI_USUARIO": "${SEI_USUARIO}",
"SEI_SENHA": "${SEI_SENHA}",
"SEI_ORGAO": "${SEI_ORGAO}"
}
}
}
}
Tools disponíveis (64)
Navegação e contexto (4)
| Tool | Descrição | ✅ |
|---|---|---|
sei_listar_unidades |
Lista unidades acessíveis pelo usuário | ✅ |
sei_trocar_unidade |
Troca a unidade ativa | ✅ |
sei_pesquisar_unidades |
Pesquisa unidades por nome/sigla | ✅ |
sei_listar_usuarios |
Lista usuários (filtra por unidade ativa e nome) | ✅ |
Processos — consulta (5)
| Tool | Descrição | ✅ |
|---|---|---|
sei_listar_processos |
Lista caixa da unidade (todas_paginas=true) |
✅ |
sei_pesquisar_processos |
Pesquisa por texto, descrição ou datas | ✅ |
sei_consultar_processo |
Consulta processo pelo protocolo formatado | ✅ |
sei_resumo_processos |
Resumo agrupado por 17 campos | ✅ |
sei_listar_unidades_processo |
Lista unidades onde o processo está aberto | ✅ |
Processos — gestão (14)
| Tool | Descrição | ✅ |
|---|---|---|
sei_criar_processo |
Cria novo processo (público ou restrito) | ✅ |
sei_alterar_processo |
Altera metadados (nível de acesso, especificação) | ✅ |
sei_enviar_processo |
Tramita para outra(s) unidade(s) — aceita sigla | ✅ |
sei_concluir_processo |
Conclui na unidade atual | ✅ |
sei_reabrir_processo |
Reabre processo concluído | ✅ |
sei_receber_processo |
Confirma recebimento na unidade | ✅ |
sei_atribuir_processo |
Atribui a um usuário (aceita nome) | ✅ |
sei_remover_atribuicao |
Remove atribuição de processo | ✅ |
sei_marcar_nao_lido |
Marca processo como não lido na unidade | ✅ |
sei_sobrestar_processo |
Sobresta processo (motivo obrigatório) | ✅ |
sei_remover_sobrestamento |
Remove sobrestamento | ✅ |
sei_pesquisar_tipos_processo |
Pesquisa tipos de processo | ✅ |
sei_pesquisar_hipoteses_legais |
Pesquisa hipóteses legais (restrito/sigiloso) | ✅ |
sei_listar_interessados |
Lista interessados do processo | ✅ |
Documentos — leitura (7)
| Tool | Descrição | ✅ |
|---|---|---|
sei_arvore_processo |
Árvore completa com metadados, volumes e emojis | ✅ |
sei_buscar_documento |
Busca documento pelo número SEI (via Solr) | ✅ |
sei_listar_documentos |
Lista documentos de um processo | ✅ |
sei_ler_documento |
Lê documento (📄 HTML ou 📎 PDF/OCR) em Markdown | ✅ |
sei_baixar_anexo |
Baixa documento externo em base64 (max 10MB) | ✅ |
sei_pesquisar_tipos_documento |
Pesquisa tipos de documento (séries) | ✅ |
sei_listar_assinaturas |
Lista assinaturas de um documento | ✅ |
Documentos — escrita (8)
| Tool | Descrição | ✅ |
|---|---|---|
sei_criar_documento |
Cria documento interno vazio | ✅ |
sei_criar_documento_externo |
Cria documento externo com upload de arquivo | ✅ |
sei_listar_secoes |
Lista seções editáveis de um documento | ✅ |
sei_editar_secao |
Altera conteúdo HTML (preenche somenteLeitura auto) | ✅ |
sei_assinar_documento |
Assinatura eletrônica | ✅ |
sei_cancelar_assinatura |
Tenta cancelar assinatura via edição | ✅ |
sei_gerar_referencia |
Gera hiperlink dinâmico para documento citado | ✅ |
sei_estilos |
Consulta dicionário de 39 estilos CSS do SEI | ✅ |
Ciência e andamento (4)
| Tool | Descrição | ✅ |
|---|---|---|
sei_dar_ciencia |
Dá ciência em documento ou processo | ✅ |
sei_listar_ciencias |
Lista ciências registradas | ✅ |
sei_registrar_andamento |
Registra andamento/atividade no processo | ✅ |
sei_listar_sobrestamentos |
Lista histórico de sobrestamentos | ✅ |
Anotação (1)
| Tool | Descrição | ✅ |
|---|---|---|
sei_criar_anotacao |
Cria anotação (post-it) no processo | ✅ |
Contato (1)
| Tool | Descrição | ✅ |
|---|---|---|
sei_pesquisar_contatos |
Pesquisa contatos cadastrados | ✅ |
Marcador (5)
| Tool | Descrição | ✅ |
|---|---|---|
sei_criar_marcador |
Cria marcador (lista cores se omitida) | ✅ |
sei_excluir_marcador |
Exclui marcador(es) | ✅ |
sei_marcar_processo |
Adiciona marcador a um processo | ✅ |
sei_pesquisar_marcadores |
Lista marcadores disponíveis | ✅ |
sei_consultar_marcador_processo |
Consulta marcadores ativos de um processo | ✅ |
Acompanhamento especial (5)
| Tool | Descrição | ✅ |
|---|---|---|
sei_acompanhar_processo |
Adiciona acompanhamento especial | ✅ |
sei_remover_acompanhamento |
Remove acompanhamento | ✅ |
sei_listar_grupos_acompanhamento |
Lista grupos de acompanhamento | ✅ |
sei_criar_grupo_acompanhamento |
Cria grupo de acompanhamento | ✅ |
sei_excluir_grupo_acompanhamento |
Exclui grupo de acompanhamento | ✅ |
Bloco interno (3)
| Tool | Descrição | ✅ |
|---|---|---|
sei_criar_bloco_interno |
Cria bloco interno | ✅ |
sei_incluir_processo_bloco_interno |
Inclui processo(s) no bloco | ✅ |
sei_retirar_processo_bloco_interno |
Remove processo(s) do bloco | ✅ |
Bloco de assinatura (7)
| Tool | Descrição | ✅ |
|---|---|---|
sei_criar_bloco_assinatura |
Cria bloco (aceita sigla de unidades) | ✅ |
sei_incluir_documento_bloco_assinatura |
Inclui documento(s) no bloco | ✅ |
sei_disponibilizar_bloco_assinatura |
Disponibiliza bloco para assinatura | ✅ |
sei_cancelar_disponibilizacao_bloco |
Cancela disponibilização | ✅ |
sei_pesquisar_blocos_assinatura |
Pesquisa blocos existentes | ✅ |
sei_assinar_bloco |
Assina todos os documentos de um bloco | |
sei_assinar_documentos_bloco |
Assina documentos específicos de um bloco |
Funcionalidades
Resolução automática
| Parâmetro | Aceita | Exemplo |
|---|---|---|
| Documento | Número SEI ou id interno | sei_ler_documento("2843449") |
| Processo | Protocolo ou IdProcedimento | sei_criar_anotacao(processo="50300.018905/2018-67") |
| Unidade | Sigla ou ID | sei_enviar_processo(unidades_destino="SFC") |
| Usuário | Nome ou ID | sei_atribuir_processo(usuario="Karina") |
Leitura universal de documentos
- 📄 Internos (HTML) → Markdown (tabelas limpas, sem colunas vazias)
- 📎 PDFs com texto → Markdown via pdfplumber
- 📎 PDFs escaneados → Markdown via OCR (tesseract, limite 20 páginas)
Upload de documentos
sei_criar_documento_externo aceita caminho local de arquivo:
sei_criar_documento_externo(
processo="50300.018905/2018-67",
id_serie="15", # Nota Técnica
arquivo_path="/caminho/para/documento.pdf",
)
Estilos CSS do SEI
Despachos: Paragrafo_Numerado_Nivel1 (corpo), âncora SEI no destinatário
Notas Técnicas: Item_Nivel1/2/3/4 (≈ H1/H2/H3/H4), Item_Alinea_Letra (a, b, c), Item_Inciso_Romano (I, II, III)
Regra: toda numeração usa classes CSS, nunca texto manual.
Hiperlinks dinâmicos
SEI nº <span contenteditable="false"><a class="ancoraSei" id="lnkSei{id}">NÚMERO</a></span>
Destinatário com âncora
À <span class="ancoraSei interessadoSeiPro" data-id="ID_UNIDADE">SIGLA - Nome</span>
Fluxo de bloco de assinatura
sei_criar_bloco_assinatura(descricao, unidades="SFC") → cria bloco com unidades
sei_incluir_documento_bloco_assinatura(id_bloco, docs) → inclui documentos
sei_disponibilizar_bloco_assinatura(id_bloco) → disponibiliza para assinatura
sei_assinar_bloco(id_bloco, login, senha, cargo) → assina tudo
sei_cancelar_disponibilizacao_bloco(id_bloco) → cancela se necessário
Limitações conhecidas
- Cancelar assinatura: função existe no core do SEI (
DocumentoRN::cancelarAssinaturaInternoControlado) mas não exposta na API REST. Evolução futura: adicionar endpoint no wssei. - Documentos recém-criados: Solr pode levar segundos para indexar.
- Processos sobrestados/concluídos: não aparecem em
sei_listar_processos. - Hipóteses legais (S): sufixo (S) = sigiloso, sem = restrito.
- Upload de arquivo: funciona via multipart/form-data. Requer caminho local do arquivo.
Compatibilidade
- Python >= 3.11
- Qualquer instância do SEI com módulo mod-wssei v2
- Claude Code, Claude Desktop, ou qualquer cliente MCP
Licença
MIT
Metadata
Release files for mcp-seipro 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_seipro-0.1.0.tar.gz | 898.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_seipro-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 934.0 kB
Release files / mcp_seipro-0.1.0.tar.gz
| Download URL | mcp_seipro-0.1.0.tar.gz |
|---|---|
| Size | 898.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26d913c567a6ff3f208036d98de9850a510937a9e472bf715361b567e601da13
|
|
BLAKE2b-256 checksum How to use checksums |
d56b77875806fc16aaeb41d21308073974db7dcb44596fc60f7188deaee118af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Release files / mcp_seipro-0.1.0-py3-none-any.whl
| Download URL | mcp_seipro-0.1.0-py3-none-any.whl |
|---|---|
| Size | 35.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe9c1a0364c8142f3edb963ce4327045b8d7e12afeabc06e13427b09dfba2e6c
|
|
BLAKE2b-256 checksum How to use checksums |
cde6b6183a001de6787ca7792551fdebd1291515a2e04d121d39e5a04a5bcc60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Security for mcp-seipro 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.