Skip to content

Artifacts Server

The artifacts server is a stdio MCP server that extracts structured memory concepts from multimodal workspace artifacts, including screenshots and audio recordings.

Extraction Architecture

Rather than storing raw image pixels or audio waveforms in the memory graph, the artifacts server extracts structured, typed concepts:

  • Screenshots and UI mockups: Identifies system architecture diagrams, error dialogues, wireframe components, and data structures.
  • Audio recordings and voice memos: Extracts meeting decisions, architecture constraints, action items, and rationale.

The extraction pipeline uses Google ADK (google.adk.agents.LlmAgent) powered by gemini-3.7-flash at Vertex AI location global.

Pre-Wire Secret Scanning

Before extracted concepts cross the JSON-RPC wire to Mooshik, the server scans the text for sensitive credentials:

  • Pattern checks for private keys, AWS access tokens, GitHub personal access tokens, and Slack API tokens.
  • Exact match checks against known vault secret values in the process environment.
  • If a secret is detected in an artifact extraction, the entire item is dropped to prevent credential leakage.

Server Configuration

Add the server to ~/.mooshik/config.toml:

[mcp_servers.artifacts]
command = "/home/you/.local/share/mooshik/venv/bin/mooshik-artifacts-mcp"
expose = ["extract_image_concepts", "extract_audio_concepts"]
[mcp_servers.artifacts.env]
MOOSHIK_GEMINI_PROJECT = "gemini-project"

Set permissions to allow artifact processing:

[permissions]
"mcp.artifacts.*" = "allow"

Environment Variables

VariableDefaultPurpose
MOOSHIK_GEMINI_API_KEY(unset)Gemini Developer API key (if using direct API auth).
MOOSHIK_GEMINI_PROJECT(unset)Vertex AI Google Cloud project ID.
ARTIFACTS_LOCATIONglobalVertex AI inference location.
ARTIFACTS_MODELgemini-3.7-flashMultimodal concept extraction model.
ARTIFACTS_TIMEOUT_SECS45.0Execution timeout for extraction calls.
ARTIFACTS_LOG_LEVELINFOLogging verbosity for stderr output.