auth-mcp
by Wattlesol
README.md
# Auth MCP Server
> **Fast, low-latency MCP server for authentication services**
> Optimized for real-time AI agent integration with LM Studio, Claude Desktop, and more.
## ๐ Quick Start
```bash
# 1. Clone the repository
git clone https://github.com/wattlesol/auth-mcp.git
cd auth-mcp
# 2. Install dependencies
npm install
# 3. Configure environment
cp .env.example .env
# Edit .env with your API URLs
# 4. Test the server
./test-mcp-stdio.sh
# 5. Configure your AI agent (see Configuration section below)
```
## โจ Features
- โก **Low Latency** - Direct stdio communication (< 10ms)
- ๐ง **18 Dynamic Tools** - Auto-loaded from Swagger/OpenAPI spec
- ๐ค **AI Agent Ready** - Works with LM Studio, Claude Desktop, etc.
- ๐ณ **Docker Support** - Optional containerized deployment
- ๐ **Complete Docs** - Comprehensive guides and examples
## ๐ Configuration
### For LM Studio
```json
{
"mcpServers": {
"auth-mcp": {
"command": "node",
"args": ["/absolute/path/to/auth-mcp/auth-mcp"],
"env": {
"AUTH_API_BASE_URL": "https://your-auth-api.example.com",
"SWAGGER_URL": "https://your-auth-api.example.com/api-json"
}
}
}
}
```
### For Claude Desktop
Same configuration as above. Add to:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
### For Qwen Coding Agent
Configuration is in `.qwen/settings.json` (see [QWEN-SETUP.md](./QWEN-SETUP.md) for details)
## ๐ฏ Available Tools (18 Total)
The server dynamically loads tools from your Swagger/OpenAPI specification. Example tools:
**Authentication & Sign In:**
- `post_api_auth_signin` - Sign in with email/password
- `post_api_auth_staff_signin` - Staff sign in (branch-aware)
- `post_api_auth_signup` - Create new user account
- `post_api_auth_signout` - Sign out current user
**User Info & Profile:**
- `get_api_auth_me` - Get current user information
- `put_api_auth_profile` - Update user profile
**OTP & Verification:**
- `post_api_auth_otp_send` - Send OTP to email
- `post_api_auth_otp_verify` - Verify OTP code
- `post_api_auth_verify_email` - Verify email with OTP
- `post_api_auth_verify_phone` - Verify phone with OTP
**Password Management:**
- `post_api_auth_forgot_request` - Request password reset
- `post_api_auth_change_password` - Change password
**Token & Health:**
- `post_api_auth_refresh_token` - Refresh JWT token
- `get_api_health` - Health check endpoint
## ๐ Documentation
| Document | Description |
|----------|-------------|
| **[docs/COPY-PASTE-CONFIG.txt](./docs/COPY-PASTE-CONFIG.txt)** | ๐ Ready-to-use configurations |
| **[docs/QUICK-SETUP.md](./docs/QUICK-SETUP.md)** | ๐ Get started in 3 steps |
| **[docs/CONFIGURATION-GUIDE.md](./docs/CONFIGURATION-GUIDE.md)** | ๐ง Detailed setup guide |
| **[docs/SUMMARY.md](./docs/SUMMARY.md)** | ๐ Complete project overview |
| **[docs/README-MCP.md](./docs/README-MCP.md)** | ๐ MCP protocol details |
## ๐งช Testing
```bash
# Run automated tests
./test-mcp-stdio.sh
# Manual test
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | node auth-mcp
```
## ๐๏ธ Architecture
```
AI Agent (LM Studio/Claude)
โ stdio (JSON-RPC)
Auth MCP Server (Node.js)
โ HTTPS
Backend Auth API (Swagger)
```
## ๐ Performance
- **Latency**: < 10ms (stdio communication)
- **Startup**: ~2 seconds (loads Swagger spec)
- **Memory**: ~50MB (Node.js + dependencies)
- **Protocol**: MCP 2024-11-05
## ๐ณ Docker Deployment
```bash
# Build
docker build -f Dockerfile.mcp -t auth-mcp-stdio .
# Run
docker run --rm -i --env-file .env auth-mcp-stdio
```
## ๐ง Environment Variables
Copy `.env.example` to `.env` and configure:
```env
AUTH_API_BASE_URL=https://your-auth-api.example.com
SWAGGER_URL=https://your-auth-api.example.com/api-json
AUTH_API_TIMEOUT=5000
```
## ๐ ๏ธ Development
```bash
# Install dependencies
npm install
# Run HTTP server (legacy)
npm start
# Run MCP server (stdio)
npm run mcp
# Run tests
npm test
```
## ๐ฆ Project Structure
```
โโโ auth-mcp # Main launcher script
โโโ src/
โ โโโ mcp-stdio-server.js # MCP server (stdio)
โ โโโ api-client.js # Auth API client
โ โโโ swagger-client.js # Swagger API client
โ โโโ swagger-tools-analyzer.js # Tool generator
โโโ config/
โ โโโ lm-studio-config.json # LM Studio config
โ โโโ claude-desktop-config.json # Claude Desktop config
โ โโโ mcp-config-docker.json # Docker config
โโโ docs/ # Documentation
โโโ test/ # Test files
โโโ .env.example # Example environment variables
โโโ package.json # Dependencies
```
## ๐ค Contributing
This is a production-ready MCP server. Feel free to:
- Add more tools
- Improve error handling
- Add monitoring/metrics
- Extend documentation
## ๐ License
ISC
## ๐ Support & Troubleshooting
**Issues?** Check these guides:
1. [QWEN-SETUP.md](./QWEN-SETUP.md) - Qwen Coding Agent setup & troubleshooting
2. [QWEN-TOOLS-FIX.md](./QWEN-TOOLS-FIX.md) - Tools not showing? Read this
3. [docs/QUICK-SETUP.md](./docs/QUICK-SETUP.md) - Quick troubleshooting
4. [docs/CONFIGURATION-GUIDE.md](./docs/CONFIGURATION-GUIDE.md) - Detailed help
**Enable Debug Mode:**
```bash
MCP_DEBUG=true node auth-mcp
```
## ๐ Success!
You now have a production-ready MCP server for AI agents!
**Next Steps:**
1. Configure your AI agent with the settings above
2. Test with: "Can you list the available authentication tools?"
3. Start using the tools in your AI conversations!
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues