You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
uv run schwab-mcp server --token-path /path/to/token.json --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --callback-url YOUR_CALLBACK_URL
69
+
uv run schwab-mcp server \
70
+
--token-path /path/to/token.json \
71
+
--client-id YOUR_CLIENT_ID \
72
+
--client-secret YOUR_CLIENT_SECRET \
73
+
--callback-url YOUR_CALLBACK_URL \
74
+
--discord-token YOUR_DISCORD_BOT_TOKEN \
75
+
--discord-channel-id YOUR_APPROVAL_CHANNEL_ID
76
+
77
+
# Run with account modification tools auto-approved (no Discord prompt)
78
+
uv run schwab-mcp server \
79
+
--jesus-take-the-wheel \
80
+
--client-id YOUR_CLIENT_ID \
81
+
--client-secret YOUR_CLIENT_SECRET \
82
+
--callback-url YOUR_CALLBACK_URL
64
83
65
-
# Run with account modification tools enabled
66
-
uv run schwab-mcp server --jesus-take-the-wheel --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --callback-url YOUR_CALLBACK_URL
67
84
```
68
85
69
86
Token age is validated - if older than 5 days, you will be prompted to re-authenticate.
70
87
88
+
Discord-related flags can also be provided via environment variables:
89
+
-`SCHWAB_MCP_DISCORD_TOKEN`
90
+
-`SCHWAB_MCP_DISCORD_CHANNEL_ID`
91
+
-`SCHWAB_MCP_DISCORD_TIMEOUT` (optional, defaults to 600 seconds)
92
+
-`SCHWAB_MCP_DISCORD_APPROVERS` (optional comma-separated list of Discord user IDs)
93
+
94
+
### Discord approval setup
95
+
96
+
1. Create or open your application at <https://discord.com/developers/applications>, add a **Bot**, reset the token, and paste it into `SCHWAB_MCP_DISCORD_TOKEN`.
97
+
2. In the **Installation** tab (left sidebar) set *Install Link* to `None` so the default authorization link is disabled.
98
+
3. Open the **Bot** tab, toggle **Public Bot** off.
99
+
4. Use **OAuth2 → URL Generator** to build the invite link by selecting the `bot` scope. When the permissions matrix appears, grant the bot:
100
+
- View Channel
101
+
- Send Messages
102
+
- Embed Links
103
+
- Add Reactions
104
+
- Read Message History
105
+
- Manage Messages
106
+
5. Copy the generated URL (the permissions integer reflects the boxes you checked), open it while logged into the Discord account that owns the approval server, and authorize the bot into the channel where approvals should post.
107
+
71
108
> **WARNING**: Using the `--jesus-take-the-wheel` flag enables tools that can modify your account state. Use with caution as this allows LLMs to cancel orders and potentially perform other actions that change account state.
72
109
73
110
## Available Tools
74
111
75
112
The server exposes the following MCP tools:
76
113
77
-
> **Note**: Tools 28-35 require the `--jesus-take-the-wheel`flag as they can modify account state by placing orders.
114
+
> **Note**: Tools 27-39 will pause for Discord approval before executing. Pass `--jesus-take-the-wheel`to bypass the approval workflow entirely.
78
115
79
116
### Date and Market Information
80
117
1.`get_datetime` - Get the current datetime in ISO format
0 commit comments