✦ Mipham CodeBLOCK
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Multi-model open-core intelligent coding terminal MiphamAI | One Mipham Corporation | mipham.ai
Mipham Code is an open-core, multi-model intelligent coding terminal built with Bun + React/Ink for CLI and Next.js for web. It supports Anthropic Claude, OpenAI GPT, DeepSeek, Qwen, and MiphamAI models through a unified interface with SSE streaming, tool execution, and an extensible skills system.
Features
- Multi-Model: Connect to Claude, GPT, DeepSeek, Qwen, and MiphamAI models
- Open-Core: Apache 2.0 licensed — free and open-source
- 31 Built-in Tools: File ops, shell commands, git, web search, MCP protocol, agents
- Skills System: 28 built-in skills (22 standard + 6 Mipham exclusive) + marketplace
- Streaming: Real-time SSE streaming with tool use support
- Fast: Built on Bun runtime, sub-millisecond tool execution
Quick Start
Prerequisites
- Bun 1.2+ (recommended) or Node.js 22+
- macOS, Linux, or WSL2
Install
⚠️ 从 0.85.0 及更早版本升级:请先别用 `mipham update` 0.84.0 及更早版本给安装步骤挂了 10 分钟超时,而这个包有 84 MB / 6,601 个文件 —— 慢网络(国内直连 npm 常常超过 10 分钟)下,计时器会在安装中途杀掉 npm,留下 「旧版本已删、新版本没写完」:机器上连一个 `mipham` 都没有,连你用来重试的mipham update也一起没了。/upgrade同理。 请改用下面方式一或方式二升级 —— 由 npm 直接在你的终端里执行,不设超时,装得再慢也不会被砍。 升到 0.85.1 后mipham update可以正常使用:不再带超时;装前快照、装后实跑 launcher 自证、 失败自动回滚;安装窗口内按 Ctrl-C 也不会再打断安装(该窗口内 Ctrl-C 会被忽略,要中断请另开 一个终端杀进程)。
方式一:官方一键安装脚本(推荐)
curl -fsSL https://mipham.ai/install.sh | bash
方式二:npm 全局安装
npm install -g @miphamai/cli
方式三:Homebrew(仅 macOS)
brew install mipham
注意:Homebrew formula 正在审核中。目前建议使用方式一或方式二安装。 公式文件:infrastructure/brew/mipham.rb验证安装
mipham --version # → @miphamai/cli v0.85.22
Run
export ANTHROPIC_API_KEY="sk-ant-..." # 至少配一家 provide
a669331248caOBSERVED · 2026-10-12Connect
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 shared --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env ANTHROPIC_KEY=${ANTHROPIC_KEY} --env BRAVE_API_KEY=${BRAVE_API_KEY} --env DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY} -- npx -y @mipham/[email protected]{
"mcpServers": {
"shared": {
"command": "npx",
"args": [
"-y",
"@mipham/[email protected]"
],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"ANTHROPIC_KEY": "${ANTHROPIC_KEY}",
"BRAVE_API_KEY": "${BRAVE_API_KEY}",
"DEEPSEEK_API_KEY": "${DEEPSEEK_API_KEY}"
}
}
}
}Exposed tools (89)
73 read · 14 write · 2 destructive. Blast radius: 2 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
Agent | read | Launch a sub-agent to handle complex, multi-step tasks independently. |
Artifact | write | Create an interactive HTML or SVG artifact that opens in the browser. Use for dashboards, visualizations, reports, and interactive demos. Content must be self-contained — no external CDN references. |
Bash | write | Execute a bash command. Returns stdout and stderr. Timeout: 120s. Use with caution. |
ComputerUse | read | Take screenshots, launch apps, or control a browser. Always requires user approval. |
Config | write | Read or update Mipham Code configuration. |
CronCreate | write | Schedule a prompt to be enqueued at a future time. Uses standard 5-field cron in local timezone. |
CronDelete | read | Cancel a cron job previously scheduled with CronCreate. Removes from ~/.mipham/cron/. |
CronList | read | List all cron jobs scheduled via CronCreate, both durable and session-only. |
CustomPluginTool | read | plugin |
CustomTool | read | a plugin tool |
Debug | read | Debug tool |
Edit | write | Perform exact string replacement in a file. |
EnterPlanMode | read | Enter plan mode — a read-only mode for analysis and design. |
EnterWorktree | write | Create an isolated git worktree for parallel development. |
ExitPlanMode | read | Exit plan mode and present your plan for user approval. |
ExitWorktree | destructive | Remove a git worktree created by EnterWorktree. |
Git | destructive | Execute git commands. Dangerous operations (force push, hard reset) are blocked. |
Glob | read | Find files matching a glob pattern. |
Grep | read | Search file contents using ripgrep (rg) — the recommended code search tool. |
ListAgents | read | Discover active Mipham Code sessions running on this machine. |
MCP | read | Interact with MCP (Model Context Protocol) servers. Call tools on connected MCP servers via JSON-RPC 2.0 over stdio. |
Memory | write | Read, write, list, and search persistent memory files in ~/.mipham/memory/. |
Plan | read | Enter plan mode — read-only analysis and design. Creates a structured plan file in .mipham/plans/. |
ProbeTool | read | counts its own invocations |
Read | read | Read a file from the local filesystem. Supports offset and limit for large files. |
ReportFindings | read | Report code-review findings as a typed list. |
SendMessage | write | Send a message to another agent or session. |
Skill | write | Execute a skill (.SKILL.md or .mipham-skill.md) by name. Skills extend AI capabilities with specialized instructions. |
Task | write | Create and manage structured task lists for tracking progress. |
ToolSearch | read | Search available MCP server tools by name or description. |
WebFetch | read | Fetches a URL, converts the page to markdown. HTTP is upgraded to HTTPS. Cross-host redirects are returned to the caller. Responses are cached for 15 minutes per URL. |
WebSearch | read | Search the web via Brave Search API. Returns result blocks with titles, URLs, and descriptions. Set BRAVE_API_KEY to enable. |
Workflow | write | Execute a workflow script that orchestrates multiple subagents deterministically. |
Write | write | Write a file to the local filesystem. Overwrites if one exists. You must have Read the file before overwriting it — this prevents accidental data loss. |
a | read | A |
add | write | Add two numbers |
alpha | read | First skill |
anchor-test | read | test |
approach-a | read | MVP-first |
approach-b | read | risk-first |
audit | read | Security audit: fan-out per file → verify → report |
b | read | B |
beta | read | Second skill |
broken | read | test |
click | read | Clicks an element |
codebase-design | read | Design codebase architecture |
compacty | read | |
custom | read | custom agent |
custom-reward | read | test |
custom-tool | read | A tool |
db-explorer | read | Database exploration — SQL generation, schema analysis, query optimization |
debug-loop | read | Debug failures |
demo | read | a demo workflow |
do-thing | read | Does a thing |
echo | read | Echo |
eli5 | read | Explain like 5 |
ext-skill | read | External skill |
grill-me | read | |
healthy | read | test |
hunt | read | Bug hunt: loopUntilConvergence + adversarial verify |
i18n | read | Internationalization helper — translation, locale detection, i18n key management |
judge | read | Judge panel: N competing approaches × M judges → winner + synthesis |
mcp__test-srv__echo | read | existing |
mechanism-sentinel | read | 冻结契约评当前仓库机制代码(无 LLM) |
migrate | read | Code migration: discover → fan-out transform → verify → integrate |
my-skill | read | My custom skill |
no-desc | read | Does a thing |
noisy | read | y |
notebooklm | read | Google NotebookLM integration — citation-backed Q&A, content generation, 31 tools |
noversion | read | No version |
om | read | M |
om-external | read | External mipham skill |
om-test | read | Mipham exclusive skill |
plugin-dev | read | Plugin development toolkit — scaffolding, testing, and build utilities |
probe | read | Tool: probe |
read | read | Read a file |
reader | read | read only |
research | read | Deep research: scope → parallel search → verify → synthesize |
review | read | Code review: fan-out per dimension → judge panel → report |
scout | read | reading files |
search_graph | read | |
security-review | read | Security audit skill — vulnerability scanning |
security-scanner | read | Enhanced security scanning — dependency audit, SAST, secret detection |
std | read | S |
task-performance | read | LLM 生成 + 冻结测试评 skill/通用任务 |
test-agent | read | |
test-skill | read | A test skill |
tester | read | |
write | write | Write file |
Trust audit
BLOCKgrade F · trust 16/100 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 | FAIL |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (14 observation(s))
- Network
- declared (15 observation(s))
- Shell
- declared (9 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
"content": "sk-ant-api03-abcdefghijklmnopqrstuvwxyz123456",
payload.ts
exec(cmd, { timeout: 3000 }, (err, stdout) => {exec(cmd, () => {throw new Error('eval() is disabled in workflow sandbox.')throw new Error('new Function() is disabled in workflow sandbox.'){ path: '**/.aws/credentials', mode: 'full' },{ path: '**/.aws/config', mode: 'full' },{ path: '**/.ssh/id_*', mode: 'full' },{ path: '**/.netrc', mode: 'full' },~/.ssh ... WebSocket
if (host === '169.254.169.254' || host === 'metadata.google.internal') {// illegal per URL syntax, yet `postgres://user:p@ss@host` is exactly how people
| Multi-turn jailbreak | Gradual erosion across conversation turns | MEDIUM |
regex: /ignore\s+(all\s+)?(previous|prior|above)\s+(instructions?|prompts?)/i,
gradle-wrapper.jar
console.log(`Token rotated successfully.`)
console.log(` Old token: ${oldTokens[0]?.slice(0, 16) ?? 'none'}...`)console.log(` New token: ${newToken.slice(0, 16)}...`)console.log(` Full token: ${newToken}`)console.log(` ⚠️ A running daemon still ACCEPTS the old token until it restarts.`)
name: 'Data Exfiltration',
console.log(` URL: http://127.0.0.1:${status.port}`)const resp = await fetch(`http://127.0.0.1:${port}/api/v1/sessions`)const baseUrl = `http://127.0.0.1:${port}`Gates applied: critical_finding, instruction_override, no_behavioural_pass.
a669331248cafull audit observations/trust-audit/mcp-server/one-mipham__mipham-code.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | a669331248ca | BLOCK | F | 16 | first audit |
Questions
What tools does @miphamai/cli expose?
89 in total: 73 read-only, 14 that write, and 2 that can delete or overwrite (ExitWorktree, Git). Every one is listed on this page with its risk.
Is @miphamai/cli safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (16/100) and found 15 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 2 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does @miphamai/cli need?
It reads ANTHROPIC_API_KEY, ANTHROPIC_KEY, BRAVE_API_KEY, DEEPSEEK_API_KEY, DINGTALK_CLIENT_SECRET, EMPTY_KEY, FEISHU_APP_SECRET, FEISHU_ENCRYPT_KEY, FEISHU_VERIFICATION_TOKEN, MIPHAM_HOOK_PROBE_API_KEY, MISSING_KEY and OPENAI_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 current is this page?
The grade is for one exact copy of the source (a669331248ca), read on 2026-10-12. The repository is watched and re-audited when it changes.