Skip to main content
Glama
zuozh11

grok-native-search-mcp

by zuozh11

Grok Native Search MCP

A minimal stdio MCP Server providing three read-only tools:

  • web_search(query): Grok native Web Search

  • x_search(query): Grok native X Search

  • web_fetch(url): Jina Reader web page to Markdown

Search always uses grok-4.6, reasoning.effort: low, and max_turns: 1. Complementary searches may run in parallel within a single turn, stopping once enough first-hand evidence is found, and expanding scope only when evidence is missing or conflicting. Tool responses are not parsed or rewritten; they are returned directly as MCP text.

Tool routing: use web_fetch for known URLs or when page content needs verification; use x_search for X posts, accounts, threads, and trends; use web_search for other web-wide searches without a specific URL. After a search returns an external URL that needs verification, continue by calling web_fetch.

Environment Variables

Variable

Purpose

XAI_API_KEY

API Key for xAI or a compatible gateway

XAI_BASE_URL

Optional, Responses API base URL; defaults to https://aiapiv2.kamipon.com:442/v1

JINA_API_KEY

Jina Reader API Key

HTTP_PROXY / HTTPS_PROXY / NO_PROXY

Optional, environment proxy configuration used only for Jina Reader requests

Related MCP server: grok-build-plugin

Start with npx

npx -y grok-native-search-mcp@latest

Codex Configuration

[mcp_servers.grok_native_search]
command = "npx"
args = ["-y", "grok-native-search-mcp@latest"]
env_vars = ["XAI_API_KEY", "JINA_API_KEY", "HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY"]

Restart Codex after configuration.

Local Development

npm install
npm test

Available Tools

3 tools
web_fetchA
Read-only

Use this when an exact HTTP(S) URL is known, including URLs returned by web_search or x_search, and the task is to read, quote, summarize, or verify page text. Prefer it over Browser, curl, or shell when no login, click, form interaction, or visual inspection is required. Do not use it to discover URLs. Returns raw Markdown from Jina Reader.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesExact HTTP(S) URL to read; pass source URLs from web_search or x_search unchanged

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already supply readOnlyHint beyond which the description adds meaningful context: it returns 'raw Markdown from Jina Reader' and clarifies the tool is non-interactive (no login, click, form, or visual inspection). This disclosure exceeds the annotation and helps the agent calibrate expectations. A 4 reflects the extra value without being exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, zero fluff. The core purpose is front-loaded, followed by usage exclusions and a note on return format. Every sentence serves a purpose—no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool, the description completely covers what the agent needs: when to invoke it, what it returns, and what it is not for. No output schema is present, but the return type is disclosed. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter (url) is fully documented in the schema with a detailed description ('Exact HTTP(S) URL... pass source URLs unchanged'). Schema coverage is 100%, so the description does not need to add parameter info; the minimal restatement adds no extra meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'read, quote, summarize, or verify page text' from an exact HTTP(S) URL. It distinguishes itself from siblings web_search and x_search by clarifying it consumes their URLs, and differentiates from Browser/curl/shell by its non-interactive read-only role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly defines when to use (exact URL known, text-read task) and when not (URL discovery, need login/click/form/visual). Names alternatives (Browser, curl, shell) and states preference conditions. Provides clear routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.3
    • First observedweb_fetch
    • First observedweb_search
    • First observedx_search

TDQS

A4.6/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: web_search for general web discovery, x_search specifically for X content, and web_fetch for retrieving a known URL. The descriptions explicitly cross-reference each other (e.g., web_search notes 'For X-only content use x_search'), leaving no ambiguity about which tool to select.

Naming Consistency5/5

All three tool names follow a consistent `[source]_[action]` pattern: web_search, x_search, web_fetch. The naming convention is uniform, predictable, and immediately conveys scope (web vs. x) and operation (search vs. fetch).

Tool Count5/5

With only 3 tools, the server is tightly scoped for its purpose: general web search, X-specific search, and URL fetching. This is well within the ideal 3–15 range and every tool earns its place; adding more would likely introduce redundancy.

Completeness5/5

The surface covers the full lifecycle of a search task: discover sources (web_search, x_search) and then retrieve/verify content (web_fetch). The tools explicitly reference each other to create a complete workflow, with no obvious gaps for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables real-time web search via DeepSeek's search-enhanced dialogue, providing search results as answers through MCP tools.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Live X (Twitter) and web search for any coding agent through your existing Grok subscription. Exposes a grok_search MCP tool, so no X API key or X developer account is needed.
    21 npm
    28
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables web search and web fetch operations using Ollama's hosted APIs, allowing MCP clients to search the web and retrieve page content.
    2
    MIT