Conduct AI

io.github.sseshachala由 GitHub 帳號 sseshachala 發布v0.6.10更新於 Oct 24, 2026

List agents, trigger workflows, and enforce team AI policies with ConductGuard.

概覽

AI 產生的概覽

Conduct AI 的本機 MCP 伺服器,讓助理列出並觸發 AI 代理,並在執行動作前檢查團隊 AI 政策規則。

可以做什麼
  • 列出代理、專案與 playbook,並對已安裝的代理觸發測試執行
  • 在執行動作前檢查某個工具呼叫與其輸入是否會被團隊政策攔截
  • 從 API 取得最新的 ConductGuard 政策並儲存到本機
  • 回報團隊名稱、使用者電子郵件、生效規則數量與政策版本
  • 透過 PreToolUse 掛鉤執行政策,對工具呼叫進行攔截、警告或稽核,並回報稽核事件
適用情境
適合使用 Conduct AI 代理、希望助理瀏覽、安裝與測試這些代理的團隊;也適合使用 ConductGuard 的組織,讓 Claude Code、Cursor 或 Copilot 在敏感操作前對照集中管理的 AI 使用政策自我檢查。
執行需求
以 Python 套件形式在本機執行(Python 3.9–3.12),透過 pip 安裝;MCP 項目由 conduct guard sync 註冊或手動加入。需要 Conduct AI 帳號、伺服器位址、工作區或團隊 ID,以及代理權杖或成員權杖,可透過參數傳入或由 conduct login 存到本機設定檔。需要連線至 Conduct AI API 的網路。
安裝前請注意
需要代理或成員權杖(cond_agt_ 前綴),明文僅顯示一次,會存於本機設定並以命令列參數傳入。sync 指令會寫入掛鉤腳本並修改 AI 工具的設定檔,掛鉤會把每次工具呼叫事件傳送到 Conduct AI API。相關指令可建立與刪除專案及其代理,測試觸發會執行真實的代理工作流程。在 advisory 模式下違規只會記錄而不會攔截。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Conduct AI,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

conduct-cli

Official CLI for Conduct AI — install AI agents, manage projects, run end-to-end tests, and enforce team AI policies with ConductGuard.

Runs on Linux, macOS, and Windows. Python 3.9–3.12.

[Conduct CLI demo — whoami, switch workspaces with Guard policy sync, and run an agent]

Install

bash
pip install conduct-cli

Quick start

bash
# Authenticate (one-time)conduct login \  --server https://api.conductai.ai \  --token cond_agt_xxx \  --workspace <workspace-id>
# Browse available agentsconduct playbooks
# Create a project and install all agents in one shotconduct install-all --project DevOps --repo owner/repo
# List installed agentsconduct agents
# Run a test trigger on any agentconduct test "PR Reviewer"conduct test --all

Commands

CommandDescription
conduct loginSave connection config to ~/.conduct/config.json
conduct projectsList all projects
conduct create project <name>Create a project
conduct delete project <name>Delete a project and all its agents
conduct reset project <name>Delete all agents in a project (clean slate)
conduct playbooksBrowse available playbooks
conduct playbooks <slug>Show required inputs for a playbook
conduct install <slug>Install one agent from a playbook
conduct install-allInstall all 12 playbooks into a project
conduct agentsList all installed agents
conduct test <name>Fire test trigger on an agent and stream results
conduct test --allTest every playbook-based agent

Authentication

Generate an agent token from Settings → Agents → Issue token in the Conduct AI dashboard. Tokens start with cond_agt_ and are stored as SHA-256 hashes — the plaintext is shown only once.

bash
conduct login --server https://api.conductai.ai --token cond_agt_xxx --workspace <id>

Install all agents

bash
# Installs all 12 playbooks into a project, pointed at your GitHub repoconduct install-all --project DevOps --repo myorg/myrepo

If the project doesn't exist it's created automatically. Use --input key=value to override any playbook input.

Test agents

bash
# Test a single agent (fires synthetic test payload, streams run events)conduct test "Autopilot Quick"
# Test all playbook-based agents in sequenceconduct test --all

Exit code is 0 if all pass, 1 if any fail — works in CI.


ConductGuard

ConductGuard is AI tool fleet management — your security team sets policies once and they're enforced automatically across every developer's Claude Code, Cursor, and Windsurf session.

How it works

Admin configures policies and budgets in the Guard dashboard    └─ developers are workspace members automatically — no invite step needed
Developer runs: conduct guard sync    ├─ pulls latest policy to ~/.conductguard/policy.json    ├─ writes PreToolUse hook → ~/.conductguard/hook.py    ├─ registers hook → ~/.claude/settings.json    └─ registers conductguard-mcp → ~/.claude/settings.json (mcpServers) + Codex
Every Claude Code tool call:    ├─ PreToolUse hook fires (hook.py) → checks policy → block / warn / audit    └─ Event posted async to ConductGuard API → visible in Activity feed

Developer setup

bash
pip install conduct-cli
# Authenticate (already done if you use Conduct)conduct login --server https://api.conductai.ai --api-key <api-key>
# Sync Guard — installs hook + MCP, pulls policiesconduct guard sync

That's it. Policy enforcement is active from the next tool call.

Guard commands

CommandDescription
conduct guard syncPull latest policy, write hook to ~/.conductguard/hook.py, register hook + MCP
conduct guard statusShow today's spend, session count, and violations
conduct guard audit [--since 7d]Print recent guard events in a table
conduct verify [--evidence FILE] [--strict] [--format json]Map guard events to OWASP Agentic Top 10; exit 1 in CI if blocked events (--strict)
conduct guard discoverScan local environment for AI agents; report Guard coverage %
conduct guard discover --registerRegister discovered agents under Guard

