Uno MCP Stdio Client - Local stdio proxy for Uno MCP Gateway with OAuth authentication
Project description
Uno MCP Stdio
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:
- Communicates with MCP clients using stdio mode (supported by all clients)
- Securely stores OAuth tokens locally
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
504e87ac579f9d3abc55e1813a7dc517c8f95b5674bbf6071027bea8e0751096
|
|
| MD5 |
ee7f1bc67ebcdbc3e404629cca478802
|
|
| BLAKE2b-256 |
046b23f51b795d7a0c220725f058626e426a9fdab56c48d5822229b6f15bf673
|
File details
Details for the file uno_mcp_stdio-0.2.0-py3-none-any.whl.
File metadata
- Download URL: uno_mcp_stdio-0.2.0-py3-none-any.whl
- Upload date:
- Size: 22.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d11c7cb2fc970f2ad5de9cc749055f47d3507f9eafbb6ccccf16a3a02f7d03f
|
|
| MD5 |
0dedfee3190b9f98fd6bfa5275e60a85
|
|
| BLAKE2b-256 |
3b5aec3c5acd44bbf5a228e1cb19ece88c9c41bec612d5cd6c100b54c2e68615
|