Uploads and MCP evidence
Safe archive ingestion and the API-key protected MCP gateway for evidence, ZIP uploads, and isolated audits.
File uploads
Uploads enter the same ingestion pipeline as GitHub snapshots but have stricter provenance. Upload either one repository ZIP or a bundle ZIP containing two or more repository ZIPs. Bundles are unpacked into one isolated audit source while each nested archive is independently inspected. The service enforces combined compressed and unpacked size limits, file-count and decompression-ratio limits, path and symlink traversal protection, MIME inspection, and malware scanning.
No uploaded hook, script, binary, package lifecycle command, build, test, or customer source is executed.
MCP gateway
The Streamable HTTP MCP service exposes a narrow evidence-ingestion surface:
get_ingestion_capabilitiessubmit_evidence_batchsubmit_cloud_snapshotcreate_artifact_uploadcomplete_artifact_uploadget_ingestion_statusstart_audit
Connect with a workspace API key
In Veriom, open Settings → Automation, create an API token, and apply the MCP preset. Store the token in your client's secret manager as VERIOM_API_KEY; never commit it to a repository.
{
"mcpServers": {
"veriom": {
"type": "http",
"url": "https://mcp.veriom.ai/mcp",
"headers": {
"Authorization": "Bearer ${VERIOM_API_KEY}"
}
}
}
}The key is bound to one workspace and expires on the date selected by its creator. Revoking it in Settings immediately removes MCP access. The MCP preset grants evidence:write, uploads:write, ingestion:read, and audits:write only.
Existing OAuth clients remain compatible during the API-key migration, but API keys are the recommended connection method for automation.
Prove the connection before sending real evidence
- Ask the connected client to call
get_ingestion_capabilities. - Confirm the response is bound to the intended workspace and lists
evidence:writeas the required write scope. - Pass the returned
sampleandsample_batch_idtosubmit_evidence_batch. - Open Source Readiness in Veriom. MCP becomes ready only after the capability check, sample collection, and reconciliation into current truth all succeed.
The capability response is the canonical sample. It is versioned, schema-valid, and safe to replay: the sample batch ID is idempotent within a workspace.
Ready means current truth exists
A valid key or successful network connection is not enough. Veriom marks MCP ready only when typed evidence from that client is present in the current workspace context.
Upload and audit one repository or a repository bundle
- Create a ZIP of one repository. For a multi-repository architecture, create one outer ZIP containing at least two repository ZIPs.
- Call
create_artifact_uploadwith the outer file name, byte size, and SHA-256 digest. - Upload the ZIP to the returned short-lived signed URL using the exact returned headers.
- Call
complete_artifact_uploadwith the ingestion ID. - Poll
get_ingestion_statusuntil it reportsready. - Call
start_auditwith the ingestion ID and a stable idempotency key of at least eight characters.
The ZIP travels directly to quarantine object storage rather than through the MCP request body. This keeps the connection fast and preserves the existing size, malware, and archive-safety controls.
Validation reports durable stages—queued, downloading, archive inspection, malware scanning, and complete—plus a percentage that the web app streams live. Rejected archives return a stable code for invalid ZIPs, unsafe paths, symbolic links, file-count limits, decompression limits, size limits, collisions, or detected malware. Transient evidence-storage and malware-scanner failures are reported separately so operators know when retrying is appropriate.
Bundle detection is explicit
An outer ZIP is treated as a repository bundle only when every non-directory member is a ZIP and at least two repositories are present. A normal repository that happens to contain an archive remains a normal repository.
Evidence acceptance
Structured batches are schema-validated, tenant-bound, provenance-stamped, and normalized before reconciliation. Raw artifacts use scoped signed uploads and pass through malware and archive-safety checks. Neither is passed directly to an agent prompt.
submit_cloud_snapshot accepts a bounded provider, account, region, resource, and relationship graph for AWS, Azure, or Google Cloud. Resource properties are allowlisted, identifiers must be unique inside the snapshot, and every relationship endpoint must refer to a resource in that same snapshot. A newer snapshot for the same provider and account supersedes the previous current view while preserving audit history.
MCP is an evidence gateway
Veriom does not execute arbitrary outbound MCP tools as part of an audit. The integration accepts evidence; it does not grant agents a general remote-action surface.
Deterministic merge checks
Run Veriom's architecture change gate for the exact pull-request commit without granting repository write authority to an agent.
Managed cloud collectors
Schedule bounded AWS, Azure, and Google Cloud inventory with visible account boundaries, collection coverage, and freshness.