# MCP Uplink š
[](https://www.npmjs.com/package/mcp-uplink)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
**The official CLI for [MCP Uplink](https://mcp-uplink.com) - Cloud MCP Hosting for AI Agents**
> **Your AI Agents: Faster, Cheaper, Safer**
Connect Claude Desktop, Cursor, VS Code, Windsurf and any MCP-compatible AI client to the MCP Uplink cloud platform.
---
## ā” Why MCP Uplink?
| Problem | Solution |
|---------|----------|
| š„ **Too many tokens** | Only load the tools you need. Reduce context by 60%. |
| šø **High API costs** | Fewer tokens = lower costs. Calculate savings at [mcp-calculator](https://mcp-uplink.com/mcp-calculator) |
| š¤ **LLM hallucinations** | Less noise = more accurate responses. Specialized agents perform better. |
| š **Security concerns** | Zero Trust: Your credentials NEVER leave your machine. |
| āļø **Infrastructure headaches** | We manage MCP servers. You focus on building. |
---
## šÆ 3 Pillars for Optimal AI Agents
### 1. š§ Intelligent Tool Filtering
Reduce your context window by only exposing the tools your agent actually needs.
```
ā Native MCP: Sends ALL 50+ tool definitions ā Heavy load, confused LLM
ā
MCP Uplink: Only sends 5 tools you need ā Fast, focused, accurate
```
**Result:** 60% less tokens, fewer hallucinations, better responses.
### 2. š Dual-Layer Security
**Layer 1: Zero Trust Architecture**
- Your API keys and tokens stay in YOUR local `.env` file
- Secrets are transmitted in-memory via encrypted HTTPS headers
- **We NEVER store your credentials** - we're just a secure proxy
**Layer 2: Tool Blocking**
- Block dangerous tools like `delete`, `drop`, `modify`
- Prevent catastrophic accidents where an agent deletes your database
### 3. š° Maximum Performance, Minimum Cost
- Less noise = faster and more accurate LLM responses
- Agents respond instantly with higher quality answers
- Managed infrastructure = no DevOps overhead for you
---
## š¦ Installation
No installation required! Just use `npx`:
```bash
npx mcp-uplink connect --url https://mcp-uplink.com/api/mcp/slack
```
Or install globally for faster startup:
```bash
npm install -g mcp-uplink
```
---
## š Quick Start
### Claude Desktop Configuration
Add this to your `claude_desktop_config.json`:
| OS | Path |
|----|------|
| **Mac** | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| **Windows** | `%APPDATA%/Claude/claude_desktop_config.json` |
| **Linux** | `~/.config/Claude/claude_desktop_config.json` |
```json
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"mcp-uplink",
"connect",
"--url", "https://mcp-uplink.com/api/mcp/slack"
],
"env": {
"MCP_API_KEY": "your-mcp-uplink-api-key",
"MCP_ENABLED_TOOLS": "send_message,list_channels",
"SLACK_BOT_TOKEN": "xoxb-your-slack-token",
"SLACK_TEAM_ID": "T0123456789"
}
}
}
}
```
### Cursor / VS Code / Windsurf
Same configuration format - just add to your MCP settings.
---
## āļø CLI Options
| Option | Description |
|--------|-------------|
| `-u, --url <url>` | **Required**. MCP Uplink endpoint URL |
| `-k, --api-key <key>` | Platform API key (or set `MCP_API_KEY` env var) |
| `--enabled-tools <list>` | Comma-separated list of tools to enable |
| `--no-forward-env` | Disable environment variable forwarding |
| `--env-prefix <prefix>` | Only forward env vars with this prefix |
### Environment Variables
| Variable | Description |
|----------|-------------|
| `MCP_API_KEY` | Your MCP Uplink API key |
| `MCP_ENABLED_TOOLS` | Tools to enable (e.g., `send_message,list_users`) |
| `MCP_SERVER_URL` | Default server URL |
| `MCP_ENV_PREFIX` | Prefix filter for env vars |
---
## š Security Architecture
```
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā YOUR MACHINE (Secure) ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā .env file ā ā
ā ā SLACK_BOT_TOKEN=xoxb-xxx (never leaves here) ā ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā ā
ā ā¼ ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā mcp-uplink CLI (local process) ā ā
ā ā - Captures env vars in-memory ā ā
ā ā - Encrypts via HTTPS header (X-Mcp-Env) ā ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼ HTTPS (encrypted)
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP UPLINK CLOUD ā
ā - Receives request ā
ā - Decrypts env vars IN-MEMORY ONLY ā
ā - Executes MCP tool ā
ā - Immediately forgets credentials (no storage) ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
```
**Key Security Features:**
- ā
**Ephemeral Secrets**: Never stored, only used in-memory
- ā
**HTTPS Transport**: All data encrypted in transit
- ā
**Blacklist Filtering**: System vars (PATH, SHELL) are never forwarded
- ā
**Tool Blocking**: Prevent dangerous operations
---
## š How It Works
```mermaid
sequenceDiagram
participant Claude as Claude Desktop
participant Bridge as mcp-uplink (local)
participant Cloud as MCP Uplink Cloud
participant MCP as MCP Server
Claude->>Bridge: tools/list
Bridge->>Cloud: POST /api/mcp/slack (+ X-Mcp-Env header)
Cloud->>MCP: Execute with filtered tools
MCP-->>Cloud: Tool definitions
Cloud-->>Bridge: Filtered response
Bridge-->>Claude: Only enabled tools
```
---
## š Links
- **Website**: [https://mcp-uplink.com](https://mcp-uplink.com)
- **Cost Calculator**: [https://mcp-uplink.com/mcp-calculator](https://mcp-uplink.com/mcp-calculator)
- **MCP Marketplace**: [https://mcp-uplink.com/marketplace](https://mcp-uplink.com/marketplace)
- **Documentation**: [https://mcp-uplink.com/docs](https://mcp-uplink.com/docs)
- **GitHub**: [https://github.com/idbouche/mcp-uplink](https://github.com/idbouche/mcp-uplink)
---
## š License
MIT Ā© [MCP Uplink](https://mcp-uplink.com)