Content
# stocktwits-mcp
An [MCP](https://modelcontextprotocol.io) (Model Context Protocol) server that provides access to StockTwits data — stock prices, social sentiment, trending symbols, user profiles, and more.
No API key required. All data comes from public, unauthenticated StockTwits endpoints.
## Prerequisites
- [Node.js](https://nodejs.org/) v18 or later
## Setup
No cloning or local install needed — `npx` fetches, builds, and runs the server automatically.
### Claude Desktop
**1.** Open your Claude Desktop config file:
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**2.** Add the following (create the file if it doesn't exist):
```json
{
"mcpServers": {
"stocktwits": {
"command": "npx",
"args": ["-y", "github:stocktwits/stocktwits-mcp"]
}
}
}
```
**3.** Restart Claude Desktop. You should see a hammer icon in the chat input, indicating the StockTwits tools are available.
### Claude Code
```bash
claude mcp add stocktwits -- npx -y github:stocktwits/stocktwits-mcp
```
### Cursor
Add to `.cursor/mcp.json` in your project root (or `~/.cursor/mcp.json` for global):
```json
{
"mcpServers": {
"stocktwits": {
"command": "npx",
"args": ["-y", "github:stocktwits/stocktwits-mcp"]
}
}
}
```
### Windsurf
Add to your Windsurf MCP config:
```json
{
"mcpServers": {
"stocktwits": {
"command": "npx",
"args": ["-y", "github:stocktwits/stocktwits-mcp"]
}
}
}
```
### From Source (optional)
If you prefer a local clone:
```bash
git clone https://github.com/stocktwits/stocktwits-mcp.git
cd stocktwits-mcp
npm install
npm run build
```
Then use `node /absolute/path/to/stocktwits-mcp/dist/index.js` as the command in any of the configs above.
## Tools
### Symbol Tools
#### `get_stock_price`
Get the current stock price, volume, daily high/low, change, 52-week range, and fundamentals. Works for stocks, ETFs, and crypto.
**Parameters:**
- `symbol` (string, required) — Ticker symbol, e.g. `AAPL`, `SPY`, `BTC-USD`
**Returns:** price, change, change_percent, day_high, day_low, open, previous_close, volume, fifty_two_week_high, fifty_two_week_low, market_cap, pe_ratio, eps, sector, industry
#### `get_symbol_info`
Get information about a stock, ETF, or crypto symbol from StockTwits.
**Parameters:**
- `symbol` (string, required) — Ticker symbol
**Returns:** symbol, title, exchange, instrument_class, watchers, logo_url, trade_status, sector, industry
#### `get_symbol_messages`
Get recent StockTwits messages (posts) for a symbol. Each message includes the author, text, sentiment, and timestamp.
**Parameters:**
- `symbol` (string, required) — Ticker symbol
- `limit` (number, optional, default 15) — Number of messages to return (max 30)
**Returns:** Array of messages with id, body, created_at, user, sentiment (bullish/bearish/neutral), symbols, likes
#### `get_symbol_sentiment`
Get the sentiment summary for a symbol based on recent StockTwits messages.
**Parameters:**
- `symbol` (string, required) — Ticker symbol
**Returns:** messages_analyzed, bullish count, bearish count, neutral count, sentiment_score (0-100), sentiment_label (Bullish/Bearish/Mixed)
#### `get_trending`
Get the list of currently trending stock symbols on StockTwits.
**Parameters:** None
**Returns:** Array of trending symbols with symbol, title, watchers
#### `search_symbols`
Search for stock/ETF/crypto symbols by name or ticker.
**Parameters:**
- `query` (string, required) — Search query, e.g. `apple` or `AAPL`
**Returns:** Array of matching symbols with symbol, title, exchange
### User Tools
#### `get_user_profile`
Get a StockTwits user's profile information.
**Parameters:**
- `username` (string, required) — StockTwits username without the @ sign, e.g. `howardlindzon`
**Returns:** id, username, name, avatar_url, join_date, official, identity, classification, followers, following, posts, watchlist_stocks_count, like_count
#### `get_user_messages`
Get recent StockTwits messages by a specific user.
**Parameters:**
- `username` (string, required) — StockTwits username without the @ sign
- `limit` (number, optional, default 20) — Number of messages to return (max 30)
**Returns:** Array of messages with id, body, created_at, sentiment, symbols, likes
#### `get_user_sentiment`
Analyze a user's recent messages to determine what symbols they are bullish or bearish on.
**Parameters:**
- `username` (string, required) — StockTwits username without the @ sign
**Returns:** Overall sentiment counts, plus per-symbol breakdown with bullish/bearish/neutral counts and sentiment_label
## Example Prompts
Once the server is connected, try asking your AI assistant:
- "What are the trending stocks on StockTwits right now?"
- "What's the current price and sentiment for NVDA?"
- "Show me recent StockTwits posts about Tesla"
- "What is the sentiment breakdown for AAPL?"
- "Look up the StockTwits profile for howardlindzon"
- "What stocks has user X been bullish on recently?"
## Rate Limits
The StockTwits public API allows **200 requests per hour** per IP address. No API key or authentication is required.
## Development
```bash
git clone https://github.com/stocktwits/stocktwits-mcp.git
cd stocktwits-mcp
npm install
npm run dev # runs with tsx (hot reload)
npm run build # compiles to dist/
npm start # runs compiled version
```
## License
[MIT](LICENSE)
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
Vibe-Trading
Vibe-Trading: Your Personal Trading Agent
ai-berkshire
Berkshire in the AI Era: A Value Investment Research Framework Based on...
hexstrike-ai
HexStrike AI is an AI-powered MCP cybersecurity automation platform with 150+ tools.
valuecell
Valuecell is a Python project for efficient data management.
tradingview-mcp
AI-assisted TradingView chart analysis — connect Claude Code to your...
tradingview-mcp
TradingView MCP Server offers real-time market analysis for crypto and stocks.