bluex-mcp

bluex-mcp

MCP server for live X/Twitter and web search, driven by your locally logged-in Grok CLI and leveraging your X Premium or SuperGrok subscription quota.

Category
Visit Server

README

bluex-mcp

πŸ“– δΈ­ζ–‡ζ–‡ζ‘£

Live X (Twitter) + web search MCP server β€” powered by your locally logged-in Grok CLI, running on your X Premium / SuperGrok subscription quota.

License: MIT

Your coding agent doesn't know what shipped this morning. It doesn't see the X thread where ten other developers are hitting the same bug. It can't watch the keynote that started 20 minutes ago, can't follow the leak about your competitor's pricing, can't tell you what @karpathy posted this week.

bluex-mcp closes that gap. If you pay for X Premium ($8/mo), X Premium+ ($40/mo), or SuperGrok ($30/mo), you already have first-class live X + web access through Grok. This is a thin MCP server that exposes it to Claude Code, Codex, Cursor, Claude Desktop, and any other MCP client β€” by driving your locally logged-in grok CLI. Usage counts against your existing plan.


Why

Other Grok MCP servers use the xAI API. You need a key, a funded account, and you pay per token. bluex-mcp takes a different path.

xAI API (most Grok MCPs) bluex-mcp
Auth XAI_API_KEY Your logged-in grok CLI
Cost Pay-per-token API billing $0 β€” runs on your subscription's quota
Live X access Yes Yes (same Grok)
Setup Get a key, fund a balance grok login once
Footprint β€” 2 search tools + 1 health check

If you don't already pay for Grok, an API-based MCP is the right call. If you do, bluex-mcp makes that subscription do double duty.


Quick start

npm install -g github:Derek-Wong213/bluex-mcp
grok login
bluex-mcp health

Wire it into your agent:

# Claude Code
claude mcp add bluex -- bluex-mcp
# Codex (~/.codex/config.toml)
[mcp_servers.bluex]
command = "bluex-mcp"
// Cursor / Claude Desktop (mcp.json)
{ "mcpServers": { "bluex": { "command": "bluex-mcp" } } }

Restart. Ask "search X for what people are saying about <topic> in the last hour" β€” it routes through bluex_x_search.


What people actually ask it

Each example is a real moment where an agent without live X access just stalls. They all route through the two search tools below.

Breaking AI / model release, first signal. "What did @AnthropicAI just announce? Last hour." The newest model dropped on X 30 minutes ago; your agent's knowledge cutoff is six weeks behind. β†’ bluex_x_search Β· recency=1hr Β· from:@handle

A library or CLI just broke and the docs are clueless. "X mentions of cursor composer-2.5-fast billing in the last 4 hours?" The "me too" wave shows up on X a full day before GitHub Issues triages it. β†’ bluex_x_search recency=4hr β†’ bluex_web_search the issue tracker

Vendor support went silent. "Timeline + verbatim user quotes on the Cursor on-demand billing complaints this week." The refund ticket disappeared into a black hole; the real signal lives in X user threads. β†’ bluex_x_search mode=deep returns timeline + verbatim quotes + sentiment

Track a thinker, not a feed. "From @karpathy, last 7 days, anything on nano-banana." A specific account speaking up is what unblocks the call. β†’ bluex_x_search from:@handle last:7d

Conference happening right now. "#AnthropicDevDay tweets from the last hour." The keynote is live; the official blog will recap six hours later. β†’ bluex_x_search with hashtag + last:1hr

Competitor pre-launch intel. "What's on X about Cursor pricing changes this week?" Roadmap leaks land on X before any press release. β†’ bluex_x_search recency=7d mode=deep

Breaking change before the docs admit it. "Anyone hitting issues with Next.js 16 app router migration in the last day?" The library's docs say "stable"; X has the unfixed-bug thread. β†’ bluex_x_search + bluex_web_search on the upstream issue

Indie launch positioning research. "Recent MCP server launch posts on X, last 14 days β€” what got real engagement?" Studying how others framed a similar product before you ship yours. β†’ bluex_x_search with engagement cues in the prompt

Academic paper reaction loop. "Show me the X discussion around the <paper title> arXiv preprint." Authors don't blog; the actual debate plays out in quote-tweets. β†’ bluex_x_search mode=deep for perspectives + verification


Tools

Tool Purpose
bluex_x_search Search X/Twitter β€” filter by @handles, date range, recency (15min / 1hr / 4hr / 24hr / 7d)
bluex_web_search Search the live web β€” domain include/exclude, recency
bluex_health_check Check grok install, model, profile, login status

Search modes

Mode What you get
basic (default) Summary + source items (title, url, author, handle, timestamp, snippet) + citations
deep Basic + analysis object: timeline, verbatim quotes (with attribution), multiple perspectives, sentiment, and verification (confirmed / unconfirmed / contradictory)

Example output

