AppSkyline MCP
About
Track app-store keyword rankings, rank history, listing metadata, engagement, reviews, and competitors across iOS, macOS, Google Play, and Microsoft Store.
Details
- Author
- Unknown
- Categories
- Marketing, Other, AI, Productivity
Jump to
Install AppSkyline as one portable plugin
The open](https://www.npmjs.com/package/appskyline)Agent Plugins standardpackages the AppSkyline MCP server and its ASO research skill together. Install one repository and your agent learns the workflow, connects to the remote tools, and sends you through the same AppSkyline OAuth approval flow — no API key or client secret is bundled in the plugin.
# Portable Agent Plugins package (Kiro, Cursor, Copilot-compatible hosts) https://github.com/appskyline/claude-plugin # Gemini CLI gemini extensions install https://github.com/appskyline/claude-plugin # Google Antigravity uses its native adapter from the same repository git clone https://github.com/appskyline/claude-plugin.git agy plugin install ./claude-plugin/com.google.antigravity
The repository includes the portable plugin.json and mcp.json manifests, plus native adapters for Claude, Gemini CLI, and Google Antigravity. The portable package is also the submission artifact for Kiro Powers, the Cursor Marketplace, and Awesome Copilot.
Agents and registries can discover the same package fromthe well-known Agent Plugin manifestor from AppSkyline’sAI Catalog.
AppSkyline ships Agent Skills — guides following theagentskills.io standardthat teach coding agents how to run ASO research with the appskyline CLI and the MCP connector, instead of guessing at commands and tools.
# Install the AppSkyline skills into your coding agent npx skills add appskyline/skills
One command installs the skills into Claude Code, Cursor, Codex, Gemini CLI and any other agent that follows the Skills standard. The CLI also bundles the same guides, version-matched to the commands it ships:appskyline skills get <name>prints one on demand.
The skills are open source atgithub.com/appskyline/skills. Claude users can also install the AppSkyline Claude plugin, which bundles the connector together with the skills:github.com/appskyline/claude-plugin.
Each key carries a list of scopes, so an integration that only needs to read your rankings never gets the ability to change what is tracked. New keys start read-only; widen them explicitly in the dashboard. A request whose key is missing the scope an endpoint requires is refused with 403.
- apps:readList the apps of your organization and read one by id.
- apps:writeCreate and update apps.
- keywords:readList tracked search terms and read one by id.
- keywords:writeCreate, update and delete tracked search terms.
- stats:readRead store engagement rows for your apps.
Add a webhook subscription to your organization and AppSkyline POSTs the events you picked to your server as they happen.
- app.createdAn app was added to tracking.
- app.updatedAn app was edited.
- keyword.createdA search term started being tracked for an app.
- keyword.updatedA tracked search term was edited.
- keyword.deletedA tracked search term was removed.
POST https://your-server.com/appskyline-webhook { "event": "keyword.created", "timestamp": 1719000000, "data": { "...": "..." } }
Every delivery carries an X-Appskyline-Signature header of the form t=timestamp,v1=signature, where the signature is an HMAC-SHA256 of timestamp.body keyed by the subscription secret shown to you once when the subscription was created. Recompute it over the raw body and compare before trusting the payload.
import crypto from 'node:crypto' // body must be the RAW request body, byte for byte function verify(header, body, secret) { const [t, v1] = (header || '').split(',').map(part => part.split('=')[1]) if (!t || !v1) return false const expected = crypto .createHmac('sha256', secret) .update(\${t}.${body}\) .digest('hex') // timingSafeEqual throws on a length mismatch, so a malformed signature // has to be rejected before the comparison rather than by it. if (v1.length !== expected.length) return false return crypto.timingSafeEqual(Buffer.from(v1), Buffer.from(expected)) }
Delivery is one best-effort attempt with a five second timeout and no retries, so respond 2xx quickly and do the work asynchronously. An endpoint that fails twenty times in a row is disabled automatically and has to be re-enabled in the dashboard.
Free MCP that drives an audit of your marketing. Your AI connects, adsOS digs through your ads, email and site, and hands back a growth plan you can run today.
An MCP server for integrating with the Claude Desktop application on macOS. Requires the Claude Desktop app to be installed and configured.
Native macOS API client with embedded MCP server. 31+ tools for AI-assisted API development. Schema extraction ensures AI never sees real credentials or PII. Supports Claude Code, Claude Desktop, Cursor
Local macOS MCP server that finds API keys and secrets leaked into Claude Code, Cursor, Copilot, and other AI tool transcripts. 9 tools: findings list, boolean secret detection, placeholder-only redaction (sieve://project/key), vault-backed command execution. No plaintext secrets ever returned.
Persistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.
After Effects MCP is a full-featured automation bridge that connects AI clients (like VS Code, Claude Desktop, and Claude Code) to Adobe After Effects through MCP, enabling scripted control of compositions, layers, effects, keyframes/graph easing, presets, markers, audio levels, waveform analysis, and effect discovery via a live bridge panel.
Project management your AI can actually run — connect Claude, ChatGPT, Cursor & Codex to one board over MCP.
AIOProductOS spine over MCP — customers, revenue, feedback, work, analytics on one typed record.
The memory layer for AI coding tools. Local-first, semantic, 9 MCP tools with consolidation and project scoping. Works with Claude Code, Cursor, Windsurf & any MCP client.
One MCP server for Claude, ChatGPT & Gemini — wraps your ERPs, CRMs, APIs and knowledge base into a single governed endpoint.
Run your field service business from Claude: answer calls, book and dispatch jobs, build estimates, chase invoices. Built for HVAC, plumbing, electrical, roofing and pest control.
Drive your app store rank tracking from your own code: a REST API with scoped keys and per-key rate limits over the apps and search terms you track across the iOS App Store, Google Play and the Microsoft Store, plus signed webhooks when something changes.
The AppSkyline REST API lets your own backend work with what the dashboard shows: the apps your organization tracks, the search terms tracked for each of them across the iOS App Store, Google Play and the Microsoft Store, and the store engagement rows behind the stats pages.
Open the AppSkyline dashboard and create an API key under API keys. The secret is shown once, when the key is created, and never again — store it somewhere safe. A key belongs to a single organization, so the organization is implied by the key and never has to be sent.
Authenticate every request with HTTP Basic auth carrying only the key secret, base64-encoded, in the Authorization header.
# The Authorization header is HTTP Basic auth carrying only the key secret, # with no username and no colon. Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)
Every endpoint lives underhttps://api.appskyline.com. Requests made with a key are rate limited per key; going over the limit returns 429.
List your tracked apps, start tracking a new search term for one of them, then read the terms tracked for that app.
# List the apps your organization tracks curl https://api.appskyline.com/api/apps \ -H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)" # Track a new search term for one of them. country is a two-letter ISO code and # language a two-letter ISO code; the pair is the storefront the term is # ranked in. curl -X POST https://api.appskyline.com/api/keywords \ -H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)" \ -H "Content-Type: application/json" \ -d '{ "appId": "APP_ID", "searchTerms": "dental practice software", "country": "us", "language": "en" }' # Read back the terms tracked for that app curl "https://api.appskyline.com/api/keywords?appId=APP_ID&limit=50" \ -H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)"
The same apps, keywords and rankings are available from your terminal through the appskyline CLI. Install it globally with npm, or run it ad hoc with npx.
The CLI is open source atgithub.com/appskyline/cliand published asappskyline on npm. Run any command with --help to see its options.
Connect AppSkyline to Claude to ask about the apps your organization tracks, the search terms you monitor and their current store rankings. The connector uses your AppSkyline account, so Claude can only access the organization you authorize.
The connector has separate read and write tools. Claude identifies changes before performing them, while rank lookups can render a compact inline result with the app, store, country, keyword and current position.
You need an AppSkyline account with access to at least one tracked app. To remove access later, disconnect AppSkyline in Claude or revoke the connection from your AppSkyline account.
# Any MCP client that supports remote servers uses the same URL: https://mcp.appskyline.com/mcp # Codex CLI codex mcp add appskyline --url https://mcp.appskyline.com/mcp codex mcp login appskyline # VS Code code --add-mcp '{"name":"appskyline","type":"http","url":"https://mcp.appskyline.com/mcp"}' # Cursor, Windsurf and other editors: add to their MCP config file { "mcpServers": { "appskyline": { "type": "http", "url": "https://mcp.appskyline.com/mcp" } } } # Clients that only support local (stdio) servers can bridge: npx mcp-remote https://mcp.appskyline.com/mcp
Authentication uses OAuth 2.0 with dynamic client registration and PKCE, which means clients register themselves — you never copy a client id or secret. Clients that only support local servers can bridge to the remote endpoint with mcp-remote.
AppSkyline signs in through the same authorization server as our other products, so the approval screen may list scopes for products beyond AppSkyline. Access is pinned to the product you connected: a token issued for AppSkyline is only accepted by AppSkyline, and you can revoke it at any time from your account.
Install AppSkyline as one portable plugin
# Portable Agent Plugins package (Kiro, Cursor, Copilot-compatible hosts) https://github.com/appskyline/claude-plugin # Gemini CLI gemini extensions install https://github.com/appskyline/claude-plugin # Google Antigravity uses its native adapter from the same repository git clone https://github.com/appskyline/claude-plugin.git agy plugin install ./claude-plugin/com.google.antigravity
The repository includes the portable plugin.json and mcp.json manifests, plus native adapters for Claude, Gemini CLI, and Google Antigravity. The portable package is also the submission artifact for Kiro Powers, the Cursor Marketplace, and Awesome Copilot.
Agents and registries can discover the same package fromthe well-known Agent Plugin manifestor from AppSkyline’sAI Catalog.
AppSkyline ships Agent Skills — guides following theagentskills.io standardthat teach coding agents how to run ASO research with the appskyline CLI and the MCP connector, instead of guessing at commands and tools.
# Install the AppSkyline skills into your coding agent npx skills add appskyline/skills
One command installs the skills into Claude Code, Cursor, Codex, Gemini CLI and any other agent that follows the Skills standard. The CLI also bundles the same guides, version-matched to the commands it ships:appskyline skills get <name>prints one on demand.
The skills are open source atgithub.com/appskyline/skills. Claude users can also install the AppSkyline Claude plugin, which bundles the connector together with the skills:github.com/appskyline/claude-plugin.
Each key carries a list of scopes, so an integration that only needs to read your rankings never gets the ability to change what is tracked. New keys start read-only; widen them explicitly in the dashboard. A request whose key is missing the scope an endpoint requires is refused with 403.
- apps:readList the apps of your organization and read one by id.
- apps:writeCreate and update apps.
- keywords:readList tracked search terms and read one by id.
- keywords:writeCreate, update and delete tracked search terms.
- stats:readRead store engagement rows for your apps.
Add a webhook subscription to your organization and AppSkyline POSTs the events you picked to your server as they happen.
- app.createdAn app was added to tracking.
- app.updatedAn app was edited.
- keyword.createdA search term started being tracked for an app.
- keyword.updatedA tracked search term was edited.
- keyword.deletedA tracked search term was removed.
POST https://your-server.com/appskyline-webhook { "event": "keyword.created", "timestamp": 1719000000, "data": { "...": "..." } }
Every delivery carries an X-Appskyline-Signature header of the form t=timestamp,v1=signature, where the signature is an HMAC-SHA256 of timestamp.body keyed by the subscription secret shown to you once when the subscription was created. Recompute it over the raw body and compare before trusting the payload.
import crypto from 'node:crypto' // body must be the RAW request body, byte for byte function verify(header, body, secret) { const [t, v1] = (header || '').split(',').map(part => part.split('=')[1]) if (!t || !v1) return false const expected = crypto .createHmac('sha256', secret) .update(\${t}.${body}\) .digest('hex') // timingSafeEqual throws on a length mismatch, so a malformed signature // has to be rejected before the comparison rather than by it. if (v1.length !== expected.length) return false return crypto.timingSafeEqual(Buffer.from(v1), Buffer.from(expected)) }
Delivery is one best-effort attempt with a five second timeout and no retries, so respond 2xx quickly and do the work asynchronously. An endpoint that fails twenty times in a row is disabled automatically and has to be re-enabled in the dashboard.
Free MCP that drives an audit of your marketing. Your AI connects, adsOS digs through your ads, email and site, and hands back a growth plan you can run today.
An MCP server for integrating with the Claude Desktop application on macOS. Requires the Claude Desktop app to be installed and configured.
Native macOS API client with embedded MCP server. 31+ tools for AI-assisted API development. Schema extraction ensures AI never sees real credentials or PII. Supports Claude Code, Claude Desktop, Cursor
Local macOS MCP server that finds API keys and secrets leaked into Claude Code, Cursor, Copilot, and other AI tool transcripts. 9 tools: findings list, boolean secret detection, placeholder-only redaction (sieve://project/key), vault-backed command execution. No plaintext secrets ever returned.
Persistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.
After Effects MCP is a full-featured automation bridge that connects AI clients (like VS Code, Claude Desktop, and Claude Code) to Adobe After Effects through MCP, enabling scripted control of compositions, layers, effects, keyframes/graph easing, presets, markers, audio levels, waveform analysis, and effect discovery via a live bridge panel.
Project management your AI can actually run — connect Claude, ChatGPT, Cursor & Codex to one board over MCP.
AIOProductOS spine over MCP — customers, revenue, feedback, work, analytics on one typed record.
The memory layer for AI coding tools. Local-first, semantic, 9 MCP tools with consolidation and project scoping. Works with Claude Code, Cursor, Windsurf & any MCP client.
One MCP server for Claude, ChatGPT & Gemini — wraps your ERPs, CRMs, APIs and knowledge base into a single governed endpoint.
Run your field service business from Claude: answer calls, book and dispatch jobs, build estimates, chase invoices. Built for HVAC, plumbing, electrical, roofing and pest control.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




