Nordva Launch / MCP server
An MCP server for your changelog, waitlist and feedback
A hosted Model Context Protocol server at https://mcp.nordva.dev . It gives an AI coding agent 121 tools over your project's changelog, waitlist, feedback, notifications and analytics, 66 of them read-only. There is no server to run.
$ npx nordva@latest init Copy
How it works One endpoint, https://mcp.nordva.dev, speaking MCP over Streamable HTTP. The server is stateless: every request is a POST that returns JSON, and there is no session to keep alive. Authentication is the Authorization header: Bearer followed by a Nordva Launch secret key. The key is forwarded to the REST API on each tool call and is never a tool argument, so it does not end up in transcripts. The server has no database access of its own. Each tool is a call to api.nordva.dev, so plan limits, validation and error codes are identical to the REST API. Tools that create something (publish, add to waitlist, invite, submit feedback, send notification) derive an Idempotency-Key from their arguments. An agent that retries the same call does not create a duplicate. The MCP endpoint allows 120 requests a minute per key and 60 per IP address. The underlying API calls also count against the plan's API limit (30 a minute on Free, 120 on Indie, 500 on Builder). Errors come back as the API's stable codes (PLAN_LIMIT_REACHED, VALIDATION_ERROR, RATE_LIMITED and so on) with a remediation message, and each tool description tells the agent which errors to retry and which to stop on. All 121 tools This list is read from the server's source when the site is built.
publish_changelog_entry Publish or schedule a changelog entry All plans list_changelog_entries List recent changelog entries All plans get_changelog_entry Read one changelog entry All plans update_changelog_entry Edit, reschedule or publish an unpublished changelog entry All plans archive_changelog_entry Remove a changelog entry from public view All plans draft_changelog_from_commits Draft a changelog entry from commits (never publishes) All plans list_changelog_labels List changelog labels All plans create_changelog_label Create a changelog label All plans update_changelog_label Rename or recolour a changelog label All plans delete_changelog_label Delete a changelog label All plans get_changelog_settings Read the changelog widget settings All plans update_changelog_settings Choose the changelog widget's reactions All plans get_changelog_entry_stats Numbers for one changelog entry All plans get_changelog_stats Numbers for the latest changelog entries All plans get_changelog_after_reading What happened after people read an entry Builder list_changelog_subscribers List changelog email subscribers All plans set_changelog_subscriber_labels Change which labels a subscriber follows All plans get_changelog_widget_view See the changelog widget as one person sees it All plans record_changelog_widget_event Test the changelog widget: record a view, reaction or click All plans
add_to_waitlist Add an email to a waitlist All plans import_waitlist Import an existing list into the waitlist All plans list_waitlist_signups List the people on the waitlist All plans get_waitlist_stats Get waitlist stats and top referrers (admin view) All plans get_waitlist_leaderboard Get the public-safe waitlist leaderboard Indie and Builder invite_from_waitlist Invite people from the waitlist Indie and Builder export_waitlist Export waitlist to CSV or JSON Indie and Builder get_waitlist_settings Get current waitlist pause state and custom copy All plans update_waitlist_settings Pause/resume waitlist or set custom landing-page copy All plans get_waitlist_embed_snippet Get HTML snippet to embed the waitlist on the developer's site All plans list_waitlist_email_templates Read the waitlist emails All plans preview_waitlist_email_template Preview a waitlist email before saving it All plans save_waitlist_email_template Change the wording of a waitlist email Builder reset_waitlist_email_template Go back to the default waitlist email All plans send_waitlist_announcement Send one announcement email to the waitlist Indie and Builder list_waitlist_announcements Past waitlist announcements and their progress All plans get_announcement_report Launch report: told → clicked → paid Indie and Builder
Feedback board get_board_settings Read the feedback board's settings All plans update_board_settings Switch the feedback board on or off, or change it All plans list_board_posts List the ideas on the feedback board All plans create_board_post Add an idea to the feedback board All plans update_board_post Approve, plan, ship or edit an idea on the board All plans delete_board_post Delete an idea from the board All plans
submit_feedback Submit, classify, and route user feedback All plans list_feedback List recent feedback submissions All plans get_feedback Read one feedback item All plans update_feedback Mark feedback reviewed or resolved, or fix its category All plans reply_to_feedback Email a reply to the person who sent feedback All plans bulk_update_feedback Mark many feedback items at once All plans export_feedback Export feedback as CSV All plans configure_feedback_routing Configure a feedback routing destination (email/linear/github/slack) All plans get_feedback_routing See where feedback is forwarded All plans remove_feedback_routing Stop forwarding feedback to a destination All plans
send_notification Send an in-app notification to one user or to everyone All plans preview_notification_audience See who a group notification would reach All plans list_notifications List sent notifications with reach and reads All plans get_notification Read one sent notification All plans delete_notification Delete a sent notification All plans get_unread_notifications See what a user's bell shows All plans mark_notifications_read Mark notifications read for a user All plans archive_notification Archive a notification for one user All plans record_notification_click Record a click on a notification All plans set_notification_reaction Set a user's reaction to a notification All plans get_notification_settings Notification settings, usage and warnings All plans update_notification_settings Change notification settings All plans create_notifications_signing_secret Create the notifications signing secret (shown once) All plans rotate_notifications_signing_secret Rotate the notifications signing secret (new one shown once) All plans
get_stripe_connection_status Check whether Stripe is connected and syncing All plans get_lemonsqueezy_connection_status Check whether Lemon Squeezy is connected and syncing All plans get_revenue_summary Get MRR, subscriptions, growth and churn from Stripe or Lemon Squeezy All plans get_revenue_series Get revenue over time from Stripe or Lemon Squeezy All plans get_revenue_by_source Paying customers and revenue by source or country All plans get_revenue_economics What a customer is worth: ARPA, churn, 12-month LTV All plans list_recent_payments List recent payments and cancellations from Stripe and Lemon Squeezy All plans
list_contacts List people across waitlist, feedback, subscribers and payments All plans get_contact Get one person across every primitive All plans get_contact_journey One person's visits before they signed up or paid Builder update_contact Set a contact's stage, note, details or consents All plans list_contact_fields List the detail names and consents in use on contacts All plans export_contacts Export contacts as a CSV download link Indie and Builder
get_attribution_report See which signup sources produce paying customers All plans add_channel_cost Record what a marketing channel cost Indie and Builder list_channel_costs List recorded marketing spend Indie and Builder delete_channel_cost Remove a recorded spend entry Indie and Builder
get_analytics_summary Web analytics: the headline numbers All plans get_analytics_timeseries Web analytics: visits per day or hour All plans get_analytics_breakdown Web analytics: by source, page, place or device All plans get_live_visitors Web analytics: right now All plans list_visitors Web analytics: everyone who came, one row per visitor All plans get_visitor Web analytics: one visitor's history Builder get_analytics_map Web analytics: where visits came from, as map points All plans get_analytics_status Web analytics: is the script sending? All plans get_analytics_usage Web analytics: events this month against the plan All plans get_analytics_settings Web analytics: the snippet and the site's domains All plans update_analytics_settings Web analytics: set the site's domains, tracking mode, or turn collection on/off All plans export_analytics Web analytics: take the data out as CSV or JSON All plans identify_visitor Web analytics: link a visitor to a user All plans list_funnels Web analytics: the project's funnels All plans create_funnel Web analytics: create a funnel All plans get_funnel_report Web analytics: where visitors drop off All plans delete_funnel Web analytics: delete a funnel All plans get_goals Web analytics: goals and how many reach them All plans create_analytics_proxy_key Web analytics: key for serving the script from your own domain All plans delete_analytics_proxy_key Web analytics: remove the proxy key All plans
Project and domains get_insights Get a summary of the project over a period All plans setup_check Verify Nordva Launch auth and report plan All plans get_project Read current project name and slug All plans update_project Rename project or change its public URL slug All plans create_publishable_key Make the project's publishable (browser) key All plans register_allowed_origin Add a CORS-allowed origin to the project All plans list_allowed_origins List the project's CORS-allowed origins All plans register_custom_domain Add a custom hostname for the project's widget (Builder only) Builder list_custom_domains List the project's custom hostnames All plans get_custom_domain_status Force-refresh a custom domain's verification status All plans remove_allowed_origin Remove a site from the browser allowlist All plans remove_custom_domain Disconnect a custom domain Builder list_webhooks List webhook endpoints and their health All plans create_webhook Add a webhook endpoint Indie and Builder update_webhook Change a webhook's events, note or status Indie and Builder test_webhook Send a test event to a webhook now Indie and Builder delete_webhook Delete a webhook endpoint Indie and Builder list_webhook_deliveries Recent deliveries to one webhook endpoint Indie and Builder