Uno MCP Stdio
by agentrix-ai
README.md
# Uno MCP Stdio
[](https://pypi.org/project/uno-mcp-stdio/)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/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
```bash
# 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:
```bash
$ 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:**
```json
{
"mcpServers": {
"uno": {
"command": "uvx",
"args": ["uno-mcp-stdio"]
}
}
}
```
**If installed with pip:**
```json
{
"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`:
```json
{
"access_token": "xxx",
"refresh_token": "xxx",
"expires_at": 1736345678,
"token_type": "Bearer"
}
```
### Clear Authentication
```bash
# 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
```bash
# 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
- [English](README.md) (current)
- [δΈζ](README_zh.md)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues