## Overview

The Dock MCP extension exposes 15 tools that let an AI assistant read and edit the app data Dock manages on your Mac:

- App Store Connect listings, keywords, screenshots, and reviews
- Google Play listings and reviews
- Sales and finance data
- Cross-platform twin app comparisons

The extension is a **thin bridge**: every tool call is forwarded over `localhost` to the Dock app running on your machine. No data is sent to remote servers by the extension itself, and credentials (App Store Connect API keys, Google OAuth tokens) never leave Dock.

```
Claude  ──stdio──▶  DockMCP (binary)  ──HTTP──▶  Dock.app (localhost:8765)
```

**You must keep Dock running** with the MCP server enabled (Settings → MCP) for the tools to work.

* * *

## Requirements

- macOS 14 or later
- **Dock — ASO Tracker** installed from the Mac App Store ( [dock-app.com](/content/site-root.html))
- An MCP-compatible client. Tested with:
  - Claude Desktop (recommended)
  - Codex
  - Other clients that implement MCP over stdio

* * *

## Installation

### Option 1 — Desktop Extension (`.mcpb`) — recommended

1. Download the latest `dock-aso-<version>.mcpb` package from the Anthropic Connectors Directory or from your Dock release.
2. Open **Claude Desktop → Settings → Extensions**.
3. Drag the `.mcpb` file into the window.
4. Confirm the install. The extension appears in the list of installed connectors.
5. Open Dock, go to **Settings → MCP**, and toggle the local MCP server **on**.
6. Done — Claude can now call any of the 15 tools.

### Option 2 — Manual configuration

If you prefer to point your client at the binary directly:

1. Open Dock → **Settings → MCP** and enable the server.
2. From the same panel, **Copy MCP configuration**. This generates the JSON snippet for Claude Desktop / Codex with the correct path to the bundled `DockMCP` binary inside `Dock.app/Contents/MacOS/DockMCP`.
3. Paste the snippet into your client’s MCP config file:
   - **Claude Desktop**: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - **Codex / others**: see the client’s docs.
4. Restart the client.

* * *

## Configuration

The extension accepts one optional setting:

| Key           | Default | Description                                                                                                 |
| --------------| ------- | ----------------------------------------------------------------------------------------------------------- |
| `dock_port`   | `8765`  | The port the Dock app listens on for MCP HTTP requests. Change this only if you’ve reconfigured Dock to use a different port (Settings → MCP). |

In Claude Desktop, edit the value in **Settings → Extensions → Dock — ASO Tracker → Configure**.

* * *

## Available tools

All read tools are annotated with `readOnlyHint: true`. The two write tools are annotated with `destructiveHint: true`, which Claude Desktop renders as an explicit user confirmation prompt before each call.

### Apple App Store

| Tool                          | Hint      | What it does
|
|-------------------------------|-----------|-------------------------------------------------------|
| `get_apps_and_languages`      | read-only | List Apple apps configured in Dock with their languages and platforms.                      |
| `get_app_keywords_analysis`   | read-only | Detailed keyword analysis (popularity, difficulty, ranking, opportunity index).               |
| `get_app_aso_content`         | read-only | Read title, subtitle, keywords, description, promotional text, what’s new.                  |
| `update_app_aso_content`      | destructive| Save edits as a local draft inside Dock (publish from the app).                              |
| `get_app_screenshots`         | read-only | Fetch App Store screenshots so the assistant can visually analyze them.                       |

### Google Play

| Tool                           | Hint      | What it does
|
|-------------------------------|-----------|---------------------------------------------------------------|
| `get_google_apps_and_languages`| read-only | List Google Play apps configured in Dock with their languages.                                   |
| `get_google_app_aso_content`  | read-only | Read listing content + Dock’s ASO score breakdown.                                               |
| `update_google_app_aso_content`| destructive| Save edits as a local draft inside Dock (publish from the app).                                   |

### Reviews

| Tool                    | Hint      | What it does
|
|------------------------|-----------|--------------------------------------------|
| `get_app_reviews`      | read-only | Fetch Apple App Store reviews with optional rating filter and limit.                        |
| `get_google_app_reviews`| read-only | Fetch Google Play reviews with optional rating filter and limit.                          |

### Sales & Finance

| Tool                   | Hint      | What it does
|
|-----------------------|-----------|---------------------------------------------------|
| `get_sales_summary`   | read-only | Sales summary across all apps for a month or year.                   |
| `get_finance_summary` | read-only | Monthly financial report (proceeds, partner share, commission).        |
| `get_finance_year`    | read-only | Yearly financial summary, fiscal or calendar year.                      |

### Cross-platform

| Tool                   | Hint      | What it does
|
|-----------------------|-----------|-----------------------------------------------------------------------|
| `get_twin_apps`       | read-only | List linked Apple ↔ Google twin apps.                                        |
| `get_twin_comparison` | read-only | Side-by-side comparison of an Apple app and its Google twin.                  |

* * *

## Example prompts

Once the extension is installed, you can ask Claude things like:

**Discovery**  
> “List all my apps in Dock with the languages they support.”

**Keyword analysis**  
> “Look at the keyword analysis for my app _Magica_ in `en-US` on iOS and tell me which keywords have the highest opportunity score.”

**ASO rewrite (read → propose → write)**  
> “Read the current App Store description for _Magica_ in `de-DE`, then suggest a rewritten version that emphasizes the new AI features. Once I approve, save it as a draft in Dock.”

**Screenshot review**  
> “Pull the iPhone 6.9″ screenshots for _Magica_ in `en-US` and review them: text readability, design consistency, conversion-focused messaging.”

**Cross-platform consistency**  
> “Compare the App Store and Google Play listings for _Magica_ in `it` and flag any inconsistencies in title, subtitle/short description, and keyword overlap.”

**Reviews triage**  
> “Get the 1- and 2-star Google Play reviews for _Magica_ over the last few weeks and group them by complaint type.”

**Sales**  
> “Give me a sales summary for December 2025 across all my apps and highlight the top three by proceeds.”  
Tip: prefix any rewrite or destructive action with _“after I approve”_. The `update_*` tools already trigger Claude Desktop’s destructive-action confirmation, but spelling it out keeps the assistant cautious.

* * *

## How edits are applied

The two write tools (`update_app_aso_content`, `update_google_app_aso_content`) **never publish directly to the stores**. They write to Dock’s local draft system:

- Apple drafts are stored in Dock and require your manual publish to App Store Connect from the app.
- Google Play drafts persist in Core Data with field-level diff indicators (modified flag, original value) and require an explicit publish.

This means you can safely have Claude prepare a complete localization update across many languages, review the diff inside Dock, and then publish once when you’re satisfied.

* * *

## Troubleshooting

**“Cannot reach the Dock app on localhost”**  
The Dock app is not running, or the MCP server is disabled. Open Dock → Settings → MCP and toggle it on. The MCP HTTP listener uses port `8765` by default.

**“This feature requires a newer version of Dock”**  
The extension called an endpoint that doesn’t exist in your installed Dock version. Update Dock from the Mac App Store.

**“Found N apps matching X” (ambiguous match)**  
You asked for an app by name and Dock found multiple matches. Re-issue the request with a more specific name or with the exact `bundleId` / `packageName`.

**Tool calls work but Claude can’t see images from `get_app_screenshots`**  
Make sure your client supports MCP image content. Claude Desktop does. Some clients fall back to text-only output and will skip image responses.

**The extension appears installed but no tools show up**  
Check that the binary path in your client’s config points to the `DockMCP` executable inside the installed `Dock.app` bundle (typical path: `/Applications/Dock.app/Contents/MacOS/DockMCP`). If you used the `.mcpb` extension this is handled automatically.

**Apple Silicon vs Intel**  
The bundled `DockMCP` binary is universal; both architectures are supported.

* * *

## Privacy

The extension does not transmit any data to remote servers. All MCP traffic stays on `localhost`. App Store Connect and Google Play data are fetched **by the Dock app**, not by the extension, using credentials stored locally on your Mac.

Anything returned by a tool call is sent back to your AI assistant as part of the MCP response, so the LLM sees the same data you see in Dock. Treat AI access to your business data accordingly.

The full privacy policy is at [https://dock-app.com/privacy-policy/](/content/privacy-policy/index.html).

* * *

## Support

Questions or issues with the extension: [info@dock-app.com](mailto:info@dock-app.com) or [https://dock-app.com/support/](/content/support/index.html).  
For the source repository, release notes, and the latest `.mcpb` package, visit [https://dock-app.com](/content/site-root.html).
