Skip to main content

Uno MCP Stdio Client - Local stdio proxy for Uno MCP Gateway with OAuth authentication

Project description

Uno MCP Stdio

PyPI version Python 3.11+ License: MIT

Local stdio proxy for Uno MCP Gateway - Provides local proxy for MCP clients that don't support OAuth authentication.

๐ŸŽฏ Problem Solved

Many MCP clients (such as Manus, Cherry Studio) don't support OAuth 2.0 authentication and cannot directly connect to MCP servers that require authentication.

uno-mcp-stdio acts as a local proxy:

  1. Communicates with MCP clients using stdio mode (supported by all clients)
  2. Securely stores OAuth tokens locally
  3. Proxies requests to remote Uno Gateway, automatically attaching authentication information
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     stdio      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     HTTPS      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   MCP Client    โ”‚ โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ โ”‚  uno-mcp-stdio  โ”‚ โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ โ”‚  Uno Gateway    โ”‚
โ”‚ (No OAuth)      โ”‚                โ”‚  (Local Proxy)  โ”‚   + Bearer     โ”‚  (Remote)       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿš€ Quick Start

Installation

# Run directly with uvx (recommended)
uvx uno-mcp-stdio

# Or install with pip
pip install uno-mcp-stdio
uno-mcp-stdio

First Run

OAuth authentication is required on first run:

$ uvx uno-mcp-stdio
๐Ÿ” Authentication required
๐Ÿ“‹ Please open the following link in your browser to complete authentication:
   https://mcpmarket.cn/oauth/authorize?...

โณ Waiting for authentication...
โœ… Authentication successful! Token saved
๐Ÿš€ Uno MCP Stdio is ready

Configure MCP Client

Configure stdio server in your MCP client:

Manus / Cherry Studio Configuration Example:

{
  "mcpServers": {
    "uno": {
      "command": "uvx",
      "args": ["uno-mcp-stdio"]
    }
  }
}

If installed with pip:

{
  "mcpServers": {
    "uno": {
      "command": "uno-mcp-stdio"
    }
  }
}

โš™๏ธ Configuration

Environment Variables

Variable Description Default
UNO_GATEWAY_URL Uno Gateway URL https://uno.mcpmarket.cn/mcp
UNO_CREDENTIALS_PATH Token storage path ~/.uno-mcp/credentials.json
UNO_DEBUG Debug mode false

Token Storage

Authenticated tokens are stored in ~/.uno-mcp/credentials.json:

{
  "access_token": "xxx",
  "refresh_token": "xxx",
  "expires_at": 1736345678,
  "token_type": "Bearer"
}

Clear Authentication

# Delete token file to re-authenticate
rm ~/.uno-mcp/credentials.json

๐Ÿ” Authentication Flow

1. Start uno-mcp-stdio
   โ”‚
   โ–ผ
2. Check ~/.uno-mcp/credentials.json
   โ”‚
   โ”œโ”€ Valid token โ†’ Proxy requests directly
   โ”‚
   โ””โ”€ No/expired token โ†’ Start authentication flow
      โ”‚
      โ–ผ
3. Start temporary HTTP server (localhost:random port)
   โ”‚
   โ–ผ
4. Generate OAuth URL, display to user
   โ”‚
   โ–ผ
5. User completes authorization in browser
   โ”‚
   โ–ผ
6. MCPMarket callback to local server
   โ”‚
   โ–ผ
7. Exchange token, save to file
   โ”‚
   โ–ผ
8. Close temporary server, start proxying

๐Ÿ› ๏ธ Development

# Clone repository
git clone https://github.com/agentrix-ai/uno-mcp-stdio.git
cd uno-mcp-stdio

# Install dependencies
uv sync

# Run
uv run uno-mcp-stdio

# Debug mode
UNO_DEBUG=true uv run uno-mcp-stdio

๐Ÿ“„ License

MIT

๐ŸŒ Languages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uno_mcp_stdio-0.2.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uno_mcp_stdio-0.2.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file uno_mcp_stdio-0.2.0.tar.gz.

File metadata

  • Download URL: uno_mcp_stdio-0.2.0.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for uno_mcp_stdio-0.2.0.tar.gz
Algorithm Hash digest
SHA256 504e87ac579f9d3abc55e1813a7dc517c8f95b5674bbf6071027bea8e0751096
MD5 ee7f1bc67ebcdbc3e404629cca478802
BLAKE2b-256 046b23f51b795d7a0c220725f058626e426a9fdab56c48d5822229b6f15bf673

See more details on using hashes here.

File details

Details for the file uno_mcp_stdio-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for uno_mcp_stdio-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d11c7cb2fc970f2ad5de9cc749055f47d3507f9eafbb6ccccf16a3a02f7d03f
MD5 0dedfee3190b9f98fd6bfa5275e60a85
BLAKE2b-256 3b5aec3c5acd44bbf5a228e1cb19ece88c9c41bec612d5cd6c100b54c2e68615

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page