Atlas / MCP servers / fu-jie / MiMo Free API

MiMo Free APICAUTION

mcp/fu-jie/mimo-free-api

MiMo Free API MCP: 基于官网逆向的高性能 OpenAI / HTTP MCP 代理网关。支持搜索、识图、长文本分段及 SQLite 持久化。

Verdict
CAUTION
Grade
C
Trust score
77 /100
Exposed tools
2 2r · 0w · 0d
Transport
streamable-http
License
GPL-3.0
Stars
29
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

English | 简体中文

基于小米大模型(MiMo)官方网站(aistudio.xiaomimimo.com)逆向构建的高级 OpenAI 兼容网关 + 原生 MCP 插件集成。现已全量适配 MiMo V2.5 全模态 系列,支持 Thinking (思维链) 协议 与 Omni (全模态) 交互。

🏗️ 核心特性 (V2.5 Features)

  1. V2.5 全模态适配: 深度集成 mimo-v2.5 与 mimo-v2.5-pro 模型,支持原生图像、视频、音频的复杂分析。
  2. Thinking 协议对齐: 完美支持官方最新的思维链 (Reasoning) 协议。流式输出中自动包含 reasoning_content,真实还原 AI 思考过程。
  3. 透明升级路由: 保持对 V2 时代的兼容。请求 mimo-v2-omni 会自动平滑路由至 mimo-v2.5,mimo-v2-pro 会路由至 mimo-v2.5-pro。
  4. 环境化 Token 配置: 支持在 .env 中通过 token 环境变量(格式:ph.uid.token)完成一键部署。
  5. Native MCP Server: 集成最新 MCP 标准。赋予 Claude / Cursor 等客户端原生的 联网搜索 (`search`) 与 视觉分析 (`vision`) 能力。

📊 模型矩阵 (Model Matrix)

[!TIP] 强制开启 Thinking:您可以通过为模型 ID 添加 -thinking 后缀(如 mimo-v2-flash-thinking)强制激活任何模型的思维链模式。
[!WARNING] 工具调用 (Tool Calling) 限制:目前模型原生工具调用(Function Calling)极度不稳定,无法在 Agent(如 AutoGPT、LangChain Agent 等)中可靠使用。建议仅作为对话、视觉分析或通过 MCP 插件在支持的客户端(如 Claude/Cursor)中使用。

🔑 凭证配置 (Credentials)

项目支持通过环境变量或 API Header 传递凭证。

方式 A:一键式 .env 部署 (推荐)

在根目录创建 .env 文件(可参考 .env.example),填入从官网抓取的三段式 Token:

# 格式: ph.uid.token 或 抓包获取的长字符串
token=xxxxxxxx.yyyyyyyy.zzzzzzzz

方式 B:OpenAI Header 传递

直接在 API 调用时使用 Bearer Token:

Authorization: Bearer YOUR_MIMO_TOKEN

📂 本地路径支持 (Local File Access)

如果您在 Docker 环境下运行,由于容器隔离,服务默认无法直接读取宿主机路径。

核心工作流 (Workflow):

  1. 多模式支持:本项目支持 URL、Base64 数据 以及 本地文件名。
  2. 挂载映射 (本地文件):若需使用本地文件,请将其存放在宿主机目录中,并在 docker-compose.yml 中挂载到容器的 `/a
Read from source at commit 19cc585661bbOBSERVED · 2026-10-08
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add mimo-free-api-mcp -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "mimo-free-api-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (2)

2 read · 0 write · 0 destructive.

ToolRiskDescription
searchreadPerform a web search using Mimo AI to get the latest information. Returns a summary of findings with citations.
visionreadMulti-modal analysis for images, videos, and audio. Supports URLs, Base64 data URIs, or simple Filenames (which are automatically retrieved from the fixed /app/media storage).
04

Trust audit

CAUTIONgrade C · trust 77/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (2 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (18)

MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/api/controllers/mimo.ts:399
logger.info(`[Token Check] Prompt Length: ${query.length} chars | Estimated Tokens: ${tokens} | Safe Threshold: ${currentMimoConfig.maxSafeTokens}`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/lib/mimo_heartbeat.ts:57
logger.info(`[Auth Pool] New token registered: [${ph.substring(0, 8)}...]`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/lib/mimo_heartbeat.ts:103
logger.info(`[Heartbeat] Token [${ph.substring(0, 10)}...] is still valid (No Set-Cookie needed).`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/lib/mimo_heartbeat.ts:108
logger.warn(`Token [${ph.substring(0, 8)}...] expired and removed from pool.`);
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/mimo_client_demo.py:23
API_BASE = "http://127.0.0.1:8001/v1"
MEDIUMAuth / authz · mcp.remote_no_auth · CWE-287, CWE-862
streamable-http
Why it matters. a network transport with no auth environment variable found
Fix. require a token
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/api/controllers/mimo.ts:60
const hash = crypto.createHash("md5").update(contextFingerprint).digest("hex");
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/api/controllers/mimo.ts:69
const hash = crypto.createHash("md5").update(contextFingerprint).digest("hex");
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/api/controllers/mimo.ts:205
const md5 = crypto.createHash("md5").update(buffer).digest("hex");
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/api/controllers/mimo.ts:492
const md5 = crypto.createHash("md5").update(Buffer.from(media.base64, "base64")).digest("hex");
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/api/controllers/mimo.ts:527
safeConvId = crypto.createHash("md5").update(rawConvId).digest("hex");
LOWInformation disclosure · disclose.log_secret · CWE-209, CWE-532
scripts/test_multiturn.py:45
print(token, end="", flush=True)
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/test_multiturn.py:9
client = OpenAI(api_key=API_KEY, base_url="http://127.0.0.1:8012/v1")
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/test_search_only.py:11
API_BASE = "http://127.0.0.1:8001/v1"
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/test_tools.py:23
base_url="http://127.0.0.1:8012/v1"
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/test_vision.js:11
const response = await axios.post('http://127.0.0.1:8001/v1/chat/completions', {
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
axios, better-sqlite3, colors, crc-32, cron, date-fns, eventsource-parser, file-type
Why it matters. 27 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
scripts/assets/demo.mp4
scripts/assets/demo.mp4
Why it matters. 2180165 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 19cc585661bbfull audit observations/trust-audit/mcp-server/fu-jie__mimo-free-api.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-0819cc585661bbCAUTIONC77first audit
06

Questions

What is the MiMo Free API MCP server?

MiMo Free API MCP: 基于官网逆向的高性能 OpenAI / HTTP MCP 代理网关。支持搜索、识图、长文本分段及 SQLite 持久化。

What tools does MiMo Free API expose?

2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is MiMo Free API safe to connect to an agent?

With care. The audit graded it C (77/100) and found 18 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does MiMo Free API need?

No credential environment variables were found in its source, so it appears to need none.

How does MiMo Free API run?

It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as mimo-free-api-mcp at 1.2.1.

How current is this page?

The grade is for one exact copy of the source (19cc585661bb), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement