Agent C — App Store Screenshots
by theagentc.io · remote · no sign-in to list tools · v1.0.0 · published by io.theagentc
AI-designed App Store screenshot sets from your app's screens, uploaded to App Store Connect.
10 tools: 1 can delete or cancel things, 7 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things7Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http app-store-screenshots https://api.theagentc.io/mcp --header 'Authorization: <your-authorization>'Findings
Matches of fixed checks, with the text they matched.
- Warnget_upload_link
The server marks "get_upload_link" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "get_upload_link" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
10 tools
Deletes or cancels 1Claude Code: deny
send_to_app_storeUpload the unlocked set into the app's editable version in App Store Connect, replacing that language's screenshots for this device size.No findings
Why it is in this group
- The name "send_to_app_store" says "send": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Upload the unlocked set into the app's editable version in App Store Connect, replacing that language's screenshots for this device size. Never submits for review. Requires the user to have connected App Store Connect in Agent C. If the app has no editable version, ask the user, then call with create_version=true.
Annotations the server declares
- title: Send to App Store Connect
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
Changes things 7Claude Code: ask
add_appAdd an app by its App Store link (imports name, icon, description), or by name if it isn't released yet.No findings
Why it is in this group
- The name "add_app" says "add": a word for a change.
Description, as the server wrote it Add an app by its App Store link (imports name, icon, description), or by name if it isn't released yet. Importing a live app takes ~10-30s; poll list_apps until status is 'ready'.
Annotations the server declares
- title: Add an app
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
design_setClaude art-directs a full App Store screenshot set from the uploaded screenshots: opening shot, headline per slide, close-ups, palette.No findings
Why it is in this group
- The name "design_set" says "set": a word for a change.
Description, as the server wrote it Claude art-directs a full App Store screenshot set from the uploaded screenshots: opening shot, headline per slide, close-ups, palette. Returns watermarked preview images, the slide list and a link to open it in the Agent C studio. Takes ~40-60 seconds.
Annotations the server declares
- title: Design a screenshot set
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
edit_setChange one slide (headline, subline, screenshot, layout, position, or remove it), the opening shot, the device size, or the App Store header (header_*).No findings
Why it is in this group
- The name "edit_set" says "edit": a word for a change.
Description, as the server wrote it Change one slide (headline, subline, screenshot, layout, position, or remove it), the opening shot, the device size, or the App Store header (header_*). Re-renders previews. Free.
Annotations the server declares
- title: Edit a set
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
export_setRender the unlocked set at exact App Store pixels without watermark and return download links (valid 7 days).No findings
Why it is in this group
- The name "export_set" says "set": a word for a change.
Description, as the server wrote it Render the unlocked set at exact App Store pixels without watermark and return download links (valid 7 days). Includes the product page header (3840x1646) and search-results image (3840x2560) when the set has a header.
Annotations the server declares
- title: Export PNGs
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
get_upload_linkBest way to upload screenshots from files on disk: returns a one-time URL (valid 30 min) to POST the image files to with curl (multipart field 'files', up to 10 per request).1 finding
Why it is in this group
- The name "get_upload_link" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "get_upload_link" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "get_upload_link" says "get": a word for reading.
Description, as the server wrote it Best way to upload screenshots from files on disk: returns a one-time URL (valid 30 min) to POST the image files to with curl (multipart field 'files', up to 10 per request). Use this instead of upload_screenshots when you have a shell, so large images don't pass through the conversation.
Annotations the server declares
- title: Get an upload link
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
unlock_setUnlock clean, full-resolution files for a set.No findings
Why it is in this group
- The name "unlock_set" says "unlock": a word for a change.
Description, as the server wrote it Unlock clean, full-resolution files for a set. Uses a free unlock if the user has one; otherwise returns a $9.99 Stripe checkout link the USER must open and pay. Studio subscribers are already unlocked. Ask the user before calling.
Annotations the server declares
- title: Unlock a set
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
upload_screenshotsUpload 1-10 raw screenshots of the app (plain captures of the real UI, ideally 4-10, in the order you'd like them considered).No findings
Why it is in this group
- The name "upload_screenshots" says "upload": a word for a change.
Description, as the server wrote it Upload 1-10 raw screenshots of the app (plain captures of the real UI, ideally 4-10, in the order you'd like them considered). Each item is base64 image data (PNG/JPEG) or a public https URL. By default replaces the app's screenshot library.
Annotations the server declares
- title: Upload screenshots
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
Only reads 2Claude Code: allow
get_setCurrent slides, unlock status and fresh preview images for a set.No findings
Why it is in this group
- The name "get_set" says "get": a word for reading.
Description, as the server wrote it Current slides, unlock status and fresh preview images for a set.
Annotations the server declares
- title: Get a set
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
list_appsThe user's apps in Agent C, with how many screenshots each has uploaded.No findings
Why it is in this group
- The name "list_apps" says "list": a word for reading.
Description, as the server wrote it The user's apps in Agent C, with how many screenshots each has uploaded.
Annotations the server declares
- title: List apps
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http app-store-screenshots https://api.theagentc.io/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__app-store-screenshots__list_apps",
"mcp__app-store-screenshots__get_set"
],
"ask": [
"mcp__app-store-screenshots__add_app",
"mcp__app-store-screenshots__get_upload_link",
"mcp__app-store-screenshots__upload_screenshots",
"mcp__app-store-screenshots__design_set",
"mcp__app-store-screenshots__edit_set",
"mcp__app-store-screenshots__unlock_set",
"mcp__app-store-screenshots__export_set"
],
"deny": [
"mcp__app-store-screenshots__send_to_app_store"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as app-store-screenshots. Review it before you use it.