dsh-rustore: a RuStore publishing plugin for DeepSeek Harness
dsh-rustore
A plugin, a skill and a standalone MCP server with 22 RuStore tools: draft, AAB upload, moderation and publishing
- 0 ★ on the repository
- Last commit
Broad access
Why this level
- The RuStore key publishes application versions and deletes drafts
- The private key sits in a settings file on disk unless moved to DSH credentials
Install
- Works in
- Services
Manual install
dsh plugin --profile <профиль> add github:YurinKonstantin/dsh-rustoreFor DeepSeek Harness; the line from `cordis.patch.yml` is then moved into the profile. The standalone MCP server connects to Cursor or Claude Desktop as described in the README.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The RuStore key publishes application versions and deletes drafts
- The private key sits in a settings file on disk unless moved to DSH credentials
This is third-party code. Review the repository files before installing.
What it does
The plugin for DeepSeek Harness (DSH) registers 22 `rustore_*` tools for the RuStore publishing API: a version draft, AAB and APK upload, icons and screenshots, publish settings, moderation, manual publishing, archiving and draft deletion. A `rustore` skill ships with the plugin. The same set works as a standalone stdio MCP server with no external dependencies and connects to Cursor, Claude Desktop or your own agent. RuStore does not issue a long-lived token: a JWE lives 900 seconds, so the plugin stores `keyId` and the private key, issues the token itself and refreshes it a minute before expiry. The DSH settings page checks authorization and shows the number of apps.
Who it is for. Mobile developers who work in DeepSeek Harness or connect MCP to Cursor and Claude Desktop and publish builds to RuStore.
Good fit when
- A build is ready and the draft version with an AAB must be created from chat without opening the Console
- A version awaits moderation and must be published by hand after approval
- An old draft is in the way and must be deleted
- The same toolset is needed in both DSH and Cursor
Not a fit when
- You need reviews, payments and subscriptions: the description covers only version publishing
- Work runs with neither DSH nor an MCP client: the description mentions no ready CLI
- You want to keep the key in the repository: it is safer in the DSH credentials
Example request
Create a draft for version 2.4.0, upload the AAB, add screenshots and submit it to moderationLimitations
The plugin targets DeepSeek Harness and installs with `dsh plugin add` or through the `market.json` store index. An API key from the RuStore Console is required: `keyId` and a Base64 private key that is shown once. Settings are saved in `%USERPROFILE%\.dsh\rustore.json` with 0600 rights, and the private key is better kept in DSH credentials. Version publishing is covered: reviews, payments and subscriptions are absent among the 22 tools.
How to disable. Remove the plugin with `dsh plugin`, take the line out of the profile `cordis.patch.yml` and delete the API key in the RuStore Console.
FAQ
How do I install dsh-rustore?
With `dsh plugin --profile <profile> add github:YurinKonstantin/dsh-rustore`; then the line from `cordis.patch.yml` is moved into the profile.
Why does the token refresh itself?
RuStore issues a JWE for 900 seconds, so the plugin stores the key and issues a new token a minute before the old one expires.
Can the set be used without DSH?
Yes: the same tools run as a standalone stdio MCP server that connects to Cursor or Claude Desktop.
Which RuStore operations are available?
A version draft, AAB and APK upload, icons and screenshots, publish settings, moderation, manual publishing, archiving and draft deletion.
Where does the plugin keep the key?
In the `%USERPROFILE%\.dsh\rustore.json` file with 0600 rights; the plugin configuration has priority, then the DSH secret `RUSTORE_PRIVATE_KEY` and the `RUSTORE_*` variables.
Discussion
No questions or reviews yet.
Related
All RuStore tools34 RuStore Console tools: APK and AAB uploads, moderation, reviews, payments and subscriptions from an agent chat
rustore-apk-mcp: verified RuStore APKs for an agent
rustore-apk-mcp
The agent names a package and gets an APK from RuStore on disk with signature verification, no browser, account or API key
RuStore ASO
RuStore ASO Skill
An app store optimization skill for RuStore: metadata, search tags, categories, ranking factors and listing conversion
An Android debugging app for macOS with an MCP server: an agent reads Reactotron data from React Native on localhost
The Itsyconnect MCP server edits App Store Connect listings, translates fields and adds locales from your coding agent.
App Store Connect MCP
appstoreconnect-mcp
An MCP server for App Store Connect: subscription prices by country, offers, review submission and sales reports straight from an agent chat
README in short
The README describes installation from GitHub and through the DSH plugin store, key setup through the interface and through the profile configuration, the order of secret sources and the tool list. It explains separately why the token is issued again every 900 seconds.