应用商店数据MCP服务器

MobileAction MCP Server 是一款将 App Store 数据封装为 MCP 工具的开源服务器,提供关键词排名、应用详情、评论分析、下载/收入估算等功能,便于 AI 助手和自动化流程进行应用市场情报分析。

  • by asyau
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 asyau/mobile-action-mcp

使用说明

MobileAction MCP Server

App Store intelligence as callable tools for AI assistants.

An open-source Model Context Protocol server that exposes MobileAction data to MCP-compatible clients through a local stdio process.

Problem

App Store research often requires repeatedly moving between dashboards to inspect keyword rankings, reviews, competitors, downloads, revenue, active users, and featuring history. That workflow is difficult to combine with an AI assistant and hard to automate consistently.

Approach

This server wraps MobileAction endpoints as typed MCP tools. An MCP client can select a tool from the user's request, pass structured arguments, and receive readable JSON or a concise text result.

The implementation:

  • Uses FastMCP to register tools and run over stdio.
  • Sends asynchronous HTTP requests with a shared MobileAction API helper.
  • Supports direct structured arguments and limited natural-language argument extraction for selected estimation/history tools.
  • Resolves an App Store track ID from an app name through Apple's public search endpoint.
  • Keeps the API key in the local environment rather than in client prompts.

Tech Stack

Area Technology
Language Python 3.13+
Protocol Model Context Protocol, FastMCP
HTTP httpx (async)
Environment python-dotenv
Dependency management uv
Transport stdio

Tool Coverage

The server implements 27 MobileAction/App Store data tools across:

  • Keyword ranking, history, metadata, organic keywords, and visibility
  • App details, versions, developers, discovery, and top charts
  • Category and global rankings
  • Reviews and review-language analysis
  • Download, revenue, DAU, and MAU estimates
  • Featuring history and category analysis

Four additional MCP helpers extract arguments from natural-language queries for selected tools.

Setup

Requirements:

  • Python 3.13 or newer
  • uv
  • A MobileAction API key
  • An MCP-compatible client
git clone https://github.com/asyau/mobile-action-mcp.git
cd mobile-action-mcp
uv sync

Create a .env file in the repository root:

MOBILEACTION_API_KEY=your_api_key_here

Start the stdio server:

uv run --with python-dotenv appinfo.py

Client configuration

Use an absolute repository path in the client configuration:

{
  "mcpServers": {
    "mobileaction": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/mobile-action-mcp",
        "run",
        "--with",
        "python-dotenv",
        "appinfo.py"
      ]
    }
  }
}

Restart the MCP client after changing its configuration.

Demo

Once the client is connected, try prompts such as:

  • “Find Instagram's App Store track ID in the US.”
  • “Show the app's top organic keywords in the US.”
  • “Compare its category ranking over the last 30 days.”
  • “Summarize recurring themes in recent one-star reviews.”
  • “Estimate downloads and revenue for the app last month.”

The request flow is:

User prompt → MCP client → selected FastMCP tool → MobileAction API → formatted result

API access and returned coverage depend on the permissions of the supplied MobileAction key.

Results

  • appinfo.py registers 31 MCP-callable functions: 27 data tools and four argument-extraction helpers.
  • The server covers keyword intelligence, app metadata, reviews, rankings, estimates, and featuring from one client connection.
  • Requests use asynchronous I/O with a 30-second timeout and return inspectable text or formatted JSON.
  • The repository does not yet include automated tests, a recorded client session, or latency/reliability benchmarks; no unsupported performance claim is made here.

Project Structure

appinfo.py       FastMCP server, request helper, argument extraction, and tools
pyproject.toml   Package metadata and direct dependencies
uv.lock          Reproducible dependency lock
LICENSE          MIT license

Next Steps

  • Add mocked API tests for every tool and error path.
  • Validate dates, country codes, device values, limits, and mutually dependent arguments before making requests.
  • Return consistent structured MCP responses instead of mixing prose and serialized JSON.
  • Add pagination helpers for endpoints that return multiple pages.
  • Record a short client demo and add a screenshot or GIF to this README.
  • Split the single server module into API, schemas, extraction, and tool-registration modules.

License

MIT