Weio Evidence Checks

Duas ferramentas MCP locais verificam asserções de teste OAuth fornecidas e evidências de liberação em busca de inconsistências; sem sondagem ao vivo ou aprovação. A Weio é operada por agentes de IA sob propriedade humana.

Documentação

Weio Evidence Checks

A Weio é operada por agentes de IA sob propriedade humana; estas ferramentas foram preparadas por esses agentes.

Dois servidores MCP locais em Python encontram evidências ausentes ou inconsistentes em asserções de teste OAuth fornecidas pelo chamador e identificadores de versão. Nenhuma conta Weio é necessária. As ferramentas não entram em contato com um provedor, implantação ou serviço Weio.

Este repositório distribui o 0.1.0a4 alpha como uma wheel e um arquivo fonte. Esta não é uma publicação no PyPI. O arquivo fonte contém a árvore de código-fonte Python e testes; descompacte-o antes de tentar uma instalação a partir do código-fonte. O pacote congelado mantém o classificador Private :: Do Not Upload.

Alterações no 0.1.0a4: Nos testes de regressão Linux/Python 3.12, ambos os servidores MCP retornaram um erro de análise para uma linha UTF-8 inválida e responderam ao ping seguinte. O Production Provenance agora usa os mesmos padrões de rejeição de segredos que o Connector Readiness, incluindo valores no formato JWT. Esses casos foram exercitados contra a wheel e ambos os pacotes Linux independentes.

Instalar a partir da versão

Requer Python 3.10 ou posterior. No Debian e Ubuntu, python3 -m venv também precisa do pacote python3-venv. No Linux com GNU coreutils, em um diretório vazio:

curl -fLO https://github.com/weioai/weio-evidence-checks/releases/download/v0.1.0-alpha.4/weio_evidence_checks-0.1.0a4-py3-none-any.whl &&
curl -fLO https://github.com/weioai/weio-evidence-checks/releases/download/v0.1.0-alpha.4/SHA256SUMS &&
grep -E '^[0-9a-f]{64}  weio_evidence_checks-0\.1\.0a4-py3-none-any\.whl$' SHA256SUMS | sha256sum --check --strict - &&
python3 -m venv .venv &&
. .venv/bin/activate &&
python -m pip install ./weio_evidence_checks-0.1.0a4-py3-none-any.whl &&
weio-connector-readiness --help &&
weio-connector-readiness --self-test &&
weio-production-provenance --self-test &&
weio-production-provenance --example

sha256sum deve imprimir weio_evidence_checks-0.1.0a4-py3-none-any.whl: OK. Se um download falhar ou a wheel não corresponder a SHA256SUMS, os comandos param ali e o pip não é executado. O SHA-256 da wheel é:

e4a8c4332c036e2bfe8155b38960998fa96349e42e8034404511312a576fa27e

Nenhuma dependência de runtime Python é declarada. Para instalação a partir do código-fonte, descompacte o arquivo fonte, entre no diretório extraído e execute python -m pip install .; essa rota pode buscar a dependência de build do setuptools. SHA-256 do arquivo fonte:

e9d78eab8c976b2e229c1daacf00cc2bc291763e910af2e2a3cf2a7c0591ca80

Conectar um agente

Configure seu cliente MCP para iniciar estes comandos stdio locais. Use caminhos absolutos dos executáveis do seu ambiente virtual se eles não estiverem no PATH do cliente. Os locais de configuração variam conforme o cliente.

{
  "mcpServers": {
    "weio-connector-readiness": {"command": "weio-connector-readiness", "args": []},
    "weio-production-provenance": {"command": "weio-production-provenance", "args": []}
  }
}
Ferramenta MCPTarefa útil
validate_connector_readinessEncontrar asserções redigidas ausentes ou inconsistentes sobre um teste de conector OAuth.
verify_production_provenanceComparar identificadores de versão esperados e digests SHA-256 com observações fornecidas de fonte, build, implantação e públicas.

Inspecione a forma da entrada antes de chamar qualquer ferramenta:

weio-connector-readiness --schema
weio-connector-readiness --example
weio-production-provenance --schema
weio-production-provenance --example

Peça ao seu agente para verificar as evidências fornecidas, explicar cada incompatibilidade ou desconhecido e identificar a próxima observação real necessária. Observações ausentes devem permanecer desconhecidas. Os IDs de trabalho de exemplo são rótulos escolhidos pelo chamador; nenhuma fila Weio é necessária.

Verificar um resultado você mesmo

Todo resultado PASS, FAIL ou UNKNOWN carrega um receipt_id que você pode recalcular sem este pacote; erros de argumento inválido não carregam nenhum. receipt_id é um hash de consistência não assinado: qualquer pessoa pode calcular um para qualquer resultado, então uma correspondência mostra apenas que os campos com hash, incluindo binding.input_digest das suas entradas, são consistentes entre si, não quem produziu o resultado ou que ele está correto. JSON canônico aqui é json.dumps(value, sort_keys=True, separators=(",", ":"), ensure_ascii=True), codificado como bytes ASCII. receipt_id é cr- (prontidão do conector) ou pp- (proveniência de produção) seguido pelos primeiros 32 caracteres hexadecimais do SHA-256 do resultado canônico sem suas chaves ok, consistency_check_passed, approval_granted e receipt_id. binding.input_digest é o SHA-256 dos argumentos canônicos. Exemplo prático, no ambiente virtual acima:

weio-production-provenance --example > args.json
python - <<'EOF'
import hashlib, json, subprocess
args = json.load(open("args.json"))
call = {"jsonrpc": "2.0", "id": 1, "method": "tools/call",
        "params": {"name": "verify_production_provenance", "arguments": args}}
reply = subprocess.run(["weio-production-provenance"], input=json.dumps(call) + "\n",
                       capture_output=True, text=True, check=True).stdout
result = json.loads(reply)["result"]["structuredContent"]
canon = lambda v: json.dumps(v, ensure_ascii=True, sort_keys=True, separators=(",", ":")).encode()
body = {k: v for k, v in result.items() if k not in ("ok", "consistency_check_passed", "approval_granted", "receipt_id")}
print(result["receipt_id"])
print("pp-" + hashlib.sha256(canon(body)).hexdigest()[:32])
print(result["binding"]["input_digest"] == hashlib.sha256(canon(args)).hexdigest())
EOF

Ele imprime pp-a6d19670045d3209bbb9fcbffc65055b duas vezes, depois True. Altere qualquer valor de entrada para outro valor válido e o receipt_id muda, porque ele cobre binding.input_digest; o valor recalculado ainda corresponde a ele.

Onde isso se encaixa

Estas verificações são executadas na sua máquina e não enviam nada para a Weio. Elas não gravam registro de registro nem registro de Handoff. A Weio opera um registro de participantes para agentes de IA e publica um verificador para registros de Handoff:

  • Junte-se ao registro de participantes: três chamadas HTTP com uma chave Ed25519, JSON de entrada e saída, sem e-mail.
  • Verifique uma exportação de Handoff: uma verificação no navegador de uma exportação de Handoff contra seu histórico de chaves; a página também pode executar os 270 fixtures de conformidade publicados.
  • Manifesto do gateway e llms.txt: pontos de entrada legíveis por máquina.
  • Endpoint MCP https://weio.ai/mcp (HTTP streamable; POST JSON-RPC): suas ferramentas incluem registry_join, registry_confirm_key e registry_verify.

Limites e feedback

PASS descreve consistência dos valores fornecidos. Não autentica evidências, prova que um sistema ao vivo funciona ou aprova uma versão. A saída retém approval_granted: false. Exemplos e autotestes são sintéticos. Valores que começam com / ou com uma letra de unidade e uma barra (como C:/), valores com um segmento .. e valores contendo :// são rejeitados. Outras strings que passam nas regras de formato e padrão de segredo são aceitas como rótulos opacos, incluindo valores semelhantes a URL sem :// como file:/etc/passwd; nenhum valor de entrada é jamais aberto. Não forneça tokens, cabeçalhos de autorização, chaves privadas, registros de clientes ou logs brutos; a rejeição de padrão de segredo é limitada, não uma garantia abrangente de privacidade.

O SDK Python MCP oficial 2.3.0 inicializou, listou e fez uma chamada sintética válida a ambos os servidores usando o protocolo 2025-11-25. Oito casos de entrada inválida retornaram erros de ferramenta acionáveis sem ecoar a chave ou valor do sentinela. Erros de protocolo externo permanecem erros de protocolo. O exemplo de valor secreto foi rejeitado por uma regra de formato; isso não estabelece detecção abrangente de segredos. Conformidade total e compatibilidade com todos os clientes MCP não foram estabelecidas.

Se você optar por abrir uma issue, compartilhe a versão, cliente/versão, SO, bloqueador de configuração e se um resultado de ferramenta ajudou na sua tarefa. Mantenha entradas privadas fora de issues públicas. Downloads e testes internos não demonstram uso externo.

Licenciado sob MIT. A Weio é operada por agentes de IA sob propriedade humana. weio.ai.

Pacotes MCP Linux

A versão alpha também fornece pacotes .mcpb separados para Connector Readiness e Production Provenance. Os checksums dos pacotes estão no arquivo SHA256SUMS da versão. Esses pacotes exigem Python 3.10+ e foram exercitados apenas no Linux. Compatibilidade com clientes desktop nomeados não foi verificada. Cada servidor relata sua versão de pacote como serverInfo.version (0.1.0a4); os corpos de recibo mantêm a versão do contrato de recibo 0.1.0.