protocol-launcher
v1.26.0
Published
One-click launch URL generator for protocol-based apps.
Maintainers
Readme
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-launchernpm install protocol-launcheryarn add protocol-launcherbun add protocol-launcherUsage
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
