drebBLOCK
Provider-agnostic agentic coding harness. Desktop and Mobile web app for fleet management. Semantic search and end-to-end development workflows baked in.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
dreb is a hackable, open-source terminal coding agent and agent runtime for people who want to own their AI development workflow. It gives you a practical coding assistant today — tools, sessions, memory, model switching, subagents, and a polished TUI — while keeping the core flexible enough to reshape with skills, extensions, packages, custom providers, and alternate frontends. Its web dashboard puts every agent session in the browser: start work at your desk, steer it from your phone.
Use dreb if you want a coding agent that can run against direct APIs, coding subscriptions, proxies, cloud providers, local models, or your own provider code; if you want workflows such as issue-to-merge automation and multi-agent review to be inspectable and replaceable; or if you want an agent runtime you can embed in a CLI, an RPC process, an SDK integration, a web dashboard, or a Telegram bot.
Why choose dreb?
- Every session, on every device. The web dashboard is a first-party browser UI for the same sessions the terminal runs: a fleet overview of all live and past sessions across projects, full chat with steering, live subagent observability, host file access, dreb memory management, and settings — one synchronized state on desktop and mobile. Local-only by default; remote access is Tailscale-gated with device pairing.
- Model and provider freedom. Authenticate with API keys or
/loginsubscriptions, switch models at runtime with/model, scope model sets, and tune model-aware thinking levels throughxhighplus a model-awaremaxtier. Codexultrais orchestration (maxplus local multi-agent work), not a raw provider effort. Route built-in providers through proxies, use cloud providers such as Bedrock/Vertex/Azure, or add local/proxy/custom models through Custom Models and Custom Providers. See [Providers](packages/coding-agent/docs/providers
b0f15cf84acfOBSERVED · 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 tui --env AI_GATEWAY_API_KEY=${AI_GATEWAY_API_KEY} --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env ANTHROPIC_OAUTH_TOKEN=${ANTHROPIC_OAUTH_TOKEN} --env AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} -- npx -y @dreb/[email protected]{
"mcpServers": {
"tui": {
"command": "npx",
"args": [
"-y",
"@dreb/[email protected]"
],
"env": {
"AI_GATEWAY_API_KEY": "${AI_GATEWAY_API_KEY}",
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"ANTHROPIC_OAUTH_TOKEN": "${ANTHROPIC_OAUTH_TOKEN}",
"AWS_ACCESS_KEY_ID": "${AWS_ACCESS_KEY_ID}"
}
}
}
}Exposed tools (66)
55 read · 9 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 |
|---|---|---|
Entry | read | Test entry |
Explore | read | factual research |
TestAgent | read | test |
arbiter-a | read | research |
arbiter-b | read | implementation |
broken-skill | read | A skill pointing to a nonexistent file. |
buddy | read | Hatch or manage your terminal companion (pet, reroll, off) |
calculate | read | Evaluate mathematical expressions |
calculator | read | Perform basic arithmetic operations |
clear | destructive | Clear all messages |
compact | read | Manually compact the session context |
copy | read | Copy last agent message to clipboard |
custom-skill | read | A custom skill |
delete | destructive | Delete the last message |
deploy | write | Deploy the application |
disable-model-invocation | write | A skill that cannot be invoked by the model. |
dollar-zero-lookahead | read | Tests that $0 negative lookahead does not match $00 or $01. |
double_number | read | Doubles a number and returns the result |
dream | write | Consolidate and prune memories (backup, merge, scan sessions) |
dummy | read | Dummy tool |
duplicate-tool | read | First |
echo | read | Echoes the message back |
export | read | Export session (HTML default, or specify path: .html/.jsonl) |
faux_images | read | Returns faux tool-result images |
feature-dev | read | implementation |
fork | write | Create a new fork from a previous message |
get_circle | read | Returns a circle image for visualization |
get_circle_with_description | read | Returns a circle image with a text description |
get_current_time | read | Get the current date and time |
get_status | read | Get current status |
help | read | Show help |
hidden-skill | read | A hidden skill. |
hotkeys | read | Show all keyboard shortcuts |
import | write | Import and resume a session from a JSONL file |
injected | read | Injected skill |
linkedin_skill | read | Get LinkedIn comments |
login | read | Login with OAuth provider |
logout | read | Logout from OAuth provider |
math_operation | read | Perform basic arithmetic operations |
model | read | Select model (opens selector UI) |
my-skill | read | Custom project instructions |
name | write | Set session display name |
new | write | Start a new session |
not-user-invocable | write | A skill only the agent can invoke. |
ping | read | Ping tool |
plan | read | Make a plan |
quit | read | Quit dreb |
reload | read | Reload keybindings, extensions, skills, prompts, and themes |
resume | read | Resume a different session |
review | read | Extension review |
review-code | read | Review code |
scoped-models | write | Enable/disable models for Ctrl+P cycling |
search | read | Search the codebase using natural language queries. Returns ranked code/doc results using semantic similarity and keyword matching. First query builds the index (may take a moment); subsequent queries are fast. |
session | read | Show session info and stats |
settings | read | Open settings menu |
skill-one | read | First skill. |
skill-two | read | Second skill. |
substitution-test | read | A skill for testing content substitution. |
test | read | test tool |
test-agent | read | Test agent |
test-skill | read | A test skill. |
test_tool | read | A test tool |
thinking-test | read | Thinking override test agent |
tree | read | Navigate session tree (switch branches) |
valid-skill | read | A valid skill for testing. |
visible-skill | read | A visible skill. |
Trust audit
BLOCKgrade F · trust 39/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 | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (7 observation(s))
- Network
- declared (6 observation(s))
- Shell
- declared (3 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
const opensshPrivateKey = /-----BEGIN OPENSSH PRIVATE KEY-----[\s\S]*?-----END OPENSSH PRIVATE KEY-----/g;
new Function("return true;");}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndexthis.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){"~/.ssh/id_*",
"~/.gnupg/private-keys-v1.d/*",
"~/.aws/credentials",
"~/.config/gcloud/credentials.db",
tree-sitter-gdscript.wasm
"[openai-codex] Failed to bind http://127.0.0.1:1455 (","bbbab8b9b9b6b9b8b5bcbbb8b8b7b4b7b5b2b6b5b2b8b7b4b7b6b3b6b4b1bdbcb8bab8b6bbb8b5b8b5b1bbb8b4c2bebbc1bebac0bdbabfbcb9c1bebabfbebbc0bfbcc0bdbabbb8b5c1bfbcbfbcb8bbb9b6bfbcb8c2bfbcc1bfbcbfbbb8bdb9b6b8b7b5b
const s = streamAnthropic(model, context, { apiKey: "tid_copilot_session_test_token" });apiKey: "tid_copilot_session_test_token",
const s = streamAnthropic(model, context, { apiKey: "sk-ant-oat-test-token" });const s = streamAnthropic(model, context, { apiKey: "sk-ant-oat-explicit-bearer" });apiKey: "COMPANY_ANTHROPIC_TOKEN",
const token = "ghp_ABCDEFghijklmnop1234567890abcdefghij";
const token = "ghs_ABCDEFghijklmnop1234567890abcdefghij";
const token = "gho_ABCDEFghijklmnop1234567890abcdefghij";
const token = "ghr_ABCDEFghijklmnop1234567890abcdefghij";
"GITHUB_TOKEN=ghp_ABCDEFghijklmnop1234567890abcdefghij",
const pem = `-----BEGIN RSA PRIVATE KEY-----
const pem = `-----BEGIN EC PRIVATE KEY-----
const pem = `-----BEGIN PRIVATE KEY-----
const key = `-----BEGIN OPENSSH PRIVATE KEY-----
Gates applied: critical_finding, no_behavioural_pass.
b0f15cf84acffull audit observations/trust-audit/mcp-server/aebrer__dreb.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 | b0f15cf84acf | BLOCK | F | 39 | first audit |
Questions
What is the @dreb/semantic-search MCP server?
Provider-agnostic agentic coding harness. Desktop and Mobile web app for fleet management. Semantic search and end-to-end development workflows baked in.
What tools does @dreb/semantic-search expose?
66 in total: 55 read-only, 9 that write, and 2 that can delete or overwrite (clear, delete). Every one is listed on this page with its risk.
Is @dreb/semantic-search safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (39/100) and found 8 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 @dreb/semantic-search need?
It reads AI_GATEWAY_API_KEY, ANTHROPIC_API_KEY, ANTHROPIC_OAUTH_TOKEN, AWS_ACCESS_KEY_ID, AWS_BEARER_TOKEN_BEDROCK, AWS_BEDROCK_SKIP_AUTH, AWS_CONTAINER_CREDENTIALS_FULL_URI, AWS_CONTAINER_CREDENTIALS_RELATIVE_URI, AWS_SECRET_ACCESS_KEY, AWS_WEB_IDENTITY_TOKEN_FILE, AZURE_OPENAI_API_KEY and CEREBRAS_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 @dreb/semantic-search run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @dreb/tui at 2.71.0.
How current is this page?
The grade is for one exact copy of the source (b0f15cf84acf), read on 2026-10-12. The repository is watched and re-audited when it changes.