mimo-web-search
The mimo-web-search server provides real-time internet search via the MiMo API, integrated as an MCP tool for Claude Code.
Real-time web search: Fetch up-to-date information on news, weather, stock prices, sports scores, and current events.
Location-aware search: Narrow results by specifying a
country,region, and/orcity.Customizable results: Control the number of results returned (1–50) via
limit, and concurrent keywords per search round (1–50) viamax_keyword.Forced search mode: Use
force_searchto ensure a live search runs even if the model believes it already knows the answer.Structured results: Returns titles, URLs, snippets, source citations, and usage statistics.
Automatic retries & timeout handling: Resilience against network errors and temporary service unavailability.
Graceful error handling: Clear, actionable messages for authentication issues, rate limits, server errors, and network failures.
Provides access to Xiaomi MiMo's web search API, enabling real-time web searches with location awareness and configurable parameters.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mimo-web-searchsearch for latest developments in quantum computing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MiMo Web Search MCP Server
一个基于 Model Context Protocol (MCP) 的服务器,将小米 MiMo 的 web_search API 封装为标准 MCP 工具,让 Claude Code 等 AI 助手能够进行实时网络搜索。
本地单用户工具:面向本机 Claude Code 使用。
mimo_web_fetch允许访问 localhost、私有 IP 与任意端口,便于调试本机/内网服务;不要作为共享服务暴露给不可信远程用户。
功能特性
🔍 实时网络搜索 - 获取最新的网络信息
🌐 网页抓取 - 抓取并提取指定 URL 的网页正文内容(含本机/内网)
📊 结构化结果 - 返回标题、URL、摘要和来源引用
🔄 自动重试 - 内置重试机制和超时控制
📝 详细日志 - 通过 DEBUG 环境变量控制日志级别
🛡️ 类型安全 - 完整的 TypeScript 类型定义
Related MCP server: Kimi Coding MCP
前置要求
Node.js >= 20.0.0
MiMo API Key(从 MiMo 平台 获取)
快速开始
方式 1:npm 全局安装(推荐)
# 全局安装
npm install -g mimo-web-search-mcp
# 或直接运行(无需安装)
npx mimo-web-search-mcp方式 2:从源码安装
# 克隆并安装
git clone https://github.com/1Lurgee/mimo-web-search-mcp.git
cd mimo-web-search-mcp
npm install
npm run buildClaude Code 配置
编辑 ~/.claude.json 文件(Windows: %USERPROFILE%\.claude.json):
使用 npm 全局安装(推荐)
{
"mcpServers": {
"mimo-web-search": {
"command": "npx",
"args": ["mimo-web-search-mcp"],
"env": {
"MIMO_API_KEY": "your-api-key-here"
}
}
}
}使用源码安装
{
"mcpServers": {
"mimo-web-search": {
"type": "stdio",
"command": "node",
"args": ["<项目路径>/dist/index.js"],
"env": {
"MIMO_API_KEY": "your-api-key-here"
}
}
}
}使用方法
配置完成后,Claude Code 会自动识别并可用以下工具:
mimo_web_search - 网络搜索
用户: 今天北京天气怎么样?
Claude: [自动调用 mimo_web_search 查询北京天气]主要参数:query(必需)、limit(结果数量)、country/region/city(位置)
mimo_web_fetch - 网页抓取
用户: 帮我看看这篇文章 https://example.com/article
Claude: [自动调用 mimo_web_fetch 抓取网页内容]主要参数:url(必需)、prompt(AI 处理指令)、clean(提取正文)
注意:
SPA 页面(React/Vue)需要设置
MIMO_ENABLE_BROWSER=true并安装 playwright。URL 校验仅限制
http/https与长度;允许 localhost、私有 IP、任意端口与 URL 凭证。带凭证的 URL 仍可请求,但日志与结果元数据中的凭证会被脱敏(
user:pass@→***:***@)。自动重定向只跟随同协议/同端口/同主机(允许 www 增减);跨主机重定向需直接请求目标 URL。
环境变量
必需变量
变量 | 说明 |
| MiMo API 密钥 |
可选变量
变量 | 说明 | 默认值 |
| API 基础 URL |
|
| 模型名称(如 |
|
| 启用思考模式 |
|
| 超长内容自动摘要 |
|
| 启用浏览器渲染(SPA 降级) |
|
| 日志级别: |
|
| MiMo API 请求超时(毫秒) |
|
| 最大生成 token 数 |
|
| 采样温度(0 ~ 1.5) |
|
| 核采样概率(0.01 ~ 1.0) |
|
| 最大重试次数(0 ~ 10) |
|
| 重试延迟(毫秒,100 ~ 60000) |
|
| 最大内容长度(字节) |
|
| 最大并发请求数(1 ~ 100) |
|
| 默认最大关键词数(1 ~ 50) |
|
| 默认返回结果数(1 ~ 50) |
|
| 查询最大字符数(100 ~ 100000) |
|
| 网页抓取超时时间(毫秒) |
|
| 最大响应体大小(字节) |
|
开发
npm run dev # 开发模式(热重载)
npm run build # 编译 TypeScript
npm test # 运行测试
npm run precommit # 提交前完整检查许可证
MIT License - 详见 LICENSE 文件
Available Tools
1 toolmimo_web_searchA
Search the internet for real-time information. Use this tool when the user asks about weather, news, current events, stock prices, sports scores, or any topic requiring up-to-date online data. Prefer this over curl, web_fetch, or other HTTP methods for information queries. Returns structured search results with titles, URLs, snippets, and source citations.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City for location-aware search (e.g. 'Wuhan') | |
| limit | No | Max number of search results to return (1-50) | |
| query | Yes | The search query (max 10000 characters) | |
| region | No | Region/state for location-aware search (e.g. 'Hubei') | |
| country | No | Country for location-aware search (e.g. 'China') | |
| max_keyword | No | Max concurrent keywords per search round (1-50, each costs ¥0.025) | |
| force_search | No | Force search even if the model thinks it knows the answer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the return format (titles, URLs, snippets, citations) but does not disclose cost implications (max_keyword costs ¥0.025 each), rate limits, or authorization requirements. While not misleading, it lacks depth on important behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence stating the purpose and the second covering usage guidelines and return format. It is front-loaded with the most critical information and contains no superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no output schema, and no sibling tools, the description provides a reasonable overview of the tool's functionality and output. However, it omits mention of location parameters (city, region, country) and cost implications of max_keyword, which would be helpful for complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description adds general context about real-time search but does not elaborate on parameter meaning beyond what the schema already provides. The schema itself is thorough, so the description does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search the internet for real-time information.' It provides specific examples (weather, news, current events, etc.) and distinguishes itself from other tools like curl and web_fetch, making the purpose unmistakable and well-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'when the user asks about weather, news, current events, stock prices, sports scores, or any topic requiring up-to-date online data.' It also provides an alternative: 'Prefer this over curl, web_fetch, or other HTTP methods for information queries,' offering clear guidance on tool selection.
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 tool update
v1.0.0- First observed
mimo_web_search
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity; the tool's purpose is clear and distinct.
The single tool name follows a consistent pattern (prefix + web_search), and with one tool, naming consistency is inherently perfect.
One tool is perfectly appropriate for a server dedicated solely to web search; no other functionality is needed.
The tool fully covers the server's purpose of searching the internet; there are no missing operations for this domain.
Maintenance
Related MCP Connectors
Web search, scraping, RAG answers with citations, and translation as MCP tools.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Scrape, crawl and search the web for AI agents via MCP.
Provides AI assistants with access to Seltz's powerful Web Search capabilities.
Related MCP Servers
- AlicenseBqualityDmaintenanceExposes the Synthetic API as an MCP tool to enable web searching within Claude and other compatible applications. It provides formatted search results including titles, URLs, and text snippets for enhanced model context.110 npm22MIT
- FlicenseNot gradedqualityDmaintenanceWraps the Kimi Coding Search and Fetch APIs into MCP tools for web searching and content retrieval. It enables LLMs to perform targeted searches and crawl web pages using standardized interfaces.1-
- AlicenseNot gradedqualityDmaintenanceProvides web search and page fetching tools for third-party models (e.g., DeepSeek, Qwen, Kimi) in Claude Code, with configurable search backends, Markdown output, and safety boundaries.63MIT
- FlicenseNot gradedqualityDmaintenanceProvides fast, self-hosted web search and reliable web scraping using SearXNG and Crawl4AI, integrated as MCP tools for Claude Code.42-