Skip to main content

OAuth Authentication

Many MCPs require authentication to access their services. SLOP MCP provides seamless OAuth support with automatic reconnection.

Supported MCPs​

OAuth works with any MCP that implements the MCP OAuth specification, including:

  • Figma - Design file access
  • Linear - Issue tracking
  • Dart - Project management
  • Notion - Workspace access
  • Slack - Channel messaging
  • GitHub (OAuth apps) - Repository access

Quick Start​

Login​

slop-mcp mcp auth login figma

This will:

  1. Open your default browser
  2. Redirect to the MCP's OAuth consent page
  3. After you authorize, capture the token
  4. Automatically reconnect the MCP with new credentials

Check Status​

slop-mcp mcp auth status figma

Output:

Figma authentication status:
Authenticated: Yes
Expires: 2024-01-15T10:30:00Z
Has refresh token: Yes

Logout​

slop-mcp mcp auth logout figma

Using in Claude Code​

With the SLOP MCP plugin, authentication is available via the auth_mcp tool:

User: I need to access my Figma designs

Claude: Let me authenticate with Figma.

> auth_mcp action="login" name="figma"

Opening browser for OAuth authentication...
Successfully authenticated with figma - connection re-established with new credentials

Now I can access your Figma files. What would you like to do?

Auto-Reconnection​

New in v0.3.0: After successful authentication, SLOP MCP automatically:

  1. Stores the OAuth token securely
  2. Disconnects the existing MCP connection
  3. Reconnects with the new credentials
  4. Re-indexes available tools

No manual reconnection needed!

Before v0.3.0:
1. auth login figma
2. (manually) mcp remove figma
3. (manually) mcp add figma ...
4. Now it works

After v0.3.0:
1. auth login figma
2. It just works ✓

Token Storage​

OAuth tokens are stored securely in your system's credential store:

PlatformStorage Location
macOSKeychain
LinuxSecret Service (libsecret)
WindowsCredential Manager

Fallback: ~/.config/slop-mcp/tokens.json (encrypted)

Token Refresh​

SLOP MCP automatically refreshes tokens when they expire:

  1. Before making an MCP call, check token expiry
  2. If expired and refresh token exists, refresh automatically
  3. If refresh fails, prompt for re-authentication

You don't need to manage token lifecycle manually.

Configuration for OAuth MCPs​

OAuth MCPs must use HTTP transport (streamable or SSE):

mcp "figma" {
transport "streamable"
url "https://mcp.figma.com/mcp"
}

mcp "linear" {
transport "sse"
url "https://mcp.linear.app/sse"
}
warning

OAuth does not work with stdio transport MCPs. The MCP must expose an HTTP endpoint.

Troubleshooting​

"OAuth flow failed"​

  1. Check your internet connection
  2. Verify the MCP URL is correct
  3. Ensure the MCP supports OAuth
# Verify MCP is reachable
curl https://mcp.figma.com/.well-known/oauth-authorization-server

"Token expired" errors​

Force a refresh:

slop-mcp mcp auth login figma --force

Browser doesn't open​

Set your browser manually:

export BROWSER=/usr/bin/firefox
slop-mcp mcp auth login figma

Or use the URL directly:

slop-mcp mcp auth login figma --no-browser
# Prints URL to copy/paste

"Connection failed after auth"​

Check that the MCP is properly configured:

slop-mcp mcp list
# Should show: figma (streamable) - connected

If disconnected, try:

slop-mcp mcp remove figma
slop-mcp mcp add figma -t streamable https://mcp.figma.com/mcp
slop-mcp mcp auth login figma

Security Best Practices​

  1. Don't share tokens - Tokens are personal credentials
  2. Use MCP-specific scopes - Only authorize needed permissions
  3. Rotate periodically - Logout and re-login monthly
  4. Audit access - Check MCP provider's connected apps page

API Reference​

auth_mcp Tool​

{
"action": "login" | "logout" | "status" | "list",
"name": "mcp-name" // Required for login/logout/status
}

CLI Commands​

# Authenticate
slop-mcp mcp auth login <name>
slop-mcp mcp auth login <name> --force
slop-mcp mcp auth login <name> --no-browser

# Check status
slop-mcp mcp auth status <name>

# Remove token
slop-mcp mcp auth logout <name>

# List all authenticated MCPs
slop-mcp mcp auth list