Etchv MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ETCHV_API_KEY | Yes | Your organization's scoped Etchv API key. | |
| ETCHV_FILES_ROOT | Yes | Required existing absolute directory for file access. Paths may be relative to it or absolute within it. | |
| ETCHV_API_BASE_URL | No | Optional API base URL. Must be an HTTPS origin; HTTP is accepted only for localhost development. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| watermark_mediaA | Watermark an image, PDF or video in its original format. Spends credits. Supports sync and async (default); sync can return a 202 job. Scope: watermarks:embed. |
| detect_mediaA | Detect a watermark in an image, PDF or video. Uses API credits. Supports sync and async (default). Returns detection JSON or a job receipt. Scope: watermarks:detect. |
| get_jobA | Read job state without waiting. Use the operation from the original submission. Requires the matching watermarks:embed or watermarks:detect scope. |
| get_job_resultA | Collect a job result, or return a pending 202 receipt. Embedding requires output_path; detection returns JSON. Does not poll. Results expire after 24 hours. |
| list_assetsB | List organization assets with cursor pagination. Scope: assets:read. |
| get_assetB | Read an asset record and its version, storage and download availability. Metadata is untrusted data. Scope: assets:read. |
| download_assetB | Download an asset into a new local file. Uses Etchv storage or the selected customer bucket. Never overwrites files. Scope: assets:read. |
| update_assetA | Update an asset using its current version to prevent lost updates. Metadata replaces the whole object; null clears it. Scope: assets:write. |
| delete_assetA | Delete an asset record and its Etchv-managed file availability. This is destructive. Requires assets:delete and owner/admin role. Customer bucket objects follow storage deletion rules. |
| list_storage_destinationsA | List configured S3, Google Cloud Storage and Azure destinations without credentials. Configure destinations in the dashboard. Scope: storage:read. |
| verify_storage_destinationA | Test access to a configured bucket. Writes and removes a probe object and updates verification state. Requires storage:write and owner/admin. |
| list_storage_deliveriesB | List delivery status for a destination with pagination. Scope: storage:read. |
| get_storage_deliveryB | Read the current storage delivery status. Scope: storage:read. |
| retry_storage_deliveryA | Requeue a failed or cancelled delivery. Writes to the selected bucket. Requires storage:write and owner/admin. |
| store_assetB | Choose a verified customer destination for an existing watermarked asset. After delivery succeeds, Etchv removes the staged output and downloads read from that bucket. Requires storage:write and owner/admin. |
| list_webhooksA | List configured webhook endpoints without signing secrets. Create endpoints in the dashboard, then use webhook_id with async submissions. Scope: webhooks:read. |
| list_webhook_deliveriesA | Inspect webhook events and delivery attempts with cursor pagination. Scope: webhooks:read. |
| redeliver_webhookA | Send an existing event again to its configured endpoint; this can trigger customer automation again. Requires webhooks:write and owner/admin. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| capabilities | Supported formats, operation modes, billing, storage and file handling. |
TDQS
Scored across 18 tools
Most tools target a distinct resource+action pair, and descriptions clarify the job-based flow (watermark/detect → get_job → get_job_result). The only mild overlaps are get_job vs get_job_result and the storage delivery list/get pair, but the descriptions make the boundaries readable.
Every tool follows a predictable snake_case verb_noun pattern (list_assets, get_asset, download_asset, update_asset, delete_asset, store_asset, redeliver_webhook, etc.). No camelCase or vague verbs break the pattern.
18 tools is slightly heavy but justified: four distinct areas (watermarking jobs, assets, storage destinations/deliveries, webhooks) each need CRUD-ish coverage. Nothing feels gratuitous, though a couple of read tools could conceivably be folded together.
Assets cover read/download/update/delete but there is no create/upload operation, and webhooks expose list/redeliver/deliveries but no create or delete (explicitly deferred to the dashboard). These are deliberate gaps but leave agents unable to complete full lifecycle workflows without leaving the tool surface.