MCP server · Org-owned · Audited from source
cli MCP server
by modelstudioai/cliApache-2.0 licenceAudited 3 Oct 2026 · source ca58ac0dbb16
Is it safe? No — BLOCK, grade F (42/100). It exposes 5 tools: 5 read, 0 write and 0 destructive. The audit recorded 39 findings (1 critical, 4 high, 4 medium, 30 low). Maintainer's description: Official Model Studio CLI(阿里云百炼 CLI)built for AI Agent frameworks, exposing models, search, multimodal, and workflow capabilities as structured tool calls.
Cite
Cite this page
ModelsAtlas. “cli MCP server (modelstudioai/cli)”. Retrieved 3 Oct 2026. https://modelsatlas.com/mcp/modelstudioai/cli
Why this is BLOCK. The audit found 1 critical and 4 high findings; the most severe is Prompt injection at skills/bailian-protocol/SKILL.md:148. Each finding is listed below with its file and line.
Why this page is still public. People search for this server by name. Hiding it would leave them with the README's word alone; here they see what the code does. We list it so you can decide, and we do not show connect commands for BLOCK servers.
4 MCP servers are called Cli. You are viewing modelstudioai/cli. Compare all 4 →
- mcpgod/cli Org-owned★ 115✓SAFE
- modelstudioai/cli Org-owned★ 539✕BLOCK
- vibgrate/cli Org-owned★ 5✕BLOCK
- getmcpm/cli Org-owned★ 3✕BLOCK
Trust audit
Audit 0.4.1 · full source read 3 Oct 2026
39 findings, listed below with the file and line each was found on. Grade A needs a sandboxed behavioural run too; this audit read the source only.
What the source does
- FilesystemDeclared3 observations
- NetworkDeclared8 observations
- ShellDeclared7 observations
- DependenciesNot pinnedSome ranges float
- SecretsFoundSee the findings
Findings (39)
Sorted by severity · the 25 most severe of 39 are listed
CRITICALPrompt injectionprompt.transfer_instruction · skills/bailian-protocol/SKILL.md:148
2. If INCLUDE matches, ask the user (Chinese prompt in that doc). If they agree, collect environment info, redact secrets, fill the issue template, and submit to https://github.com/modelstudioai/cli/i
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
HIGHCode injectioncode.eval_exec · packages/runtime/src/pipeline/expressions.ts:209
const fn = new Function("args", `return (${code})`);- Why
- evaluates text as code
- Fix
- remove; use a parser or a dispatch table
HIGHCode injectioncode.eval_exec · packages/runtime/src/pipeline/steps/script-js.ts:24
const fn = new Function("args", code);- Why
- evaluates text as code
- Fix
- remove; use a parser or a dispatch table
HIGHPrompt injectionprompt.credential_read · skills/bailian-managed-agent/SKILL.md:69
- Build moves literal Vault `secret_value` / `access_token` values from Agent-local or shared `vault.json` into project-root `.env`, replacing them with generated environment references. Existing refe
- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.credential_read · skills/bailian-sandbox/SKILL.md:50
- Obtain fresh JSON with `bl sandbox get --sandbox-id <id> --show-credentials --output json`. Use `envdAccessToken` as `X-Access-Token`; the control-plane Bailian API Key is a different credential.
- Why
- asks the agent to read credentials
- Fix
- —
MEDIUMNetwork egressnet.raw_ip · packages/bailian-kb-dsh/src/console-login.ts:236
const url = new URL(req.url ?? "/", "http://127.0.0.1");
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.raw_ip · packages/commands/src/commands/auth/login-console.ts:304
const u = new URL(req.url ?? "/", "http://127.0.0.1");
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.raw_ip · packages/commands/src/commands/auth/login-console.ts:386
const u = new URL(req.url ?? "/", "http://127.0.0.1");
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.generic · packages/commands/tests/e2e/managed-agent-auth-chain.e2e.test.ts:127
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInventory / provenanceinv.symlink · CLAUDE.md
CLAUDE.md
- Why
- link not followed
- Fix
- —
LOWInsecure cryptocrypto.weak_hash · packages/commands/src/commands/knowledge/doc-upload.ts:210
const contentMd5 = createHash("md5").update(fileBuffer).digest("base64");- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInsecure cryptocrypto.weak_hash · packages/core/lib/remote-telemetry/tracker.cjs:1105
device_id: N.a.createHash("md5").update(E()).digest("hex"),- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · packages/cli/tests/e2e/registry.smoke.e2e.test.ts:7
import { commands } from "../../src/commands.ts";- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · packages/cli/tests/skill-risk-confirmation.test.ts:6
const repositoryRoot = join(dirname(fileURLToPath(import.meta.url)), "../../..");
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · packages/cli/tests/skill-sandbox-reference.test.ts:9
const repositoryRoot = join(dirname(fileURLToPath(import.meta.url)), "../../..");
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · packages/commands/src/commands/managed-agent/_engine/playground-launcher.ts:202
readPlaygroundVersion(resolve(dirname(monorepoBinary), "../../package.json")) ===
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · packages/commands/src/commands/managed-agent/deployment/runs/get.ts:4
import { displayValue } from "../../_engine/api-helpers.ts";- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · CHANGELOG.md:633
- `bl` now honors `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` environment variables (#35). Node's built-in `fetch` (undici) ignores proxy env vars by default, causing `ECONNRESET` for users behind a VPN
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · CHANGELOG.zh.md:633
- `bl` 现在会读取 `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` 环境变量(#35)。Node 内置的 `fetch`(undici)默认忽略代理环境变量,导致 VPN 或公司代理下出现 `ECONNRESET`。现已在启动时根据这些变量安装全局代理 dispatcher,并在 `ECONNRESET` 报错提示中给出 `export HTTPS_PRO
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.base64_blob · packages/commands/tests/e2e/managed-agent.e2e.test.ts:25
"UEsDBAoAAAAIAGBoIV3X45MGOwAAAEoAAAAIAAAAU0tJTEwubWTT1dXlykvMTbVSyMlPTszRLUotyC8q4UpJLU4uyiwoyczPs1LwAckoQGQUirMzc3K4dIHalKESQRAtAFBLAwQKAAAAAABgaCFdAAAAAAAAAAAAAAAACAAAAHNjcmlwdHMvUEsDBAoAAAAIAGBoIV3
- Why
- No further detail recorded for this rule.
- Fix
- —
Tools it exposes
5 declared in source · 0 destructive
| Tool | What it does | Risk |
|---|---|---|
demo | demo skill | read |
demo-skill | a demo skill | read |
get_weather | get weather | read |
kb_chat | Ask the knowledge base directly and get a complete, domain-tuned answer from a specialized RAG pipeline | read |
kb_search | Semantic search over a Bailian knowledge base. Returns raw knowledge chunks with scores and source | read |
Safer alternatives
graphlit/graphlit-mcp-server
Model Context Protocol (MCP) Server for Graphlit Platform
langchain-ai/langchainjs-mcp-adapters
** THIS REPO HAS MOVED TO https://github.com/langchain-ai/langchainjs/tree/main/libs/langchain-mcp-adapters ** Adapters for integrating Model Context Protocol (MCP) tools with LangChain.js applications, supporting both stdio and SSE transports.
oxylabs/oxylabs-mcp
Official Oxylabs MCP integration
Audit history
- ✕BLOCK F 42 / 100
Score 40 -> 42 ·
ca58ac0dbb16 - ✕BLOCK F 40 / 100
First audit ·
e01cfc029808
README badge
Badges show the current verdict, BLOCK included
A badge cannot be hidden by the maintainer while the verdict is BLOCK. Fix the findings, push, and the re-audit updates it.
Questions about cli MCP server
What is the cli MCP server?
What tools does cli expose?
Is cli safe to connect to an agent?
What credentials does cli need?
How does cli run?
How current is this page?
Which Cli MCP server is the right one?
I already installed cli. What should I do?
Can the verdict change?
Sources
- modelstudioai/cli on GitHub — the source we read, its licence, stars and activityObserved · 3 Oct 2026
- ModelsAtlas trust audit — BLOCK verdict for commit ca58ac0dbb16Observed · 3 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What is the cli MCP server?
- What tools does cli expose?
- Is cli safe to connect to an agent?