namestringRequired- Your server's name, shown in the title and configs.
slugstringRequired- The key your server is saved under in each editor's config.
urlstringRequired- The remote server's URL.
iconReactNodeRequired- Your logo, shown in the dark tile.
descriptionstring- One line on what the server gives access to.
clientsMcpClient[]Required- The editors to offer: an id, a label, an icon and an optional tint for the copy glow.
toolsnumber- How many tools the server exposes, shown once connected.
clientMcpClientId- The editor to show, when you control it. Pair with onClientChange.
defaultClientMcpClientId- The editor to start on when you don't control it.
statusMcpStatus- idle, waiting or connected. Drive it from your server; left out, copying sets waiting.
authstring- How the remote server signs in, shown in the header.
- Default
'OAuth' pkgstring- Your npm package. Set it to offer a Local option that runs it with npx.
envVarstring- The environment variable the local server reads its key from.
apiKeystring- A key to put in the local config.
defaultTransportMcpTransport- Start on remote or local.
- Default
'remote' defaultScopeMcpScope- Start on this project or everywhere.
- Default
'global' onClientChange(id: McpClientId) => void- Called with the editor a person picks.
onCopy(id: McpClientId) => void- Called with the editor when the config is copied or Add to Cursor is pressed.
onCreateKey() => string | Promise<string>- Makes a key when "Create one" is pressed; return it and it lands in the config.