1. Conduid
  2. Developer Tools
  3. Joysafeter
MCP server · Developer Tools

Joysafeter

🚀 JoySafeter: An enterprise AI Agent Platform—Not just chatting. building、running、testing, and tracing autonomous Agent Teams with visual orchestration...

Unclaimed Apache-2.0 devtools
77Good

Scored 3 days ago · breakdown

About Joysafeter

Joysafeter is an MCP server published by jd-opensource in the Developer Tools category: 🚀 JoySafeter: An enterprise AI Agent Platform—Not just chatting. building、running、testing, and tracing autonomous Agent Teams with visual orchestration...

The repository has 314 stars and 57 forks, with the last commit a month ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/jd-opensource/JoySafeter

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Joysafeter

Powered by Claude · Grounded in docs

I know everything about Joysafeter. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

1 check has not been run yet.

Releases

v1.0.0Release v1.0.0 · 2 Jul 2026What's Changed See CHANGELOG.md for details.
v0.3.2Release v0.3.2 · 13 Apr 2026What's Changed Features 添加版本信息展示功能,并接入 bump-version.sh 版本管理体系 (#125) Agent 构建错误信息加入 graph_name 和 node_label 上下文,便于用户定位问题 Bug Fixes 修复本地 Ollama 模型在 Agent 工作台报 401 无 API key 的问题 (#127) 修复 Skill 保存时使用 previewData 替代 fileTree 容器路径,并正确去除沙箱路径前缀…
v0.3.1Release v0.3.1 · 8 Apr 2026What's Changed 新功能 Chat 与 Copilot 全面迁入 Run Center 架构,支持运行详情查看、会话恢复与事件回放 解锁深色模式,新增偏好设置面板并重新设计个人资料页面 WebSocket 层统一重构:引入 BaseWsClient 基类,三端 WS 客户端统一生命周期与认证方式 新增 trace_id 全链路追踪传播 添加 Ollama 本地模型供应商一键集成 更新 OpenAI Compatible 供应商为官方标准模型列表…
v0.3.0Release v0.3.0 · 8 Apr 2026What's Changed 新功能 WebSocket 基础架构重构:新增 BaseWsClient 抽象类,统一三端 WebSocket 生命周期管理 Chat 对话接入 Run Center:支持对话运行持久化、断线恢复、心跳保活及概览展示 Copilot 接入 Run Center:支持事件持久化、页面刷新后实时事件回放 解锁深色模式,支持系统/浅色/深色三种主题切换 重新设计个人资料页面,新增偏好设置(语言、主题切换) 添加 Ollama 本地模型供应商一键集成…
v0.2.0v0.2.0 · 31 Mar 2026What's Changed fix: handle missing Tavily API key gracefully to prevent backend startup crash by @skyvast404 in https://github.com/jd-opensource/JoySafeter/pull/67 Custom model by @yuzzjj in…

README


Why JoySafeter

Traditional security tooling hits a ceiling: scripts are brittle, single agents lack context, and complex scenarios require 2–3 engineers working in parallel. JoySafeter breaks that ceiling.

Challenge Traditional Approach JoySafeter
APK vulnerability analysis Manual MobSF + engineer review Autonomous agent: upload → analyze → report
Penetration testing Fixed scripts, static playbooks Dynamic DeepAgents that adapt to findings in real time
Tool integration Custom glue code per tool 200+ tools via MCP Protocol, zero glue
Scale Linear headcount growth Agent teams that multiply capacity

JoySafeter defines a new paradigm: AI-driven Security Operations (AISecOps) — where multi-agent collaboration, cognitive memory, and scenario-matched skills replace manual coordination.


Real-World Cases

Case 1 — APK Vulnerability Detection Agent

Upload an APK. Get an OWASP Mobile Top 10 report. No engineer required.

How it works:

  1. User uploads the APK file
  2. Agent invokes MobSF for static analysis
  3. Extracts critical risk signals — permission abuse, hardcoded secrets, insecure network config
  4. Deep-validates high-severity findings via Frida dynamic instrumentation
  5. Auto-generates a structured report aligned to OWASP Mobile Top 10

The entire flow — from upload to report — requires zero manual intervention, covering work that traditionally takes 2–3 security engineers.


Case 2 — Penetration Testing Agent

Describe the target and scope. The agent plans, executes, and adapts — then delivers a report.

How it works:

  1. Open the Workbench and create a new agent
  2. Enable DeepAgents mode → select penetration testing skills
  3. Provide an authorized target URL and test requirements
  4. Agent runs autonomously — if it discovers a login page, it automatically triggers auth bypass testing
  5. Download the final report when the run completes

Note: Requires sandbox image swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/jd-opensource/joysafeter-sandbox:latest configured in Sandbox Settings.

This dynamic decision-making — where the agent adapts its next step based on what it finds — is what fixed scripts cannot replicate.


Core Capabilities

Visual Agent Builder

  • No-code workflow editor — drag-and-drop nodes with loops, conditionals, and parallel execution
  • Rapid Mode — describe in natural language, get a running agent team in minutes
  • Deep Mode — visual debugging and step-by-step observability for complex security research

200+ Security Tools, Ready to Use

  • Pre-integrated Nmap, Nuclei, Trivy, and more
  • MCP Protocol — extend with any tool via Model Context Protocol
  • 30+ pre-built skills — penetration testing, document analysis, cloud security, and more

DeepAgents Orchestration

  • Manager-Worker multi-level agent collaboration
  • Memory evolution — long/short-term memory for continuous learning across sessions
  • Skill system — versioned, reusable capability units with progressive disclosure
  • LangGraph engine — graph-based workflows with full state management

Enterprise Ready

  • Multi-tenancy — isolated workspaces with role-based access control
  • Full audit trail — execution tracing and compliance governance
  • SSO integration — GitHub, Google, Microsoft, OIDC (Keycloak, Authentik, GitLab), JD SSO
  • Multi-tenant sandbox — per-user isolated code execution, zero state leakage

Quick Start

One-Click Launch (Recommended)

./deploy/quick-start.sh

The script provides an interactive menu to choose your startup mode and customize ports (with conflict detection):

Mode Description Ports Configured
(1) Docker Compose Full Stack All services in containers, supports localhost or remote server IP/domain Frontend, Backend, PostgreSQL, Redis
(2) Local Frontend Only bun run dev, supports connecting to remote backend Frontend (can specify remote backend address)
(3) Local Backend Only uvicorn --reload, supports remote DB/Redis Backend (can specify remote DB/Redis/frontend address)
(4) Local Frontend + Backend Auto-starts middleware, supports exposing via non-localhost address Frontend, Backend

All modes support remote deployment scenarios:

  • Docker Compose Full Stack — choose deployment address (localhost or IP/domain) + http/https
  • Local Frontend Only — optionally connect to a remote backend API (enter backend IP + port + protocol)
  • Local Backend Only — optionally connect to remote PostgreSQL, Redis, and frontend (enter each address and port)
  • Local Frontend + Backend — optionally expose services via a non-localhost address
  • Non-localhost deployments automatically update frontend/.env CSP whitelist (NEXT_PUBLIC_CSP_CONNECT_SRC_EXTRA)
./deploy/quick-start.sh --skip-env       # Skip .env file initialization
./deploy/quick-start.sh --skip-db-init   # Skip database initialization

Launch by Scenario

# ─── Development ────────────────────────────────────────
./deploy/scripts/dev.sh                  # Docker full-stack dev (containerized frontend + backend)
./deploy/scripts/dev-local.sh            # Local dev prep (start middleware, run backend/frontend on host)
./deploy/scripts/dev-backend.sh          # Local backend only (requires middleware running)
./deploy/scripts/dev-frontend.sh         # Local frontend only (requires backend running)

# ─── Production ─────────────────────────────────────────
./deploy/scripts/prod.sh                 # Production deploy (pre-built images + docker-compose.prod.yml)
./deploy/scripts/prod.sh --skip-mcp      # Production without MCP service
./deploy/scripts/prod.sh --skip-pull     # Skip image pull, use local images

# ─── Middleware / Infrastructure ────────────────────────
./deploy/scripts/start-middleware.sh     # Start middleware (PostgreSQL + Redis + MCP)
./deploy/scripts/minimal.sh             # Minimal startup (PostgreSQL + Redis only)
./deploy/scripts/minimal.sh --with-mcp  # Minimal + MCP service
./deploy/scripts/stop-middleware.sh      # Stop middleware

# ─── Test / CI ──────────────────────────────────────────
./deploy/scripts/test.sh                 # Test environment (minimal deps, automation-friendly)

# ─── Install / Check ───────────────────────────────────
./deploy/install.sh                      # Interactive installation wizard (generates config files)
./deploy/install.sh --mode dev --non-interactive  # Non-interactive install
./deploy/scripts/check-env.sh           # Environment preflight (Docker, ports, config files)

# ─── Image Management ──────────────────────────────────
./deploy/deploy.sh build                 # Build frontend + backend images
./deploy/deploy.sh build --all           # Build all images (including OpenClaw)
./deploy/deploy.sh push                  # Build and push to registry
./deploy/deploy.sh pull                  # Pull latest pre-built images

Default Ports

Service Port URL
Frontend 3000 http://localhost:3000
Backend API 8000 http://localhost:8000
API Docs 8000/docs Swagger UI
PostgreSQL 5432 Database
Redis 6379 Cache

Prerequisites: Docker + Docker Compose. See INSTALL.md for detailed installation guide, deploy/PRODUCTION_IP_GUIDE.md for production deployment.


Architecture

Full architecture details: docs/ARCHITECTURE.md

Key design principles:

  • Graph-based execution — every agent workflow is a stateful LangGraph, enabling pause, resume, and branch
  • Unified Run Center — Chat, Copilot, and Skill Creator share a single event-sourced run lifecycle (Run → Event → Snapshot)
  • Unified WebSocket layer — BaseWsClient abstract class; Chat / Run / Notification clients share lifecycle, auth (ws-token), and reconnect logic
  • Full-chain trace_id propagation — contextvars-based request tracing from HTTP/WS entry through LangGraph to persistence
  • Glass-box observability — real-time Langfuse tracing of every agent decision and state transition
  • RAII sandbox isolation — per-user Docker containers with automatic handle release, zero state leakage
  • Canonical model identifiers — full-stack (provider_name, model_name) resolution via ModelService → ModelFactory
  • Layered skill system — skills are versioned units that compose into workflows without coupling

User Journey — Quick Start in 9 Steps

Login → Configure Models → MCP Tools → Skill Management → Build Agent → Self-Test (Langfuse Trace) → Publish → Chat UI → Run Center


Tech Stack

Layer Technology Purpose
Frontend Next.js 16, React 19, TypeScript Server-side rendering, App Router
UI Radix UI, Tailwind CSS, Framer Motion Accessible, animated components
State Zustand, TanStack Query Client & server state
Workflow Editor React Flow Interactive node-based builder
Backend FastAPI, Python 3.12+ Async API with OpenAPI docs
AI Framework LangChain, LangGraph, DeepAgents Agent orchestration & workflows
MCP mcp 1.20+, fastmcp 2.14+ Tool protocol support
Database PostgreSQL, SQLAlchemy 2.0 Async ORM with migrations
Cache Redis Session cache & rate limiting
Observability Langfuse, Loguru Tracing & structured logging

What's New

Full history: CHANGELOG.md

Tag Feature What it means
NEW Run Center Architecture Chat & Copilot fully integrated into Run Center — run details, session recovery, and live event replay on page refresh
NEW Dark Mode & Preferences System / Light / Dark theme switching; redesigned profile page with language & theme preferences
NEW Unified WebSocket Layer BaseWsClient abstract class — Chat, Run, and Notification clients share lifecycle, auth (ws-token), and reconnect logic
NEW Full-Chain trace_id Propagation End-to-end request tracing via contextvars for complete observability
NEW Ollama One-Click Integration Local Ollama model provider added out of the box
NEW Version Display In-app version info tied to bump-version.sh release pipeline
NEW Unified Model Identifiers Full-stack (provider_name, model_name) canonical form with data migration — no more legacy field ambiguity
UPGRADE Design Token Overhaul Hardcoded colors, font sizes, and border radii replaced with CSS variables and Tailwind tokens; z-index and typography scales unified
UPGRADE Sandbox Overhaul RAII handle management, adapter API uploads, security hardening
UPGRADE Frontend Component Extraction ConfirmDialog, UnifiedDialog, InlineRenameInput, SidebarContextMenu, AgentListContext — less prop drilling, more reuse
UPGRADE i18n & Code Quality Backend error messages internationalized; email templates moved to Jinja2; LLM prompts externalized to Markdown; 129 unused SVG icons removed

Documentation

Getting Started

Deep Dive

Tutorials

See docs/tutorials/ for step-by-step guides on model setup, MCP integration, skill development, and more.

Governance


Community

Join the WeChat user group for questions and discussion:


Contributing

git clone https://github.com/jd-opensource/JoySafeter.git
git checkout -b feature/amazing-feature
git commit -m 'feat: add amazing feature'
git push origin feature/amazing-feature

See CONTRIBUTING.md for full guidelines.


License

Apache License 2.0 — see LICENSE for details.

Third-party component licenses: THIRD_PARTY_LICENSES.md


Acknowledgments


README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Joysafeter

How do I install Joysafeter?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Joysafeter safe to use with an AI agent?

Its trust score is 77 out of 100 (good). It passes 4 of the 5 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Joysafeter still maintained?

Yes — the latest release is v1.0.0 (2 Jul 2026), and the last commit was a month ago. The repository has 314 stars and 20 open issues.