Skip to main content
Glama
Wattlesol

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!