linktest-mcp-server
by smy383
README.md
[](https://www.npmjs.com/package/linktest-mcp-server)
[](https://opensource.org/licenses/MIT)
# linktest-mcp-server
**Automate Google Play closed testing with AI.** Skip the hassle of finding 12+ testers and waiting 14+ days — just tell your AI to handle it.
## The Problem
To publish on Google Play, you need:
- **12+ testers** opted in to your closed testing track
- **14+ days** of continuous testing
Finding testers, getting them to opt in, and keeping them active for 2+ weeks is the biggest bottleneck for indie developers.
## The Solution
LinkTest runs your app on **12+ real Android devices** for **14+ days** — automatically. Just tell your AI:
> *"Run closed testing for my app com.example.myapp"*
That's it. **$5 per order.** No subscriptions. No tester recruitment.
---
## Quick Start
### 1. Get your API token
Sign up at [linktest-prod.web.app](https://linktest-prod.web.app) and copy your token from Settings.
### 2. Install
Works with any MCP-compatible AI client — Claude, Cursor, Windsurf, VS Code (Copilot), Cline, Continue, and more.
<details open>
<summary><strong>Claude Desktop</strong></summary>
Add to your config file:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"linktest": {
"command": "npx",
"args": ["-y", "linktest-mcp-server@latest"],
"env": {
"LINKTEST_API_TOKEN": "your-token-here"
}
}
}
}
```
</details>
<details>
<summary><strong>Claude Code</strong></summary>
```bash
claude mcp add linktest -s user -e LINKTEST_API_TOKEN=your-token-here -- npx -y linktest-mcp-server@latest
```
</details>
<details>
<summary><strong>Cursor</strong></summary>
Add to `.cursor/mcp.json` in your project root:
```json
{
"mcpServers": {
"linktest": {
"command": "npx",
"args": ["-y", "linktest-mcp-server@latest"],
"env": {
"LINKTEST_API_TOKEN": "your-token-here"
}
}
}
}
```
</details>
<details>
<summary><strong>Windsurf</strong></summary>
Add to `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"linktest": {
"command": "npx",
"args": ["-y", "linktest-mcp-server@latest"],
"env": {
"LINKTEST_API_TOKEN": "your-token-here"
}
}
}
}
```
</details>
<details>
<summary><strong>Other MCP Clients</strong></summary>
Any client that supports the [Model Context Protocol](https://modelcontextprotocol.io) can use this server. The config is the same:
- **Command:** `npx -y linktest-mcp-server@latest`
- **Environment:** `LINKTEST_API_TOKEN=your-token-here`
</details>
### 3. Start testing
Just tell your AI:
> *"I need to run Google Play closed testing for my app. The package name is com.example.myapp."*
The AI will guide you through the entire process automatically.
---
## Tools
| Tool | Description |
|------|-------------|
| `linktest_testers` | Get tester email list to register in Play Console (always start here) |
| `linktest_validate` | Validate your opt-in link format before ordering |
| `linktest_verify` | Verify real devices can access your app |
| `linktest_order` | Place a testing order ($5) and get payment link |
| `linktest_status` | Check order status, progress, and days remaining |
| `linktest_screenshots` | View daily screenshots from test devices |
| `linktest_retry` | Free retry if rejected by Google Play (1 per order) |
| `linktest_cancel` | Cancel or complete an order early |
| `linktest_billing` | View payment history and receipts |
## Workflow
The AI handles this automatically, but here's what happens:
```
1. linktest_testers → Get emails, register in Play Console
2. linktest_validate → Check opt-in link
3. linktest_verify → Confirm device access (takes ~30s)
4. linktest_order → Create order → pay $5
5. linktest_status → Monitor progress
6. linktest_screenshots → Visual confirmation
```
## Example Prompts
| What you say | What happens |
|--------------|-------------|
| "Start closed testing for my app" | Gets tester emails and guides you through setup |
| "Run closed testing for com.example.app" | Full workflow from validation to order |
| "How's my testing going?" | Shows status of all active orders |
| "Show me screenshots" | Displays latest device screenshots |
| "My app was rejected, can I retry?" | Uses free retry to extend testing 14 more days |
| "Cancel my order" | Cancels or completes the order |
---
## Pricing
**$5 per order** — one-time payment, no subscription.
Each order includes:
- 12+ real Android devices
- 14+ days of daily app execution
- Daily screenshots for verification
- Free retry if rejected by Google Play (1 per order)
- Automatic management — no manual work needed
---
## How It Works
1. **You register** LinkTest tester emails in your Google Play Console
2. **You pay** $5 per app
3. **LinkTest installs** your app on 12+ real Android devices
4. **Devices run** your app daily for 14+ days
5. **Screenshots** are captured daily so you can verify
6. **Done** — your closed testing requirement is met
---
## Troubleshooting
### MCP not loading?
If `npx` is installed at a non-standard path (e.g., via nvm or .local), change `"command": "npx"` to the full path:
```bash
which npx # Find your npx path, then use it in the config
```
### Better AI guidance
Add this to your Claude system prompt or `CLAUDE.md` for step-by-step order guidance:
```
When using LinkTest tools, always read the resource "linktest://workflow-guide" first to follow the correct order.
```
---
## Requirements
- A Google Play Developer account
- An app with a closed testing track set up
- Node.js 18+
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `LINKTEST_API_TOKEN` | Yes | Your API token from [Settings](https://linktest-prod.web.app/settings) |
| `LINKTEST_API_URL` | No | Custom API URL (default: production) |
## Links
- [Dashboard](https://linktest-prod.web.app) — Manage orders and settings
- [npm](https://www.npmjs.com/package/linktest-mcp-server) — Package page
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues