DeskLink
Can load a Git MCP server such as @modelcontextprotocol/server-git through mcp.json, exposing repository tools and Git operations via DeskLink’s unified MCP endpoint.
Supports ngrok as an optional tunnel provider to expose the local MCP endpoint publicly, configured through the tunnel settings and NGROK_AUTHTOKEN.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DeskLinklist the files in my Documents folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DeskLink (JavaScript)
Turn your local computer into a remotely accessible MCP endpoint for cloud AI agents.
DeskLink is a thin authenticated bridge: it loads local MCP servers (especially STDIO servers defined in a standard mcp.json), discovers their tools, and exposes all of them through a single Streamable HTTP URL (optionally tunnelled with ngrok).
Quick start
npm install -g desklink
# Optional: export NGROK_AUTHTOKEN=your_token
# Option A: use a standard mcp.json (recommended)
desklink start --mcp-config ./mcp.json
# Option B: no config → default official filesystem server (home directory)
desklink start
# Or specify directories
desklink start --dir ~/Documents --dir ~/ProjectsRelated MCP server: Levitate
Adding MCP servers
DeskLink supports any STDIO MCP server. Define them in a standard mcp.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Documents"]
},
"git": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/path/to/repo"]
},
"custom": {
"command": "node",
"args": ["my_server.js"],
"env": { "DEBUG": "1" },
"cwd": "/path/to/workdir"
}
}
}Then:
desklink start --mcp-config ./mcp.jsonIf no mcp.json is found, DeskLink automatically starts the official @modelcontextprotocol/server-filesystem (controlled by --dir or home).
Tool names are namespaced as servername__toolname (e.g. filesystem__list_directory).
Listing and testing tools
# List all discovered tools (no tunnel started)
desklink tools
desklink tools --mcp-config ./mcp.json
# Call a tool with arguments (for testing)
desklink call filesystem__list_directory --args '{"path":"/tmp"}'
desklink call filesystem__read_file --args '{"path":"/tmp/test.txt"}'Configuration: desklink.config.json
Create desklink.config.json (or ~/.desklink/config.json) for DeskLink settings:
{
"logging": {
"level": "info"
},
"tracing": {
"enabled": true,
"level": "basic",
"redact_sensitive": true
},
"auth": {
"enabled": true
},
"approvals": {
"default": "auto",
"tools": {
"filesystem__write_file": "prompt",
"filesystem__create_directory": "prompt",
"git__commit": "prompt"
}
},
"server": {
"host": "127.0.0.1",
"port": 8765,
"mcp_path": "/mcp"
},
"tunnel": {
"provider": "ngrok"
}
}Full config options
Section | Key | Values | Description |
|
|
| Log verbosity |
|
|
| Enable tool-call tracing |
|
|
|
|
|
|
| Mask keys like password/token/secret/key |
|
|
| Require Bearer token |
|
| string | Override auto-generated token |
|
|
| Default policy for all tools |
|
| map of | Per-tool override |
|
| Local bind settings | |
|
|
| Tunnel provider |
Approval policies:
auto— tool calls execute immediately.prompt— DeskLink asks for confirmation in the terminal before executing the tool.
Environment variables (NGROK_AUTHTOKEN) and CLI flags override the config file.
Security
Bearer token required (generated and stored in
~/.desklink/tokenby default).Optional per-tool approval prompts before execution (
autoorprompt).Access is controlled by the underlying MCP servers you configure.
Development
npm install
npm run build
npm run dev -- start --tunnel none
npm run dev -- tools
npm run dev -- call filesystem__list_directory --args '{"path":"/tmp"}'Package name on npm is desklink.
This server cannot be deployed
Maintenance
Related MCP Connectors
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Secure and manage MCP servers through the Speakeasy AI Control Plane from your agent.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes any stdio-based MCP server to the internet via HTTP/SSE transport, enabling remote agents to access MCP tools over a network.11 npmMIT
- AlicenseNot gradedqualityAmaintenanceLifts local stdio MCP servers into remote Streamable HTTP endpoints for cloud-hosted AI clients, with bearer-token auth and tool policy filtering.3 npmMIT
- AlicenseNot gradedqualityCmaintenanceExposes local stdio MCP servers to chat AIs through temporary public URLs, providing both a Streamable HTTP gateway and a REST+OpenAPI bridge for integration with ChatGPT and other clients.MIT
- AlicenseNot gradedqualityAmaintenanceEnables running local MCP servers on machines behind NAT and accessing their tools from anywhere through a single Streamable HTTP endpoint, without opening any inbound ports.MIT