AstroSAFE
An MCP (Model Context Protocol) server that provides access to Astro ASO (App Store Optimization) data for LLMs.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
An MCP (Model Context Protocol) server that provides access to Astro ASO (App Store Optimization) data for LLMs.
Requirements
- Astro
- A tool with MCP support (Claude Desktop, Claude Code, ...)
Features
This MCP server provides the following tools for querying Astro's ASO database:
Available Tools
- search_rankings - Search current keyword rankings for apps
- Find how apps rank for specific keywords
- Filter by app store (us, uk, etc.)
- Filter by app name or app ID
- get_historical_rankings - Get historical ranking data
- Track ranking changes over time
- Configurable time period (default: 30 days)
- Filter by app and store
- list_apps - List all tracked applications
- Shows app names, IDs, platforms
- Includes keyword count per app
- get_app_keywords - Get all keywords for a specific app
- Shows current and previous rankings
- Includes difficulty and popularity scores
- Shows ranking changes
- Accepts app name or app ID
- get_keyword_trends - Analyze ranking trends
- Statistical analysis (avg, min, max, volatility)
- Trend detection (improving/declining/stable)
- Configurable periods (week/month/year/all)
- compare_rankings - Compare rankings between dates
- Find ranking changes between two specific dates
- Calculate percentage changes
- get_app_ratings - Get app rating history
- Track rating changes over time
- Shows user rating counts
- Accepts app name or app ID
- get_keyword_competitors - Get real App Store competitors for keywords
- Shows actual competitor apps from App Store data with app categories
- Rankings based on real App Store search results
- Multi-store support with automatic data aggregation
- Configurable limit for number of competitors returned
- get_keyword_recommendations - Get keyword recommend
faece543329dOBSERVED · 2026-10-09Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add astro-mcp-server -- npx -y [email protected]
{
"mcpServers": {
"astro-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (15)
15 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
analyze_competitive_landscape | read | Analyze the competitive landscape for an app, including top competitors and market share with categories |
calculate_keyword_opportunity | read | Calculate opportunity scores for keywords based on difficulty, popularity, and competition |
compare_rankings | read | Compare keyword rankings between two dates |
detect_ranking_anomalies | read | Detect sudden ranking changes and anomalies that need attention |
find_low_competition_keywords | read | Find keywords with low competition and good opportunity scores |
get_app_keywords | read | Get all keywords tracked for a specific app |
get_app_ratings | read | Get app rating history |
get_historical_rankings | read | Get historical ranking data for keywords |
get_keyword_competitors | read | Get competing apps that rank for a specific keyword with app categories |
get_keyword_recommendations | read | Get keyword recommendations based on similar keywords and characteristics |
get_keyword_trends | read | Analyze keyword ranking trends over time |
get_version | read | Get the server version |
list_apps | read | List all tracked applications |
predict_ranking_trends | read | Predict future ranking trends using linear regression on historical data for a specific store |
search_rankings | read | Search current keyword rankings for apps |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (1)
@modelcontextprotocol/sdk, sql.js, @types/node, @types/sql.js, tsx, typescript
Gates applied: no_behavioural_pass.
faece543329dfull audit observations/trust-audit/mcp-server/timbroddin__astro-1.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-09 | faece543329d | SAFE | B | 89 | first audit |
Questions
What is the Astro MCP server?
An MCP (Model Context Protocol) server that provides access to Astro ASO (App Store Optimization) data for LLMs.
What tools does Astro expose?
15 in total: 15 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Astro safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Astro need?
No credential environment variables were found in its source, so it appears to need none.
How does Astro run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as astro-mcp-server at 1.1.1.
How current is this page?
The grade is for one exact copy of the source (faece543329d), read on 2026-10-09. The repository is watched and re-audited when it changes.