Lumethic
Lumethic checks whether a photo is a real, unmodified camera capture.
Что умеет
- Get Account Usage: Get the authenticated account's monthly verification quota: plan, used, limit, and remaining. Call this before verify_photo to check the free-tier allowance.
- Get Upgrade Link: Get a link to upgrade the account's plan on the Lumethic website (for example after a QUOTA_EXCEEDED or NOT_ENTITLED error). The link opens the sign-in page with the user's email pre
- Create Verification Upload: Get pre-signed S3 PUT URLs to upload a large RAW + JPEG directly (avoids inlining bytes and bypasses request-size limits). PUT each file to its upload_url, then call verify
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Lumethic checks whether a photo is a real, unmodified camera capture. Give it the RAW file and the JPEG export from the same shot for a forensic comparison, or a single image to validate its C2PA Content Credentials. You get an authenticity verdict with confidence, per-check findings, and a shareable report.
From your assistant you can verify photos, tag and annotate them, share reports, request layered PSD exports, and publish verified work to a public portfolio page. 32 tools, all annotated as read-only, open-world or destructive so the assistant asks before anything irreversible.
Connect from the assistant: the first connection opens a Lumethic sign-in screen, you enter your email and the six-digit code we send, and you choose what the assistant may do. New addresses get a free account with 5 verifications a month; Content Credentials checks are free and unlimited. Servers and scripts can use an API key as the bearer token instead.
Claude Code: claude mcp add --transport http lumethic https://api.lumethic.com/mcp
Docs and full tool reference: https://www.lumethic.com/en/mcp
Список инструментов сервера (32)
Технические названия из tools/list. Нужны только разработчикам.
| get_account_usage | Get the authenticated account's monthly verification quota: plan, used, limit, and remaining. Call this before verify_photo to check the free-tier allowance. |
| get_upgrade_link | Get a link to upgrade the account's plan on the Lumethic website (for example after a QUOTA_EXCEEDED or NOT_ENTITLED error). The link opens the sign-in page with the user's email prefilled and then the plan page; it contains no credentials. Show it to the user. Calling it records that an upgrade link was requested. |
| create_verification_upload | Get pre-signed S3 PUT URLs to upload a large RAW + JPEG directly (avoids inlining bytes and bypasses request-size limits). PUT each file to its upload_url, then call verify_photo with the returned object_key values as raw_object_key / image_object_key. |
| verify_photo | Verify a photo's authenticity from a RAW camera file and its JPEG export. Provide the files either inline as raw_base64 + image_base64 (small files), or — for large files — call create_verification_upload first and pass the returned raw_object_key + image_object_key. Returns a verification id; poll get_verification for the result. With an API key this counts against your monthly quota (free tier: 5/month). |
| verify_content_credentials | Verify a single image's authenticity — use this when you only have the image and no RAW camera file. Checks its embedded Content Credentials (C2PA) for capture provenance and AI-generation flags, and runs advisory forensic screens (error-level analysis, double-JPEG artifacts, EXIF timestamp consistency, editing-software traces, screen recapture). Free: it does not consume your verification quota. Provide the image inline as image_base64, or — for large files — call create_verification_upload and pass the returned image_object_key. Returns a verification id; poll get_verification, which on completion includes a structured evidence_report (verdict, per-check findings, coverage). For the strongest forensic check, use verify_photo with a RAW + JPEG pair instead. |
| get_verification | Retrieve a verification by id: processing status and per-algorithm authenticity results. Completed single-image (image_only) verifications also include a verdict and a structured evidence_report with per-check findings and coverage. Scoped to the caller's account. |
| list_verifications | List the account's verifications, most recent first. Optional filters: status (pending|queued|in_progress|completed|failed), result (true=authentic, false=not), tags (list of tag names, case-insensitive) and tag_match ('all' = every listed tag must be on the verification, the default; 'any' = at least one). Use list_tags to discover names. |
| list_tags | List the account's tag vocabulary: id, name, colour and how many verifications carry each tag. Tags are assigned in the web app or via PUT /v1/verifications/{id}/tags; pass the names to list_verifications' tags filter. |
| request_psd_export | Request a layered flicker-comparison PSD for a completed RAW+JPEG verification you own: the original photo, the pixel-registered RAW rendition, and the SSIM difference heatmap as layers, for A/B toggling in Photoshop. Professional plan only (monthly allowance included, metered beyond it). Generation is asynchronous — poll get_psd_export_status until status is 'completed', then download the file from the verification page in the web app. Idempotent: re-requesting returns the existing export's state, and a failed export is retried at no extra charge. |
| get_psd_export_status | Poll the state of a verification's PSD export: status (pending|queued|in_progress|completed|failed), file size, canvas dimensions, downloads used, and download expiry. |
| share_verification | Enable or update sharing for a verification you own. access_type is 'anyone_with_link' (public URL) or 'restricted' (only invited emails). Optionally pass invite_emails to grant access. Returns the share URL and invited emails. Anonymous verifications can't be shared. |
| get_verification_share | Get the current sharing configuration (access type, share URL, invited emails) for a verification. |
| unshare_verification | Disable sharing for a verification, making it private and invalidating its share link. |
| get_listing | Fetch a marketplace listing by id: title, description, per-license pricing, terms, and sales totals. There is no public directory — you must know the listing UUID. |
| list_my_listings | List the marketplace listings owned by your account (with pricing and sales totals). |
| set_verification_tags | Replace the tags on a verification with exactly this list (empty list clears them). Unknown names are created in the account's vocabulary; matching is case-insensitive. Names are 1-40 characters, no commas, at most 20 per verification. Returns the verification's tags after the change. |
| add_verification_tags | Add tags to a verification, keeping the ones already on it. Unknown names are created. Returns the verification's full tag list after the change. |
| remove_verification_tag | Remove one tag (by name or tag id) from a verification. The tag stays in the account's vocabulary. Returns the remaining tags. |
| update_tag | Rename and/or recolour a tag in the account's vocabulary (by name or tag id). A rename shows on every verification carrying it. color is '#rrggbb'; pass an empty string to clear it. Omit a field to leave it unchanged. |
| delete_tag | Delete a tag (by name or tag id) from the account's vocabulary and detach it from every verification. The verifications themselves are untouched. |
| list_verification_comments | List the internal comments on a verification you own, oldest first, with author names. Comments are private notes visible to the owning account only. |
| add_verification_comment | Post an internal comment (1-4000 characters) on a verification you own, authored by the connected user. Use it for client feedback, decisions, or context worth keeping with the report. |
| update_verification_comment | Replace the text of a comment the connected user wrote. Marks it as edited; the old text is not kept. |
| delete_verification_comment | Delete a comment. Allowed for its author and for admins of the account. |
| get_portfolio | Get the account's verified portfolio: slug, public URL, published state, and every item with its title, position and whether it is publicly shared. A portfolio is a public page of verified photos (paid plans). |
| create_portfolio | Create the account's portfolio (one per account, starts unpublished; paid plans only). slug is the public URL path: 3-30 lowercase letters, digits and single hyphens. display_name is 1-80 characters; tagline (max 160) and website_url (https) are optional. |
| update_portfolio | Change the portfolio's display_name, tagline, website_url or slug, or publish/unpublish it with published=true/false. Pass an empty string to clear tagline or website_url; omit fields to leave them. The slug can change at most 3 times per 30 days. Unpublishing always works; other changes need a paid plan. |
| delete_portfolio | Delete the portfolio and all its items. The verifications and their share links are untouched. Confirm with the user first. |
| add_portfolio_item | Add one of the account's verifications to the portfolio (max 50), with an optional title (max 80). IMPORTANT: this makes the verification publicly viewable: a public share link is created, or an invite-only share is upgraded to public. Tell the user before calling it. The response's share_effect says what happened (none, created, upgraded). |
| update_portfolio_item | Set an item's title (max 80 characters) or clear it with an empty string. |
| reorder_portfolio_items | Set the display order. verification_ids must contain every current item exactly once, in the desired order (first = shown first). |
| remove_portfolio_item | Remove a verification from the portfolio. Its public share link stays active; call unshare_verification as well if the user wants it private again. |