asyau/mobile-action-mcp
If you are the rightful owner of mobile-action-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MobileAction MCP Tools provide a comprehensive suite for interacting with the MobileAction App Store API, enabling users to access app details, keyword rankings, reviews, and more.
MobileAction MCP Tools
This package provides a set of MCP tools for interacting with the MobileAction App Store API, including keyword rankings, app details, reviews, estimations, and more.
Requirements
- Python 3.10 or higher
- uv for environment and dependency management
- MCP SDK 1.2.0 or higher
- Claude for Desktop (or another MCP-compatible client)
- python-dotenv for loading environment variables from a
.envfile - You must create a
.envfile in your project root with your MobileAction API key:MOBILEACTION_API_KEY=your_api_key_here
How to Run
1. Set up your environment
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a new directory for your project (if needed)
uv init mobile-action-mcp
cd mobile-action-mcp
# Create and activate a virtual environment
uv venv
source .venv/bin/activate
# Install dependencies
uv add "mcp[cli]" httpx python-dotenv
2. Add your API key to a .env file
Create a file named .env in your project root with the following content:
MOBILEACTION_API_KEY=your_api_key_here
3. Run the MCP server
uv run mamcp/appinfo.py
4. Configure Claude for Desktop
Edit (or create) your Claude Desktop config file at:
~/Library/Application Support/Claude/claude_desktop_config.json(MacOS/Linux)
Add your server configuration:
{
"mcpServers": {
"mobile-action-mcp": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/mobile-action-mcp",
"run",
"mamcp/appinfo.py"
]
}
}
}
- Replace
/ABSOLUTE/PATH/TO/PARENT/FOLDER/mobile-action-mcpwith the full path to your project directory. - You may need to use the full path to the
uvexecutable (seewhich uv).
Restart Claude for Desktop after saving the config.
5. Logging
- Do not use
print()for logging (it will break STDIO-based MCP servers). - Use the
loggingmodule to log to stderr or a file.
Tool Descriptions and Example Prompts
Below are all available tools, their descriptions, and example prompts you can use with Claude or any MCP client.
1. get_track_id
Description: Get the App Store trackId for a given app name. Prompt Example:
What is the App Store track id for Instagram in the US?
Call: get_track_id(app_name="Instagram", country_code="US")
2. get_keyword_ranking
Description: Get a single day's keyword ranking for given keyword(s) and track id of an app in AppStore. Prompt Example:
Show me the keyword ranking for Instagram (track id 389801252) in the US for keywords "photo, social" on 2024-07-01.
Call: get_keyword_ranking(track_id=389801252, country_code="US", keywords="photo,social", date="2024-07-01")
3. get_keyword_history
Description: Get historic keyword ranking for a given keyword and track id of an app in AppStore (max 30 days). Prompt Example:
Show me the keyword ranking history for Instagram (track id 389801252) in the US for the keyword "insta" from 2024-07-01 to 2024-07-15.
Call: get_keyword_history(track_id=389801252, country_code="US", keyword="insta", start_date="2024-07-01", end_date="2024-07-15")
4. get_top_keywords
Description: Get single day's top keywords for given track id of an app in AppStore. Prompt Example:
What were the top 15 keywords for Instagram (track id 389801252) in the US on 2024-07-01 for IPHONE?
Call: get_top_keywords(track_id=389801252, country_code="US", date="2024-07-01", device="IPHONE")
5. get_keyword_metadata
Description: Get last day's keyword meta-data for given keyword for AppStore. Prompt Example:
Show me the metadata for the keyword "insta" in the US.
Call: get_keyword_metadata(country_code="US", keyword="insta")
6. get_keyword_apps
Description: Get app list for given keyword for AppStore. Prompt Example:
Which apps are ranking for the keyword "insta" in the US?
Call: get_keyword_apps(country_code="US", keyword="insta")
7. get_organic_keywords
Description: Get organic keywords and their rankings for given app in AppStore. Prompt Example:
List the organic keywords for Instagram (track id 389801252) in the US for IPHONE on 2024-07-01.
Call: get_organic_keywords(track_id=389801252, country_code="US", device="IPHONE", date="2024-07-01")
8. get_organic_impression_share
Description: Get organic impression shares of a keyword for App Store. Prompt Example:
What is the organic impression share for the keyword "insta" in the US for IPHONE?
Call: get_organic_impression_share(keyword="insta", country_code="US", device="IPHONE")
9. get_share_of_category
Description: Get top categories of searched keyword used in app metadata. Prompt Example:
Show me the top categories for the keyword "insta" in the US for IPHONE.
Call: get_share_of_category(keyword="insta", country_code="US", device="IPHONE")
10. get_top_charts
Description: Get top charts information for given category, country, ranking type and device. Prompt Example:
Show me the top FREE charts for category 6000 in the US for IPHONE on 2024-07-01 (API v2).
Call: get_top_charts(version="v2", category_id=6000, country_code="US", ranking_type="FREE", target_device="IPHONE", date="2024-07-01")
11. get_category_ranking
Description: Get category rankings history of an app in AppStore (max 30 days). Prompt Example:
Show me the category ranking history for Instagram (track id 389801252) in the US for category 6000, daily average, from 2024-07-01 to 2024-07-15 (API v2).
Call: get_category_ranking(version="v2", track_id=389801252, country_code="US", hourly="false", start_date="2024-07-01", end_date="2024-07-15")
12. get_global_last_day_category_rankings
Description: Provides global category rankings of an app in AppStore for last day. Prompt Example:
Get the global last day category rankings for Instagram (track id 389801252) on IPHONE.
Call: get_global_last_day_category_rankings(track_id=389801252, device="IPHONE")
13. get_new_apps
Description: Provides app infos for newly released apps for a given country and category. Prompt Example:
Show me new FREE apps in category 6000 for the US on 2024-07-01.
Call: get_new_apps(category_id=6000, country_code="US", ranking_type="FREE", date="2024-07-01")
14. get_app_detail
Description: Provides detailed information for an app in AppStore. Prompt Example:
Get detailed info for Instagram (track id 389801252) in the US.
Call: get_app_detail(track_id=389801252, country_code="US")
15. get_app_simple_info
Description: Provides simplified information for given apps in AppStore. Prompt Example:
Get simple info for Facebook and Instagram in the US.
Call: get_app_simple_info(country_code="US", track_ids="284882215,389801252")
16. get_app_versions
Description: Provides version list (app update timeline) of the apps in AppStore. Prompt Example:
Show me the version history for Instagram (track id 389801252) in the US from 2024-01-01 to 2024-07-01.
Call: get_app_versions(track_id=389801252, country_code="US", start_date="2024-01-01", end_date="2024-07-01")
17. get_app_versions_detailed
Description: Provides version list (app update timeline) with changed values of the apps in AppStore. Prompt Example:
Show me detailed version changes for Instagram (track id 389801252) in the US from 2024-01-01 to 2024-07-01.
Call: get_app_versions_detailed(track_id=389801252, country_code="US", start_date="2024-01-01", end_date="2024-07-01")
18. get_developer_apps
Description: Provides a list of apps owned by the given developer in the given country. Prompt Example:
List all apps by developer 447553567 in the US.
Call: get_developer_apps(developer_id=447553567, country_code="US")
19. discover_app
Description: Queues the given App Store app for discovery. Prompt Example:
Queue Instagram (track id 389801252) for discovery.
Call: discover_app(track_id=389801252)
20. get_app_reviews
Description: Provides review list of the apps in AppStore. Prompt Example:
Get reviews for Instagram (track id 389801252) from 2024-01-01 to 2024-07-01 in the US with rating 5.
Call: get_app_reviews(track_id=389801252, start_date="2024-01-01", end_date="2024-07-01", rating="5", countries="US")
21. get_app_review_analysis
Description: Provides word-based analysis for the reviews of a given app. Prompt Example:
Analyze review keywords for Instagram (track id 389801252) from 2024-01-01 to 2024-07-01 in the US.
Call: get_app_review_analysis(track_id=389801252, start_date="2024-01-01", end_date="2024-07-01", countries="US")
22. get_download_revenue_estimations
Description: Provides download-revenue estimations of an app in AppStore. Prompt Example:
Estimate downloads and revenue for Instagram (track id 389801252) in the US on IPHONE from 2024-01-01 to 2024-01-31.
Call: get_download_revenue_estimations(track_id=389801252, country_code="US", start_date="2024-01-01", end_date="2024-01-31", device="IPHONE")
23. get_monthly_global_download_revenue
Description: Provides global download-revenue estimations of an app in AppStore for the last month. Prompt Example:
Get last month's global download and revenue for Instagram (track id 389801252).
Call: get_monthly_global_download_revenue(track_id=389801252)
24. get_dau_estimations
Description: Provides Daily Active User (DAU) estimations for the given app and country between the dates. Prompt Example:
Get DAU estimations for Instagram (track id 389801252) in the US from 2024-01-01 to 2024-01-07.
Call: get_dau_estimations(track_id=389801252, country_code="US", start_date="2024-01-01", end_date="2024-01-07")
25. get_mau_estimations
Description: Provides Monthly Active User (MAU) estimations for the given app and country between the dates. Prompt Example:
Get MAU estimations for Instagram (track id 389801252) in the US from 2024-01-01 to 2024-01-31.
Call: get_mau_estimations(track_id=389801252, country_code="US", start_date="2024-01-01", end_date="2024-01-31")
26. get_featured_app
Description: Retrieves detailed information about how an application is featured within a specific category on the App Store. Prompt Example:
Show me how Instagram (track id 389801252) is featured in category 6014 in the US for 2024-07-01.
Call: get_featured_app(track_id=389801252, category_id=6014, country_code="US", start_date="2024-07-01")
27. get_featuring_analysis
Description: Analyzes the featuring of an application across different App Store categories. Prompt Example:
Analyze featuring for Instagram (track id 389801252) in the US from 2024-01-01 to 2024-07-01.
Call: get_featuring_analysis(track_id=389801252, country_code="US", start_date="2024-01-01", end_date="2024-07-01")
For more details on each tool, see the docstrings in appinfo.py.