unfour
Local-first backend developer workspace exposing API debugging, SSH, database, workspace, and diagnostics tools to AI agents through a local MCP server
README
<div align="center">
Unfour
A local-first desktop workspace for backend developers that combines API debugging, SSH terminals, and database management — and exposes them to your AI agent through a local MCP server.

</div>
Built with Codex & GPT-5.6
Codex was used to review the Rust and TypeScript architecture, implement and refactor Tauri commands, add tests, and investigate build failures and MCP process lifecycle issues.
GPT-5.6 helped design AI-assisted backend troubleshooting workflows, analyze SSH and database permission boundaries, refine MCP tool design, and plan the project architecture and release process.
Codex is also more than a development tool for Unfour: through the Unfour MCP server, it can use API, SSH, and database capabilities to reproduce an API issue, inspect service logs, query the database, correlate the evidence, and identify the root cause.
Sensitive operations remain under developer control. Workspace scope, credential handling, host trust, confirmations, and tool permissions constrain what Codex can access and execute; connecting Codex does not grant unrestricted access by default.
[!WARNING] The source tree is preparing the Community Stable
v0.5.0release. It is unsigned and still requires release verification; installers may trigger SmartScreen or other operating-system security warnings.
Download
Download published builds from GitHub Releases.
The latest stable release is v0.4.0;
v0.5.0 will appear there after the release is published.
- Windows: NSIS
.exeinstaller. - macOS and Linux packages are experimental and unverified until real-device smoke checks are recorded; do not treat them as supported or verified yet.
- Verify downloaded installers with the release
SHA256SUMS.txtasset.
What Is Unfour?
Unfour is a local-first desktop workspace for backend and operations work. It keeps API requests, SSH connections, database connections, local activity, and workspace layout in one local-first application, and exposes those capabilities to your AI agent through a local MCP server. This foundation supports AI-assisted troubleshooting workflows across those tools.
The app is built with Tauri 2, React, TypeScript, and Rust. The frontend owns the workbench UI, while security-sensitive execution such as HTTP, SSH, database drivers, local storage, and credential references lives behind Rust capability crates and the command bus.
Modules
- API Client - Compose and send HTTP requests, organize saved requests into collections and folders, resolve shared workspace variables, inspect response body/headers/cookies/timing, run saved pre-request and post-response scripts, review script tests and console output, and keep redacted history.
- SSH Terminal - Manage SSH connections and terminal sessions (split panes, search, clipboard context menu, persistent redacted command history and typing suggestions, host-key trust, redacted logs), browse and transfer remote files over SFTP, and automate multi-step SSH tasks (command, upload, download) from the Connections / Files / Tasks sidebar.
- Database - Manage database connections, browse schemas, run SQL with confirmation-aware safety checks (including multi-statement Run Current / Run All), preview and edit table rows, and review query output.
- Workspace - Scope saved requests, shared environments/variables, connections, activity, tabs, and layout state to a local workspace, with title-bar active-environment switching.
- MCP integration for Codex-powered API, SSH, and database debugging - Expose safe local diagnostic tools to MCP clients (such as Codex, Claude Code, or Cursor) through the same command bus used by the desktop app, so your AI agent can work with the same API, SSH, and database context.
Screenshots
App overview — sidebar with module switcher and the API Client workspace

API Client — request builder with params, auth, headers, body, and response

SSH Terminal — connections, sessions, remote files, and tasks

Database — schema browsing and SQL query output

Local Development
Requirements:
- Node.js and pnpm.
- A stable Rust toolchain.
- Tauri 2 prerequisites for your operating system.
Install and run:
pnpm install
pnpm tauri dev
pnpm install also installs Git hooks through lefthook. A commit formats staged
Rust files with cargo fmt and auto-fixes staged TypeScript with ESLint.
Skip once with LEFTHOOK=0 git commit.
Common commands:
pnpm tauri build # create local Stable-channel Tauri bundles
pnpm tauri build:test # create isolated Test-channel Tauri bundles
pnpm run build # build the desktop frontend only
pnpm run check # frontend build + Rust check + large-file check
pnpm run lint # ESLint
pnpm run test # frontend unit tests (Vitest)
pnpm run test:e2e # Playwright smoke tests
pnpm run check:rust # cargo check --workspace
pnpm run check:rust:ssh # cargo check with the ssh-native feature
pnpm run test:rust # cargo test --workspace
pnpm run test:release-env # release/channel contract unit tests
Run commands from the repository root unless a package document says otherwise.
pnpm tauri dev defaults to the Test release channel, while local
pnpm tauri build defaults to Stable. Use pnpm tauri build:test for an
isolated Test-channel bundle. Set UNFOUR_STORAGE_PROFILE=dev when development
data should use ~/.unfour-dev; this storage override is independent from
release identity. Only CI should create formal publishable Stable artifacts,
with UNFOUR_RELEASE_CHANNEL=stable and an exact UNFOUR_BUILD_COMMIT.
Project Layout
| Path | Role |
|---|---|
apps/desktop |
Tauri/Vite desktop app entry and Tauri adapter layer. |
packages/app-shell |
Global shell composition and module mount slots. |
packages/api-client |
API Client frontend module. |
packages/ssh-terminal |
SSH Terminal frontend module. |
packages/database |
Database frontend module. |
packages/workspace-core |
Shared frontend workspace state. |
packages/workspace-environments |
Workspace environments and variables management UI. |
packages/workspace-local |
Reserved local workspace lifecycle boundary. |
packages/ui |
Shared UI primitives and stateless layout helpers. |
packages/command-client |
Typed Tauri command wrappers and frontend command types. |
crates/* |
Rust backend capability crates and adapters. |
See docs/architecture/project-structure.md for the full package and crate
map.
Release Status
The source tree is preparing Community Stable v0.5.0; the latest published
stable version is v0.4.0. Release readiness is documented in:
docs/testing/release-verification.mddocs/testing/manual-test-cases.mddocs/release/release-checklist.mddocs/release/distribution.mddocs/release/signing.md
Windows distributes an NSIS .exe installer. Installers are unsigned and may
trigger SmartScreen. macOS and Linux remain experimental/unverified until
real-device smoke checks are complete. Do not claim a release check passes
unless it was run successfully for the target platform or is backed by current
repository evidence.
Documentation
AGENTS.md- repository rules for coding agents.docs/agents/START_HERE.md- scoped onboarding path for AI agents.docs/architecture/package-boundaries.md- package ownership and forbidden dependency directions.docs/architecture/project-structure.md- repository, package, crate, and call-chain map.docs/architecture/data-storage.md- workspace data, SQLite, credential references, and local activity rules.docs/architecture/diagnostics.md- local structured logs, redaction, retention, diagnostic bundles, and developer logging guidance.docs/architecture/security-model.md- security posture, redaction, host-key policy, and dangerous-action rules.docs/mcp/overview.mdanddocs/mcp/tools.md- local MCP server behavior.docs/testing/release-verification.md- release verification matrix.docs/release/release-checklist.md- public release checklist.docs/user/USER_GUIDE.md- user-facing workflow guide.
Contributing
Please read CONTRIBUTING.md, CODE_OF_CONDUCT.md, and the package boundary
rules in AGENTS.md before opening a pull request.
Security issues should be reported through SECURITY.md, not a public issue.
License
Licensed under the Apache License 2.0.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。