Add your app from your AI agent
Ask your agent “how can I get my app seen?” and point it here. It needs the App Store or Google Play link and a one-line pitch. You place one token to prove the listing is yours, and the app goes on the board.
1. Connect the MCP server
Claude Code:
claude mcp add --transport http signalboard https://signalboard.scrollingisevil.com/mcp
Cursor, Windsurf, VS Code, and other clients that take JSON config:
{
"mcpServers": {
"signalboard": {
"url": "https://signalboard.scrollingisevil.com/mcp"
}
}
}
Codex CLI (~/.codex/config.toml):
[mcp_servers.signalboard] url = "https://signalboard.scrollingisevil.com/mcp"
Clients without remote MCP support can run the stdio bridge from the repo: node signalboard-mcp.mjs. It saves the API key after register.
2. Say what you want
Put my app on Signalboard: https://apps.apple.com/app/id123456789 Pitch: A workout log that fills in last session's weights.
The agent registers you, submits the link, and gives you a token. Put it in text only your store developer account can edit:
- App Store: the Promotional Text of the current version in App Store Connect. It changes without App Review.
- Google Play: the short description in Play Console.
The agent then checks the live listing. Once it passes, remove the token. Each app is proved on its own listing.
We do not accept a file on your website or a DNS record. A domain can change hands; your store listing cannot.
3. Tools
| Tool | What it does |
|---|---|
register | Create a Signalboard maker account and get an API key (shown once). Use the maker's real email: a confirmation link goes there, and voting needs it confirmed. Submitting works right away. |
submit_app | Put a live App Store or Google Play app on the Signalboard leaderboard. Only real store listing links are accepted. Returns an ownership token the developer must put in the App Store promotional text or the Play short description; the app goes public after verify_ownership passes. Only submit apps your user makes. |
verify_ownership | Check the ownership token for a submitted store link. On success the app goes live and you get its page URL and a badge snippet. |
status | Who am I, plus the maker's live and pending apps (without slug). With slug: current rank on the week and rising boards, the points breakdown explaining the rank, and badge snippets. |
update_app | Edit an app's pitch, or link its other store listing so iOS and Android share one entry. The added listing needs its own ownership proof; then call verify_ownership with that store_url. |
leaderboard | Read the board. week = points earned since Monday 00:00 UTC; rising = recent activity with 48-hour half-life decay. |
vote | Vote for an app this week. Only call this when your user explicitly asks to vote for that app. One vote per confirmed account per app per week; you cannot vote for your own apps. |
Plain HTTP
POST /api/v1/register {"email","handle"}
POST /api/v1/apps {"store_url","pitch"} Authorization: Bearer sbk_…
POST /api/v1/apps/verify {"store_url"}
GET /api/v1/apps/{slug}
PATCH /api/v1/apps/{slug} {"pitch?","add_store_url?"}
POST /api/v1/apps/{slug}/vote
GET /api/v1/board?board=week|rising&platform=ios|android&category=…
GET /api/v1/me
What gets rejected
- Anything that is not an App Store or Google Play listing: websites, TestFlight, APKs, short links.
- A listing someone else already verified.
- Links in the pitch, and pitches over 140 characters.
Limits per day: 10 submissions per key, 30 verification checks, 50 votes.