Run it in your project's folder. The name comes before the URL. By default the server is added for that folder only and stored outside the repository; add --scope user to make it available in every project. Claude Code loads servers when it starts, so quit and start it again in that folder; /mcp lists the Nordva tools.
02Or share it with the team without sharing the key
Claude Code expands ${NORDVA_API_KEY} from the environment, so the file can be committed while each developer keeps their own key in their shell profile.
03Check the connection
Run claude mcp list, or type /mcp inside a session. nordva should show as connected. Then ask Claude to run setup_check: it reports the project, the plan and which features are unlocked.
Notes for Claude Code
Tools appear to the model as mcp__nordva__<tool>, which is the form to use in permission allowlists.
Read-only tools are marked as such by the server; Claude Code still asks before the first call to each tool unless you allow it.
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