Artifact Store MCP Server
Governed artifact registry for ADK-Rust Enterprise agents. Content-immutable, versioned, provenance-linked, hash-verified artifacts with policy-driven lifecycle.
Key Principles
- Content-immutable — updates create new versions, never overwrite
- Provenance-linked — every artifact tracks its lineage
- Hash-verified — SHA-256 integrity on every version
- Policy-driven lifecycle — retention classes prevent premature deletion
- Redaction by derivation — redacted copies are new artifacts, originals preserved
Tools (15)
| Tool | Purpose | Risk Class |
|---|---|---|
write_artifact |
Store a generated artifact | Internal write |
create_artifact_version |
Add new version to existing artifact | Internal write |
read_artifact |
Read content (policy-gated) | Read-only |
list_artifacts |
List artifacts by folder, session, class | Read-only |
list_folders |
Browse workspace folder hierarchy | Read-only |
get_artifact_metadata |
Inspect provenance, retention, hash | Read-only |
verify_artifact_integrity |
Validate SHA-256 hash | Read-only |
get_artifact_lineage |
Trace provenance chain | Read-only |
export_artifact_package |
Bundle artifacts for audit/delivery | Read-only |
derive_artifact |
Create artifact derived from another | Internal write |
redact_artifact |
Create redacted derived copy | Internal write |
link_artifacts |
Add provenance edge | Internal write |
set_retention_class |
Update retention policy | Internal write |
request_artifact_access |
Request access to gated artifact | External write |
delete_artifact_if_allowed |
Delete only if retention permits | Internal write |
Example Prompts & Outputs
Store a report
Prompt: "Save this analysis report as a session artifact"
Tool call: write_artifact
Output:
Inspect an artifact
Prompt: "Show me the metadata for that report"
Tool call: get_artifact_metadata
Output:
Verify integrity
Prompt: "Verify the integrity of this artifact"
Tool call: verify_artifact_integrity
Output:
Derive a summary from a source artifact
Prompt: "Create an executive summary derived from the quarterly report"
Tool call: derive_artifact
Output:
Trace provenance
Prompt: "Show me the lineage of the quarterly report"
Tool call: get_artifact_lineage
Output:
Retention enforcement
Prompt: "Mark this as an audit artifact and try to delete it"
Tool call: set_retention_class
Output:
Tool call: delete_artifact_if_allowed
Output:
Deletion blocked: retention class Audit prevents deletion
Redact sensitive content
Prompt: "Create a redacted version of this transcript for sharing"
Tool call: redact_artifact
Output:
Export audit package
Prompt: "Bundle these artifacts for the compliance audit"
Tool call: export_artifact_package
Output:
Backends
| Layer | Backend | Feature Flag |
|---|---|---|
| Blob storage | Local filesystem | local (default) |
| Blob storage | AWS S3 | s3 |
| Blob storage | Google Cloud Storage | gcs |
| Metadata | In-memory (dev/testing) | Always available |
Installation
Build from source
Claude Desktop
Kiro
Add to .kiro/settings/mcp.json:
Codex / Cursor / Windsurf / Antigravity / Open Code
Same pattern — point command to the binary and set ARTIFACT_STORE_PATH.
Configuration
| Variable | Description | Default |
|---|---|---|
ARTIFACT_STORE_PATH |
Local blob storage root | ./artifacts |
AWS_REGION |
S3 region (s3 feature) | — |
ARTIFACT_S3_BUCKET |
S3 bucket name | — |
GCP_PROJECT_ID |
GCP project (gcs feature) | — |
ARTIFACT_GCS_BUCKET |
GCS bucket name | — |
Artifact Classes
| Class | Examples |
|---|---|
session_output |
Reports, transcripts, screenshots, JSON |
agent_evidence |
Tool result snapshots, cited documents |
governance_evidence |
Policy decisions, approval records, audit packs |
payment_evidence |
Receipts, intents, ledger snapshots |
build_output |
Generated code, SBOMs, deploy bundles |
template_asset |
Fixtures, skill lockfiles, workflow templates |
memory_export |
Recall snapshots, redacted profile exports |
Retention Classes
| Class | Default Retention | Deletable? |
|---|---|---|
ephemeral |
Hours/days | ✅ Yes |
standard |
90 days | ✅ Yes |
session |
30–180 days | ✅ Yes |
pii_restricted |
Short + redaction | ⚠️ Gated |
payment_evidence |
Legal retention | ❌ No |
audit |
1–7 years | ❌ No |
build_release |
Tied to release | ❌ No |
Provenance Edge Types
| Edge | Meaning |
|---|---|
derived_from |
Artifact B was created from artifact A |
redacted_from |
Artifact B is a redacted copy of A |
bundled_into |
Artifact A was included in package B |
exported_from |
Artifact B was exported from system A |
generated_by |
Artifact was generated by a tool/agent |
validated_by |
Artifact was validated by a policy check |
approved_by |
Artifact was approved by a human/gate |
evidence_for |
Artifact serves as evidence for a decision |
Documentation
| Document | Description |
|---|---|
| SPEC.md | Full design specification |
| CHANGELOG.md | Version history |
| mcp-server.toml | ADK-Rust Enterprise registry manifest |
| CONTRIBUTING.md | Development guidelines |
| SECURITY.md | Vulnerability reporting |
Contributing
See CONTRIBUTING.md for development setup and guidelines.
Contributors
| James Karanja Maina |
|---|
License
Apache-2.0 — see LICENSE for details.
Part of the ADK-Rust Enterprise MCP server ecosystem.
Built with ❤️ by Zavora AI