protocol-launcher
Type-safe deep link generator for protocol-based apps, enabling one-click launch, install, and configuration for tools like Cursor and Cherry Studio.
Links
README
From the repo.
Protocol Launcher
One-click launch URL generator for protocol-based apps.
protocol-launcher helps you generate typed deep links and URL scheme links for desktop, mobile, productivity, AI, and developer tools. Use it to open apps, jump to files or projects, install MCP servers, import provider settings, and create safe one-click launch links for websites, docs, CLIs, and automation flows.
Why Protocol Launcher?
- Type-safe builders for supported protocol payloads.
- On-demand imports such as
protocol-launcher/vscodeandprotocol-launcher/cherry-studio. - Safe query-string and base64 payload encoding, including Unicode payloads.
- Broad protocol coverage across AI tools, editors, productivity apps, native macOS apps, and utilities.
- ESM-first output for Node.js and modern bundlers.
- Zero third-party runtime dependencies.
Installation
pnpm add protocol-launcher
npm install protocol-launcher
yarn add protocol-launcher
bun add protocol-launcher
Usage
On-Demand Import
Use direct subpath imports when you only need one app integration.
import { installMCP } from 'protocol-launcher/cursor'
const url = installMCP({
name: 'server-everything',
type: 'stdio',
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-everything'],
openInNewWindow: true,
})
import { installProvider } from 'protocol-launcher/cherry-studio'
const url = installProvider({
id: 'new-api',
baseUrl: 'https://open.cherryin.ai',
apiKey: 'sk-xxxx',
})
import { openFile } from 'protocol-launcher/vscode'
const url = openFile({
path: '/code/protocol-launcher/README.md',
line: 1,
column: 1,
})
Full Import
The root entry exports each protocol as a namespace.
import { cherryStudio, cursor, vscode } from 'protocol-launcher'
const settingsUrl = vscode.openSettings({
path: 'terminal.integrated.suggest.enabled',
})
const folderUrl = cursor.openFolder({
path: '/code/protocol-launcher',
})
const providerUrl = cherryStudio.installProvider({
id: 'openai',
baseUrl: 'https://api.openai.com/v1',
apiKey: 'sk-xxxx',
})
Prefer subpath imports for production bundles when possible.
Popular Integrations
import { openThread } from 'protocol-launcher/codex'
import { installMCP } from 'protocol-launcher/cursor'
import { open } from 'protocol-launcher/telegram'
import { openSettings } from 'protocol-launcher/vscode'
Examples of supported app categories:
- AI and coding tools:
antigravity,cherry-studio,code-buddy,codex,cursor,kiro,lingma,opencode,qoder,trae,vscode,windsurf,zed - Editors and IDEs:
bbedit,code-runner,goland,idea,macvim,nova,phpstorm,pycharm,rustrover,textastic,textmate,webstorm,xcode - Productivity and notes:
agenda,bear,craft,drafts,evernote,fsnotes,obsidian,things,todoist,trello,ulysses,working-copy - Platform and utilities:
app-store,apple-map,macos,microsoft-edge,shortcuts,steam,telegram,thunder,wemeet
See the documentation site for the full app list and exact API examples.
Docs
Full guides and examples: https://zhensherlock.github.io/protocol-launcher/
Contributing
Feel free to dive in! Open an issue or submit PRs.
Standard Readme follows the Contributor Covenant Code of Conduct.
Contributors
This project exists thanks to all the people who contribute.
License
MIT © MichaelSun
Collected info
- ★ 124 stars
- ⎇ 2 forks
- Language: TypeScript
- Source updated: 7/9/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.