asc-mcp CLAUDE.md

A project guidance file named CLAUDE.md for an App Store Connect API server written in Swift. App Store Connect is Apple's service for managing iOS and macOS apps, releases, builds, and reviews.

In plain words
What is it for?
It helps build, test, run, clean, and configure the server, including selecting which groups of App Store Connect tools it starts with.
Why use it?
It gives the coding agent the project's required language, response conventions, build commands, test commands, and configuration options.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/zelentsov-dev/asc-mcp/claude-md
Clone the repo
git clone --depth 1 https://github.com/zelentsov-dev/asc-mcp
Per session 2,668 This file is loaded in full into every session.
When invoked 2,668 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin 92% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02668 $0.02668
Opus 5 $0.01334 $0.01334
Sonnet 5 $0.00534 $0.00534
Haiku 4.5 $0.00267 $0.00267

Measured 3d ago against content hash 9af32d7f74fc, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

asc-mcp CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

92% identical to asc-mcp AGENTS.md — 6 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

CLAUDE.md · 213 lines

How it starts

The opening of the file, as written. The whole thing — 213 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Language

Response language: Russian Comment language: English

Project Overview

MCP (Model Context Protocol) server for App Store Connect API integration, designed for Claude Code CLI. This server provides tools to manage iOS/macOS apps through App Store Connect.

Build and Run Commands

# Build the project
swift build

# Run all unit tests
swift test

# Run the MCP server (requires environment variables or companies.json)
./.build/debug/asc-mcp

# Run with worker filtering (for clients with tool limits)
./.build/debug/asc-mcp --workers apps,builds,versions,reviews

# Run integration tests
./.build/debug/asc-mcp --test

# Clean build
swift package clean

Environment Configuration

Three config methods (checked in priority order):

  1. --companies /path/to/companies.json (CLI argument)
  2. ASC_MCP_COMPANIES env var → path to JSON file
  3. Default JSON: ~/.config/asc-mcp/companies.json
  4. ASC_COMPANY_1_KEY_ID, ASC_COMPANY_2_KEY_ID... (multi-company env vars)
  5. ASC_KEY_ID + ASC_ISSUER_ID + ASC_PRIVATE_KEY_PATH (single company env vars)

Each company needs: keyID, issuerID, privateKeyPath (path to .p8 file).

Architecture

Core Components

WorkerManager (Workers/MainWorker/WorkerManager.swift) — central registry, routes tool calls by prefix.

Workers (39 Swift worker classes; 35 --workers filter keys; 502 tools):

Worker Prefix Tools Domain
CompaniesWorker company_ 3 Multi-account management
AuthWorker auth_ 4 JWT tokens
AppsWorker apps_ 10 App listing, metadata, localizations, search keyword IDs
AccessibilityWorker accessibility_ 6 App Store accessibility declarations
WebhooksWorker webhooks_ 11 Webhook notifications, delivery diagnostics, receiver helpers
XcodeCloudWorker xcode_cloud_ 42 Xcode Cloud products, workflow management, builds, artifacts, issues, test results, SCM
BuildsWorker builds_ 4 Build management
BuildUploadsWorker build_uploads_ 10 Build upload parents, files, safe transfers, and recovery
BuildBetaDetailsWorker builds_*_beta_ 11 TestFlight localizations, notifications, beta groups, individual testers
BuildProcessingWorker builds_*_processing_ 4 Build states, encryption
ExportComplianceWorker export_compliance_ 11 Encryption declarations, document delivery, build linkage, readiness
AppLifecycleWorker app_versions_ 17 Versions, age ratings, submit, release, phased rollout, delete
ReviewsWorker reviews_ 8 Customer reviews, responses, AI summarizations
BetaGroupsWorker beta_groups_ 15 TestFlight groups CRUD, testers, builds, recruitment criteria
BetaFeedbackWorker beta_feedback_ 8 TestFlight feedback screenshots, crash submissions, crash logs
InAppPurchasesWorker iap_ 59 IAP, versioned metadata, pricing, availability, offer codes, review assets
ProvisioningWorker provisioning_ 17 Bundle IDs, devices, certificates, profiles, capabilities
BetaTestersWorker beta_testers_ 12 Tester management, search, invite, relationships, invitations
AppInfoWorker app_info_ 10 App info, categories, localizations, EULA
PricingWorker pricing_ 9 Territories, availability, price points/schedule, app availabilities v2
UsersWorker users_ 10 Team members, roles, invitations, visible apps
AppEventsWorker app_events_ 9 In-app events CRUD, localizations
AnalyticsWorker analytics_ 11 Sales/financial reports, app summary, analytics reports/instances/segments, snapshot status
SubscriptionsWorker subscriptions_ 99 Subscription and group versions, pricing, plan availability, offers, assets; includes offer-code, intro, promotional, and win-back sub-worker behavior
SandboxTestersWorker sandbox_ 3 Sandbox testers (list, update, clear purchase history)
BetaAppWorker beta_app_ 10 Beta app localizations, review submissions, review details
PreReleaseVersionsWorker pre_release_ 3 Pre-release versions (list, get, builds)
BetaLicenseAgreementsWorker beta_license_ 3 Beta license agreements (list, get, update)
ScreenshotsWorker screenshots_ 19 Screenshots, previews, sets, verified reorder, full upload, batch upload
CustomProductPagesWorker custom_pages_ 17 Custom product pages, versions, localizations, search keywords
ProductPageOptimizationWorker ppo_ 15 A/B test experiments, treatments, localizations
PromotedPurchasesWorker promoted_ 10 Promoted in-app purchases and verified reorder; legacy image tools return migration guidance
ReviewAttachmentsWorker review_attachments_ 4 App Store review attachments (upload, get, delete, list)
ReviewSubmissionsWorker review_submissions_ 9 Generic App Store review submissions and submission items
MetricsWorker metrics_ 9 Performance/power metrics, diagnostics, TestFlight usage metrics

Read the full file on GitHub · 213 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 213 lines · 2,668 tokens per session scan A 9af32d7f74fc

Subscribe to this mod's changes

asc-mcp CLAUDE.md is an instructions file published in the GitHub repository zelentsov-dev/asc-mcp (66 stars, last pushed 11d ago), licensed MIT. It adds 2,668 tokens to every session, about $0.0133 per session on Opus 5. A static security scan graded it A with 0 findings. It is 92% identical to asc-mcp AGENTS.md, differing in 6 lines, and is treated as a copy.