Use the file in your home directory if the key should not live in the repository. A project-level .cursor/mcp.json containing a key belongs in .gitignore.
02Check the connection
Open Cursor Settings and find the MCP section (Customize > MCPs). nordva should be listed with its tools. In Agent mode, ask it to run setup_check.
Notes for Cursor
Cursor's agent decides when to call a tool from the tool descriptions; naming the tool in the prompt ("use publish_changelog_entry") removes the guesswork.
Tools that send email or remove content are flagged destructive by the server, and their descriptions tell the agent to confirm with you first.
If the connection fails with 401, the Authorization header is missing or malformed. If a tool answers INVALID_API_KEY or KEY_REVOKED, the header arrived but the key is wrong.
Tools you get
Changelog
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
Waitlist
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
Feedback
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
Notifications
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
Revenue
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
Contacts
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
Attribution
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
Web analytics
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