RuStore MCP Server
MCP server for managing app publishing on RuStore (Android app store). Provides 34 tools: APK/AAB uploads, icon and screenshot management, version control, moderation, reviews, payments, subscriptions, access control, and product catalog.
Status
[!WARNING] The package is not yet published to PyPI. Only local installation is available at this time.
Prerequisites
- Python 3.11+
- RuStore Console API key (keyId + Base64-encoded private key)
Local Installation
Windows (PowerShell)
git clone https://github.com/eustatos/RuStoreMcp.git
cd RuStoreMcp
python -m venv .venv
.venv\Scripts\activate
pip install -e ".[dev]"
Windows (CMD)
git clone https://github.com/eustatos/RuStoreMcp.git
cd RuStoreMcp
python -m venv .venv
.venv\Scripts\activate.bat
pip install -e ".[dev]"
macOS / Linux
git clone https://github.com/eustatos/RuStoreMcp.git
cd RuStoreMcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
After installation, the rustore-mcp executable (rustore-mcp.exe on Windows)
is available inside the virtual environment at:
| Platform | Path |
|---|---|
| Windows | .venv\Scripts\rustore-mcp.exe |
| macOS | .venv/bin/rustore-mcp |
| Linux | .venv/bin/rustore-mcp |
Configuration
Create a .env file in the project root based on .env.example:
RUSTORE_KEY_ID=your_key_id
RUSTORE_PRIVATE_KEY=your_base64_private_key
RUSTORE_PACKAGE_NAME=com.example.app # optional
RUSTORE_KEY_ID— key identifier from RuStore ConsoleRUSTORE_PRIVATE_KEY— Base64-encoded private keyRUSTORE_PACKAGE_NAME— default package name (can be overridden per-request)
Usage
Direct execution
# Windows
.venv\Scripts\rustore-mcp.exe
# macOS / Linux
.venv/bin/rustore-mcp
Claude Desktop integration
Add to your Claude Desktop configuration (claude_desktop_config.json):
Windows:
{
"mcpServers": {
"rustore": {
"command": "C:\\Users\\<user>\\path\\to\\RuStoreMcp\\.venv\\Scripts\\rustore-mcp.exe",
"env": {
"RUSTORE_KEY_ID": "your_key_id_here",
"RUSTORE_PRIVATE_KEY": "your_base64_private_key_here",
"RUSTORE_PACKAGE_NAME": "com.example.app"
}
}
}
}
macOS / Linux:
{
"mcpServers": {
"rustore": {
"command": "/path/to/RuStoreMcp/.venv/bin/rustore-mcp",
"env": {
"RUSTORE_KEY_ID": "your_key_id_here",
"RUSTORE_PRIVATE_KEY": "your_base64_private_key_here",
"RUSTORE_PACKAGE_NAME": "com.example.app"
}
}
}
}
Logging
Log level is controlled via the RUSTORE_LOG_LEVEL environment variable:
# Windows (CMD)
set RUSTORE_LOG_LEVEL=DEBUG
.venv\Scripts\rustore-mcp.exe
# macOS / Linux
RUSTORE_LOG_LEVEL=DEBUG .venv/bin/rustore-mcp
Supported values: DEBUG, INFO, WARNING, ERROR, CRITICAL. Default: INFO.
Available Tools (34)
Publishing
| Tool | Description |
|---|---|
get_app_list |
List applications |
create_draft_version |
Create a draft version |
get_version_status |
Get version status |
upload_apk |
Upload APK file |
upload_aab |
Upload AAB file |
upload_icon |
Upload app icon |
upload_screenshot |
Upload screenshot |
delete_draft |
Delete a draft version |
change_publish_settings |
Update publish settings |
commit_to_moderation |
Submit for moderation |
publish_version |
Publish a version |
archive_version |
Archive a version |
Reviews & Rating
| Tool | Description |
|---|---|
get_feedback_list |
List reviews |
get_feedback_csv |
Export reviews as CSV |
answer_feedback |
Reply to a review |
get_answer_status |
Get reply status |
get_answers_statuses |
Get reply statuses in bulk |
change_answer |
Edit a reply |
delete_answer |
Delete a reply |
get_app_rating |
Get app rating stats |
Payments
| Tool | Description |
|---|---|
get_payment_info |
Get payment details |
refund_payment |
Refund a payment |
get_invoices_by_date |
Get invoices by date range |
confirm_purchase |
Confirm a purchase |
cancel_purchase |
Cancel a purchase |
get_user_purchases |
Get user purchases |
Subscriptions
| Tool | Description |
|---|---|
get_subscription_info |
Get subscription details |
cancel_subscription |
Cancel a subscription |
approve_subscription |
Approve a subscription |
Access & Catalog
| Tool | Description |
|---|---|
get_access_list |
List access grants |
grant_access |
Grant access to a user |
revoke_access |
Revoke access from a user |
get_catalog_products |
List catalog products |
get_catalog_subscriptions |
List catalog subscriptions |
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run all tests
pytest -v
# Run tests with coverage
pytest -v --cov=rustore_mcp --cov-report=term-missing
# Type checking
mypy rustore_mcp/
# Run a single test file
pytest tests/test_auth.py -v
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ru_store_mcp-0.1.0.tar.gz.
File metadata
- Download URL: ru_store_mcp-0.1.0.tar.gz
- Upload date:
- Size: 65.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c758de66f06c6e939e1d9fade6afe6b1d3cc6a574d0bc107c38252841a50181
|
|
| MD5 |
ce4061af83c19af66f5ddce17fd1e98e
|
|
| BLAKE2b-256 |
49fe761353927212ef6b125108e433bfcbec16b6d9b313ae8ded76b02841d7d7
|
File details
Details for the file ru_store_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ru_store_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 28.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
037469ef90b0de7fc7190c9a9f2e93ec12c689b0174d445b91711af13fffb3cc
|
|
| MD5 |
7a6097b57a8a755cefe8b8130e9b7c00
|
|
| BLAKE2b-256 |
7d3485b800154d2f5a4321cc5561e9c8d266f6a17692086aa3378a1b5e8a860e
|