Ferramentas do SDK de Cards
As ferramentas do Card SDK permitem criar, validar, testar e gerenciar cards de parceiros personalizados através do MCP. Os cards de parceiros estendem o DocFlow com lógica de negócios personalizada escrita em Python.
Ciclo de Vida do Card
Criar → Validar → Testar → Aprovar → Usar em WorkflowsCrie um card com
sdk_create_cardousdk_import_githubValide com
sdk_validate_card(validação em 5 etapas)Teste com
sdk_test_card(execução em sandbox)Aprove com
sdk_approve_card(requer admin)O card agora está disponÃvel em
list_cardse pode ser usado em workflows
Ferramentas de Desenvolvimento
sdk_create_card
Cria um novo card de parceiro a partir de código-fonte e manifestos. Executa a validação completa em 5 etapas e armazena o card no banco de dados. O card começa em estado pendente e requer aprovação de administrador para ser ativado.
Parâmetros:
app_manifest
object
Sim
Manifesto do app com id, nome, versão, info do parceiro
card_manifest
object
Sim
Manifesto do card com id, tÃtulo, entry_point, class_name, args
card_type
string
Sim
action ou condition
source_code
string
Sim
Código-fonte Python (deve estender PartnerCard)
test_code
string
Sim
Código de teste Pytest para o card
locales
object
Não
Traduções de idioma, ex.: {"en": {...}, "de": {...}}
Exemplo de Manifesto do App:
Exemplo de Manifesto do Card:
Exemplo de Código-Fonte:
Exemplo de Resposta:
sdk_validate_card
Executa a validação em 5 etapas em um card de parceiro sem salvar. Dois modos:
Modo A — Validar um card existente por ID
Modo B — Validar novo código-fonte inline
Parâmetros:
card_id
string
Não
UUID do card existente (Modo A)
app_manifest
object
Não
Manifesto do app (Modo B)
card_manifest
object
Não
Manifesto do card (Modo B)
card_type
string
Não
action ou condition (Modo B)
source_code
string
Não
Código-fonte Python (Modo B)
test_code
string
Não
Código de teste (Modo B)
Forneça apenas card_id isolado (Modo A) ou app_manifest + card_manifest + source_code juntos (Modo B).
Etapas de Validação:
Estrutura — Verifica layout de arquivos, esquema do manifesto, arquivos obrigatórios
Análise AST — Verifica sintaxe Python, hierarquia de classes, assinaturas de métodos
Dependências — Valida imports contra módulos permitidos
Testes — Executa a suÃte de testes do card
Comportamental — Executa o card em sandbox para verificar comportamento em tempo de execução
sdk_test_card
Executa um card de parceiro em um ambiente isolado (sandbox) com um contexto simulado. Usa o mesmo modelo de segurança da produção (builtins restritos, lista de imports permitidos, timeout de 10 segundos).
Parâmetros:
card_id
string
Não
UUID do card existente (Modo A)
source_code
string
Não
Código-fonte para teste inline (Modo B)
class_name
string
Não
Nome da classe para teste inline (Modo B)
variables
object
Não
Variáveis para passar ao construtor do card
mock_context
object
Não
Contexto de execução simulado
Campos do Contexto Simulado:
Exemplo de Resposta:
sdk_import_github
Importa um app de parceiro de um repositório GitHub. Clona o repositório, lê o app.json e importa todos os cards encontrados no diretório .docflowcompose.
Parâmetros:
github_url
string
Sim
URL HTTPS do GitHub (ex.: https://github.com/org/repo)
branch
string
Não
Branch a ser clonado (padrão: main)
token
string
Não
Token do GitHub para repositórios privados
Estrutura Esperada do Repositório:
Exemplo de Resposta:
Ferramentas de Gerenciamento
sdk_list_submissions
Lista todas as submissões de cards de parceiros da organização atual.
Parâmetros: Nenhum
Exemplo de Resposta:
sdk_get_submission_status
Obtém o status de validação e o relatório de uma submissão especÃfica de card de parceiro.
Parâmetros:
card_id
string
Sim
UUID do card de parceiro
Exemplo de Resposta:
sdk_approve_card
Aprova um card de parceiro validado e o ativa para uso em workflows. O card é registrado no registro de tempo de execução e fica disponÃvel em list_cards.
Parâmetros:
card_id
string
Sim
UUID do card de parceiro
Requer permissões de administrador da organização. O card deve estar no estado validated ou rejected.
sdk_reject_card
Rejeita uma submissão de card de parceiro e o desativa.
Parâmetros:
card_id
string
Sim
UUID do card de parceiro
reason
string
Não
Motivo da rejeição
Requer permissões de administrador da organização.
sdk_delete_submission
Desativa ou exclui uma submissão de card de parceiro. Cards rejeitados ou desabilitados são excluÃdos fisicamente do banco de dados. Cards ativos são desativados primeiro.
Parâmetros:
card_id
string
Sim
UUID do card de parceiro
Requer permissões de administrador da organização.
sdk_list_cards_picker
Lista todos os cards habilitados e não obsoletos com flags de função. Útil para determinar quais cards podem ser usados em quais tipos de nó ao construir workflows.
Parâmetros: Nenhum
Exemplo de Resposta:
Last updated
Was this helpful?