Atlas / MCP servers / ducan-ne / Opencoder

OpencoderBLOCK

mcp/ducan-ne/opencoder

The Claude Code alternative

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
2 0r · 1w · 1d
Transport
—
License
Apache-2.0
Stars
389
01

Overview

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

Try it out:

npx opencoder@latest
bunx opencoder@latest

Or try the beta channel:

npx opencoder@next

Overview

  • Complete Claude Code replacement with similar UI and UX
  • Built on top of the Vercel AI SDK. Fully compatible with the AI SDK model.
  • Supports any LLM providers that the AI SDK supports (OpenAI, Anthropic, Google, etc.)
  • Cross-platform shell: which means supports Windows, Linux, and MacOS.
  • High performance: 60 FPS UI rendering, powered by React concurrent rendering, React Compiler
  • Add custom tools to OpenCoder in 1 step (with custom UI)

Demo

Youtube clone

https://github.com/user-attachments/assets/67c52f00-7c54-404d-b1e2-244312f0094a

Features

1. Built on top of the Vercel AI SDK

OpenCoder is built on top of the Vercel AI SDK. It is fully compatible with the AI SDK model, any official or community model supported by the AI SDK will work with OpenCoder:

import { ollama } from 'ollama-ai-provider'; // read more: https://sdk.vercel.ai/providers/community-providers/ollama
import type { Config } from 'opencoder';

export default {
model: ollama('qwq'),
} satisfies Config

2. MCP makes it easy

Integrate powerful MCP capabilities into your workflow in 1 step. OpenCoder provides ready-to-use MCP tools that can be implemented with just a few lines of code:

import { playwright } from 'opencoder/mcp';

export default {
mcp: [playwright()],
} satisfies Config

More examples:

  • Create MCP tools
  • Playwright example

3. Cross-platform shell

OpenCoder has a cross-platform shell that supports Windows, Linux, and MacOS. Powered by Deno shell

Available tools

  • Read file
  • Write file
  • Edit file
  • Think
  • Memory edit
  • Memory read
  • Planning
  • Grep: powered by @vscode/ripgrep
  • Check diagnostics (currently onl
Read from source at commit 6c49092f6918OBSERVED · 2026-10-01
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 opencoder -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "opencoder": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (2)

0 read · 1 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
cleardestructiveClear chat history
syncwriteSync codebase to the codebase index, stored in .coder/embeddings
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

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

What the source does

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

Findings (12)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
src/bundled/treesitter.js:3164
ASM_CONSTS[start] = eval(func)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
src/bundled/treesitter.js:3187
moduleExports[name] = eval(func)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMInventory / provenance · inv.binary · CWE-1104
public/assets/yoga.wasm
yoga.wasm
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
clear
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.augment-guidelines
.augment-guidelines
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.oxlintrc.json
.oxlintrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/components/auto-updater.tsx:12
import pkg from "../../package.json" with { type: "json" }
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/chat/1.test.ts:5
import type { AppContextType } from "../../src/app/context.js"
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/chat/3.test.tsx:5
import type { AppContextType } from "../../src/app/context.js"
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/chat/3.test.tsx:6
import { autoAcceptToolsAtom } from "../../src/lib/store/tool-confirmation.js"
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/chat/typescript-diagnostics.test.ts:7
import { env } from "../../src/lib/env.js"
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@ai-sdk/anthropic, @ai-sdk/google, @ai-sdk/openai, @ai-sdk/openai-compatible, @lancedb/lancedb, linkedom, ai, cli-boxes
Why it matters. 78 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-01 · audit v0.4.1 · source sha 6c49092f6918full audit observations/trust-audit/mcp-server/ducan-ne__opencoder.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-016c49092f6918BLOCKD69first audit
06

Questions

What is the Opencoder MCP server?

The Claude Code alternative

What tools does Opencoder expose?

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

Is Opencoder safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 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: 1 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Opencoder need?

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

How current is this page?

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

Advertisement