Advisory mode

When advisory mode is enabled by your security admin, all policy violations are logged as "audited" instead of blocked — the developer sees a note but the tool call proceeds. The hook still posts every event to the audit log.

To check if advisory mode is active:

bash
conduct guard sync   # shows "· advisory" badge if activeconduct guard status

conduct verify

bash
# Map last 24h of guard events to OWASP Agentic Top 10conduct verify
# Use a saved evidence fileconduct verify --evidence ./conduct-evidence.json
# CI mode — exit 1 if any blocked eventsconduct verify --strict
# JSON output for downstream toolingconduct verify --format json

OWASP mapping: no-rm-rf → A04 Excessive Agency, no-sudo → A09 Privilege Escalation, policy_signature_invalid → A07 Insufficient Monitoring, etc. All 10 categories covered.

How the PreToolUse hook works

When you run conduct guard sync, the CLI writes a Python script to ~/.conductguard/hook.py and registers it as a PreToolUse hook in ~/.claude/settings.json:

json
{  "hooks": {    "PreToolUse": [      {        "matcher": ".*",        "hooks": [{ "type": "command", "command": "python3 ~/.conductguard/hook.py" }]      }    ]  }}

Before every tool call, Claude Code runs the hook. The hook:

  1. Reads tool_name and tool_input from stdin (JSON)
  2. Loads ~/.conductguard/policy.json (the team ruleset)
  3. Matches the call against each rule (match_tool, match_pattern, match_path_pattern)
  4. Takes the rule's action:
    • block — prints the policy message, exits with code 2 (Claude Code aborts the tool call)
    • warn — prints the message, exits 0 (tool call proceeds, developer is notified)
    • audit — posts an event silently, exits 0
  5. Posts an audit event to POST /guard/events asynchronously (fire-and-forget, never slows the tool call)

How conductguard-mcp works

conduct guard sync also registers an MCP server entry in ~/.claude/settings.json:

json
{  "mcpServers": {    "conductguard": {      "command": "conductguard-mcp",      "args": ["--team", "<team-id>", "--token", "<member-token>"]    }  }}

Claude Code starts conductguard-mcp as a subprocess on launch and keeps it running. It communicates via JSON-RPC 2.0 over stdin/stdout (MCP stdio transport).

The MCP server exposes three tools that Claude can call proactively:

ToolDescription
guard_statusReturns team name, your email, number of active rules, and policy version
guard_checkChecks whether a specific tool + input would be blocked before Claude acts
guard_syncFetches the latest policy from the ConductGuard API and saves it locally

guard_check example — Claude can self-check before a sensitive action:

guard_check(tool_name="bash", tool_input={"command": "rm -rf /tmp/build"})→ ALLOWED — no policy rule matches 'bash'.
guard_check(tool_name="bash", tool_input={"command": "curl http://internal-api/secrets"})→ BLOCKED — External network calls to internal endpoints are not permitted. [rule: no-internal-curl]

guard_sync example — after your security team pushes new rules:

guard_sync()→ Policy synced — 12 rule(s) active (version: 2026-05-31T14:22:00Z).

Policy file format

Policy is stored at ~/.conductguard/policy.json and synced from the server:

json
{  "team_id": "uuid",  "version": "2026-05-31T14:22:00Z",  "rules": [    {      "rule_id": "no-rm-rf",      "match_tool": "bash",      "match_pattern": "rm\\s+-rf",      "match_path_pattern": null,      "action": "block",      "message": "Recursive deletes are not permitted. Use trash or targeted rm."    },    {      "rule_id": "audit-prod-writes",      "match_tool": "edit,write",      "match_path_pattern": "/prod/",      "match_pattern": null,      "action": "warn",      "message": "Writing to prod directory — make sure this is intentional."    }  ]}

Keeping policy up to date

Run conduct guard sync after your security team updates rules in the ConductGuard dashboard. The sync command pulls the latest policy, rewrites the hook, and re-registers the MCP entry in any newly detected AI tool configs.

bash
# Add to a daily cron or run manually after policy changesconduct guard sync

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "conduct": {      "command": "conduct-mcp",      "args": []    },    "conductguard": {      "command": "conductguard-mcp",      "args": ["--team", "<workspace-id>", "--token", "<member-token>"]    }  }}

Run conduct login first — conduct-mcp reads credentials from ~/.conduct/config.json. Get your agent token from Settings → Agents → Issue token in the Conduct AI dashboard.


VS Code + GitHub Copilot

Install from the MCP registry directly in VS Code:

bash
code --add-mcp '{"name":"conduct","command":"conduct-mcp","args":[]}'code --add-mcp '{"name":"conductguard","command":"conductguard-mcp","args":["--team","<workspace-id>","--token","<member-token>"]}'

Or add to .vscode/mcp.json in your repo:

json
{  "servers": {    "conduct": {      "type": "stdio",      "command": "conduct-mcp",      "args": []    },    "conductguard": {      "type": "stdio",      "command": "conductguard-mcp",      "args": ["--team", "<workspace-id>", "--token", "<member-token>"]    }  }}

Once wired, GitHub Copilot can list your agents, trigger workflows, and check Guard policies — the same tools available in Claude Code and Cursor.

Prerequisites: pip install conduct-cli + conduct login


Links

來源:README.md,提交 dfa8d1d

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.6.10最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。