bluex_x_search Β· mode: "basic"

{
  "summary": "…",
  "items": [
    { "title": "…", "url": "https://x.com/…/status/…", "handle": "@…",
      "publishedAt": "2026-06-30T12:00:00Z", "snippet": "…" }
  ],
  "citations": [{ "url": "https://x.com/…", "domain": "x.com", "secure": true }],
  "urls": ["https://x.com/…"],
  "diagnostics": {
    "mode": "x", "analysisMode": "basic", "parseOk": true, "structured": true,
    "model": "grok-build", "profile": "shared", "attempts": 1, "warnings": []
  }
}

mode: "deep" adds:

{
  "analysis": {
    "timeline": [{ "date": "…", "event": "…", "source": "…" }],
    "quotes": [{ "quote": "…", "speaker": "…", "source": "…" }],
    "perspectives": [{ "viewpoint": "…", "summary": "…", "sources": ["…"] }],
    "sentiment": "…",
    "verification": {
      "confirmed": ["…"], "unconfirmed": ["…"], "contradictory": ["…"]
    }
  }
}

How it works

your agent ──MCP/stdio──▢ bluex-mcp ──child process──▢ grok CLI (your login) ──▢ live X + web

Each search runs grok --single … --output-format json --permission-mode dontAsk --json-schema … in a throwaway working directory. The schema constrains the model to emit conforming JSON β€” no regex-guessing from prose.

  • Auth cache β€” login checked every 5 min; a cold probe takes ~2 s, then instant.
  • Recursion guard β€” BLUEX_MCP_ACTIVE env var prevents circular launches.
  • Isolation β€” memory / subagents / plan-mode disabled; your grok sessions are untouched.

Configuration

Set these as environment variables in your MCP client's server config. All optional.

Variable Default Purpose
GROK_BIN grok Path to the grok CLI binary
BLUEX_TIMEOUT_MS 180000 Per-call timeout (ms)
BLUEX_MAX_TURNS 6 Max agentic turns the child grok may take
BLUEX_MAX_RETRIES 2 Retries on empty/failed runs (exponential backoff)
BLUEX_EFFORT (grok default) Reasoning effort β€” low / medium / high / xhigh / max
BLUEX_ISOLATED false Run grok under a dedicated clean profile (see below)
BLUEX_HOME ~/.bluex-mcp HOME for the isolated profile
BLUEX_LOG_FILE (off) Path to JSONL log file
BLUEX_LOG_QUERY hash How the query field is stored in logs β€” none (drop), hash (SHA-256), raw
BLUEX_LOG_DISPATCH false Also record per-tool dispatch counts in each log line
BLUEX_AB false Master switch for the internal A/B experiment sampler (off in production)
BLUEX_AB_EFFORTS none,low,high,max Comma-separated effort levels the A/B sampler picks from. none = pass no --effort flag
BLUEX_AB_STRATEGY_RATE 0.5 Probability of injecting the X search strategy prompt when A/B is on

Model is pinned to grok-build and is intentionally not configurable. The only other locally available model, grok-composer-2.5-fast, is a coding model β€” not suited for search.

Isolated profile (optional)

By default bluex-mcp reuses your existing Grok login. For full isolation (no grok config, rules, or other MCP servers loaded), set BLUEX_ISOLATED=1 and log in once:

BLUEX_ISOLATED=1 bluex-mcp login
# Then add BLUEX_ISOLATED=1 to your MCP client's environment for this server.

FAQ

How is this different from other Grok or Twitter MCP servers? Other Grok-based MCPs are built on the xAI API β€” they take an XAI_API_KEY and bill per token. bluex-mcp takes a different path: it drives your already-logged-in grok CLI, so calls run on your X Premium / SuperGrok subscription quota. See the Why table for the full comparison.

Do I need an xAI API key? No. grok login with your existing subscription is all you need.

Is there a usage limit? Yes β€” you're subject to your Grok plan's rate limits. SuperGrok allows ~100 prompts/2 hr; lower tiers less. source This is your normal Grok quota, not an extra limit.

Does SuperGrok include an X blue check? No. SuperGrok is a standalone AI subscription with no X social features. The blue checkmark comes with X Premium / X Premium+. source

Is this affiliated with xAI or X? No. Independent open-source wrapper around the public Grok CLI.

Does it store my credentials? No. Auth lives in the grok CLI's own profile. bluex-mcp only executes the binary.

Will it interfere with my normal grok sessions? No. Each search runs in a throwaway directory with memory/subagents/plan-mode off. For full config isolation, set BLUEX_ISOLATED=1.


Acknowledgements

bluex-mcp's initial architecture was forked from z2z23n0/grok-search-mcp. The deep analysis structure draws on stat-guy/grok-search-mcp, recency presets from mzkrasner/grok-x-insights, and tool categorisation from guzus/grok-mcp.


License

MIT β€” LICENSE

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured