# MCP error -32603: Discord client not logged in.

**TL;DR:** On the Smithery remote server this was a token-passing bug; the maintainer re-enabled the discord_login tools as the workaround. Locally, make sure DISCORD_TOKEN is in the server env block and restart the whole MCP client. Test the token with a direct Discord API curl to rule out a bad token first.

## The error

```
MCP error -32603: Discord client not logged in.
```

## Fix it

1. curl the Discord API with your bot token to verify it.
   Expected: A 200 proves the token is good.
2. Check the MCP config env block for DISCORD_TOKEN.
   Expected: The token is present and correct.
3. Fully restart the MCP client.
   Expected: The Discord client logs in at server startup.
4. Call a Discord tool, or run the discord_login tool if your version has it.
   Expected: Tools succeed.

## When this applies

Every Discord MCP tool fails with client not logged in while the token works via curl.

## When this does NOT apply

If curl also fails, the token is bad; regenerate it. Gateway 4014 closes are the intents issue.

## Tool compatibility

barryyip0625/mcp-discord, Smithery remote and local installs

## Also seen as

- Discord MCP not logged in
- discord client not logged in smithery
- MCP error 32603 discord

## Why it happens

The server keeps one Discord gateway client; if the token never reaches the server process (remote token-passing bug, or env not set locally), the client never logs in and every tool fails with -32603.

## Edge cases

- Smithery remote users hit the token-passing bug; local users hit env config.
- Restart the client, not just the chat; the gateway client lives with the server process.
- Regenerating the token requires updating every place it is configured.