Run your app presence
from any MCP client
AppLander ships a built-in MCP server. Connect Claude, Cursor, or VS Code with one command and a browser login, then manage everything by typing a sentence.
$ claude mcp add --transport http applander https://applander.io/mcp
That is the whole configuration. No API token, no header, no secret on your clipboard.
Included on every plan, free included — 126 tools covering every resource in your account.
Four tasks, three dashboard sections,
one sentence
The dashboard is not going anywhere. But some days you do not want to click through it.
Ten minutes of clicking
- 1 Open the FAQ editor, write three entries, save each one.
- 2 Switch apps, open the status page, post an incident.
- 3 Switch sections again, paste in last night's changelog draft, publish.
- 4 Open tickets, filter, close the five you already resolved.
One prompt
> Add an FAQ about password resets to FitTrack, post a payment-degraded incident on BudgetBuddy's status page, publish the v2.3 changelog entry, and close all resolved tickets.
Your assistant picks the right tools, fills in the parameters, and reports back. Same permissions, same plan limits, same validations as the dashboard.
Connect it in under two minutes
Every client authenticates the same way — through your browser. There is nothing to generate, copy, or paste.
Add the server
Claude Code
$ claude mcp add --transport http applander https://applander.io/mcp
Cursor, Claude Desktop, Claude.ai
Add a custom connector with type HTTP and URL https://applander.io/mcp
VS Code
Create .vscode/mcp.json — safe to commit, because it holds no secrets:
{ "mcpServers": { "applander": { "type": "http", "url": "https://applander.io/mcp" } } }
Approve it in your browser
In Claude Code run /mcp, pick applander, then Authenticate. Your browser opens on AppLander:
- Sign in, if you are not already.
- Review the consent screen — it names the client asking and the account it will reach.
- Click Authorize and go back to your editor. It now says connected.
This is the standard MCP OAuth 2.1 handshake — discovery, dynamic client registration, PKCE. Your client stores and refreshes the token itself, so you do this once.
Check that it works
> List my apps on AppLander.
You should get your apps back with their names, statuses, and prefix IDs. That is it — you are connected.
Things to ask it
Real prompts, and the tools your assistant reaches for to answer them.
Launch a whole app presence from one sentence
> Create a new app on AppLander called FitTrack. Write the landing page from my store listing, generate a privacy policy and terms covering GDPR and CCPA, add the ten FAQs a fitness app always gets asked, set up the support page, and publish it.
One prompt, and every page your store listing asks for exists at a real URL — landing page, privacy policy, terms, support, account deletion. What used to be an afternoon of forms is a paragraph you type once.
create_app
create_landing_section
create_privacy_policy
create_terms_of_service
create_faq
update_app
Batch FAQ writing
"Add five FAQs to FitTrack: restoring purchases, cancelling a subscription, syncing with Apple Health, enabling notifications, and contacting support. Make the answers specific to a fitness app."
create_faq
list_faq_categories
Incident response
"Post a major incident on BudgetBuddy's status page titled 'Database maintenance — read-only mode', then add an update saying full service is back within 30 minutes."
create_incident
create_incident_update
Changelog from your commits
"Create a changelog entry for FitTrack 2.4.0 released today: dark mode, fixed calorie maths for custom meals, better workout history charts. Publish it."
create_changelog_entry
publish_changelog_entry
Support triage
"Show me all open tickets for FitTrack. Close the ones about the sync bug — we fixed it in 2.4.0 — and reply to the rest saying we are looking into it."
search_tickets
bulk_update_tickets
Localisation
"Duplicate all of BudgetBuddy's English content into a new Spanish language."
create_language
duplicate_language_content
Legal upkeep
"Update FitTrack's privacy policy to mention Firebase Analytics for crash reporting, and publish it with today's effective date."
update_privacy_policy
publish_privacy_policy
Store readiness
"Is FitTrack ready to submit to the App Store and Google Play? Tell me what is missing."
get_submit_readiness
Landing page edits
"Add a testimonials section to FitTrack's landing page with the three reviews I just pasted, and move it above the pricing section."
create_landing_section
reorder_landing_sections
What your assistant can reach
126 tools, one per operation, so reads and writes stay separable and your client can ask before it changes anything.
| Area | Reads | Writes | Plan |
|---|---|---|---|
| Apps | List, inspect, check submit readiness | Create, update, delete, set icon and OG image | Free |
| Landing pages | List sections, read the section schema | Create, update, reorder, delete sections; add and remove images | Free |
| Features | List and inspect | Create, update, reorder, delete | Free |
| Privacy, terms, cookies | Read current text, list versions, diff two versions | Create, update, publish, roll back a version | Free |
| FAQs | List categories and entries | Create, update, delete categories and entries | Free |
| Support tickets | List, search, read the message thread | Update, bulk update, reply, delete | Free |
| Deletion requests | List and inspect GDPR requests | Add operator notes, advance the workflow | Free |
| Languages | List locales | Add a locale, duplicate all content into it | Free |
| Changelog | List and inspect entries | Create, update, publish, unpublish, delete | Pro |
| Guides | List categories and guides | Create, update, delete | Pro |
| Articles | List and inspect the per-app blog | Create, update, publish, unpublish, delete | Pro |
| Status page | List components and incidents | Create and update components, open, update, and resolve incidents | Pro |
| Canned responses | List and inspect | Create, update, delete | Pro |
| Analytics | Page view summaries, top pages, top and unanswered FAQ searches | — | Pro |
Connecting is free on every plan. Pro-only tools prompt you to upgrade when used — exactly like a gated button in the dashboard. See plans
You stay in control
Giving an AI assistant write access to your public pages is a real decision. Here is exactly what it can and cannot do.
No secrets to manage
You never generate, copy, or paste a token. Connecting is OAuth 2.1 with PKCE — the same handshake Claude Code, Cursor, and ChatGPT already speak.
You approve every client
Each new client shows a consent screen naming it and your account before it gets any access. Nothing connects silently.
Short-lived, rotating tokens
Access tokens expire after an hour and refresh automatically. Refresh tokens rotate on use, so a stolen one dies the moment your real client refreshes.
A real off switch
Settings → AI clients lists every connected client with its last-active time. Disconnect revokes all of its access immediately.
Your account only
Every query is scoped to your account. It is architecturally impossible to reach another user's data through your connection.
Plan limits still apply
Limits are re-checked on every request. Your assistant cannot publish a second app on Free or bypass a Pro gate — it gets a clear message and an upgrade link.
Requests are capped at 120 per minute, and every tool call is logged with the client name, the tool, its duration, and whether it succeeded.
Works with your client
Streamable HTTP with OAuth 2.1 — no per-client token setup anywhere.
Anything else that speaks the Model Context Protocol over Streamable HTTP will work too. Use a current build — older releases had incomplete OAuth support.
Questions? Answers.
Want the long version, with worked examples? Read the deep dive on the blog.
Stop clicking. Start typing.
Create a free account, connect your client in two minutes, and run your whole app presence from wherever you already work.