cli
BLOCKgrade F · trust 40/100Official Model Studio CLI(阿里云百炼 CLI)built for AI Agent frameworks, exposing models, search, multimodal, and workflow capabilities as structured tool calls.
ai agentai clialiyunbailianclicommand line tooldashscopellm toolsOverview
From the repository's own README, as read at the audited commit.
<div align="center"><img src="https://img.alicdn.com/imgextra/i1/O1CN01kGgO3z1N30OINgUoG_!!6000000001513-2-tps-1915-821.png" alt="Aliyun Model Studio CLI" />**The official command-line interface for Aliyun Model Studio (DashScope) AI Platform**[](https://www.npmjs.com/package/bailian-cli)[](https://nodejs.org)[](https://www.typescriptlang.org)[](LICENSE)[Aliyun Model Studio CLI Site](https://bailian.console.aliyun.com/cli?source_channel=cli_github&) · [中文文档](https://github.com/modelstudioai/cli/blob/main/README.zh.md) · [API Documentation](https://help.aliyun.com/zh/model-studio/) · [Get API Key](https://bailian.console.aliyun.com/cn-beijing/?source_channel=key_github&tab=app#/api-key)---_Chat with Qwen, generate and edit images and videos, understand images, synthesize__and recognize speech, call apps, manage memory, retrieve knowledge, search the web —__every AI capability, one command away.__Built for AI Agents. Every command works as a structured tool call._</div>## Features- **Model generation** — Full-modality generation across text, image, video, and speech, with editing and reference-based generation- **Asset understanding** — Parse and ask questions about images, documents, audio, and long videos- **App orchestration** — Call Managed Agents, agents, and workflows published on Aliyun Model Studio, wired to knowledge bases, memory, web search, and MCP tools- **Training & deployment** — Validate and upload datasets, fine-tune models, deploy dedicated models as endpoints- **Account operations** — Login, UI-based configuration, model marketplace, usage and quota, rate-limit increases, team seat management- **Plan onboarding** — Connect subscription plans such as Token Plan to the CLI a
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. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add bailian-cli-runtime --env ALIBABA_CLOUD_ACCESS_KEY_ID=${ALIBABA_CLOUD_ACCESS_KEY_ID} --env ALIBABA_CLOUD_ACCESS_KEY_SECRET=${ALIBABA_CLOUD_ACCESS_KEY_SECRET} --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env ARK_API_KEY=${ARK_API_KEY} -- npx -y [email protected]{
"mcpServers": {
"bailian-cli-runtime": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "${ALIBABA_CLOUD_ACCESS_KEY_ID}",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "${ALIBABA_CLOUD_ACCESS_KEY_SECRET}",
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"ARK_API_KEY": "${ARK_API_KEY}"
}
}
}
}Exposed tools (5) 5 read · 0 write · 0 destructive
| Tool | Risk | Description |
|---|---|---|
demo | read | demo skill |
demo-skill | read | a demo skill |
get_weather | read | get weather |
kb_chat | read | Ask the knowledge base directly and get a complete, domain-tuned answer from a specialized RAG pipeline |
kb_search | read | Semantic search over a Bailian knowledge base. Returns raw knowledge chunks with scores and source |
Details
- Source
- modelstudioai/cli
- npm
bailian-cli-runtime@1.25.0- Transports
- streamable-http
- Credentials it reads
ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRETANTHROPIC_API_KEYARK_API_KEYBAILIAN_E2E_OSS_KEYDASHSCOPE_API_KEYQODER_API_KEY- License
- Apache-2.0
- Stars
- 331 · pushed 0d ago
Trust audit
Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (3 observation(s))
- Network
- declared (9 observation(s))
- Shell
- declared (7 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
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
const fn = new Function("args", `return (${code})`);const fn = new Function("args", code);- 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
- 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.
const url = new URL(req.url ?? "/", "http://127.0.0.1");
const u = new URL(req.url ?? "/", "http://127.0.0.1");
const u = new URL(req.url ?? "/", "http://127.0.0.1");
const env = makeConfigEnv({ api_key: "sk-e2e-before-logout" });.dataset-cpt-valid.jsonl
.dataset-dpo-invalid.jsonl
.dataset-dpo-valid.jsonl
.dataset-invalid.jsonl
.dataset-valid.jsonl
CLAUDE.md
const contentMd5 = createHash("md5").update(fileBuffer).digest("base64");device_id: N.a.createHash("md5").update(E()).digest("hex"),const contentMd5 = body ? createHash("md5").update(body).digest("base64") : "";import { commands } from "../../src/commands.ts";const repositoryRoot = join(dirname(fileURLToPath(import.meta.url)), "../../..");
const repositoryRoot = join(dirname(fileURLToPath(import.meta.url)), "../../..");
readPlaygroundVersion(resolve(dirname(monorepoBinary), "../../package.json")) ===
import { displayValue } from "../../_engine/api-helpers.ts";- `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
- `bl` 现在会读取 `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` 环境变量(#35)。Node 内置的 `fetch`(undici)默认忽略代理环境变量,导致 VPN 或公司代理下出现 `ECONNRESET`。现已在启动时根据这些变量安装全局代理 dispatcher,并在 `ECONNRESET` 报错提示中给出 `export HTTPS_PRO
Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.
Audited 2026-09-15 · audit v0.4.0 · source sha e01cfc029808 · full audit: observations/trust-audit/mcp-server/modelstudioai__cli.json · Report an issue or request a re-scan
Audit history
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-15 | e01cfc029808 | BLOCK | F | 40 | first audit |
Alternatives
Other servers in the same categories, safer ones first.
Questions
What is the cli MCP server?
Official Model Studio CLI(阿里云百炼 CLI)built for AI Agent frameworks, exposing models, search, multimodal, and workflow capabilities as structured tool calls.
What tools does cli expose?
5 in total: 5 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is cli safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (40/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does cli need?
It reads ALIBABA_CLOUD_ACCESS_KEY_ID, ALIBABA_CLOUD_ACCESS_KEY_SECRET, ANTHROPIC_API_KEY, ARK_API_KEY, BAILIAN_E2E_OSS_KEY, DASHSCOPE_API_KEY and QODER_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does cli run?
It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as bailian-cli-runtime at 1.25.0.
How current is this page?
The grade is for one exact copy of the source (e01cfc029808), read on 2026-09-15. The repository is watched and re-audited when it changes.
Provenance: OBSERVED · read 2026-09-15 · job trust-audit-2026-09-15