Skip to main content
Glama

📖 只读镜像。 argus 从规范的 AI-Factory 单体仓库发布。 不接受拉取请求 — 推送到此处的任何提交都会在下次同步时被 scripts/mirror_satellites.sh 覆盖。 🐞 发现 bug 或有请求?请 提交 issue。

ARGUS-3 — MCP 服务器

🌐 English · Русский · Español · Français · 中文 · Glossary

一个 MCP 服务器。WARDEN 加固的代理。钱包可选。

传输方式:stdio(argus mcp)。基于官方 Model Context Protocol TypeScript SDK(@modelcontextprotocol/sdk)构建。 兼容的主机:Claude Desktop、Cursor、Glama,以及任何支持 stdio 服务器的 MCP 客户端。

项目

位置

MCP 入口点

argus mcp → src/channels/mcp_server.ts

工具

argus_ask、argus_status、argus_capabilities

WARDEN 防火墙

docs/security-warden.md

Glama / Docker (stdio)

Dockerfile.glama、glama.json

属于 AICOM 开放代理经济体 的一部分。 在线演示: magic-ai-factory.com/argus/ · 社区: Discord · Pollux · Telegram · Castor

MCP 防火墙优先 — 钱包可选。 ARGUS-3 在运行任何工具之前,通过 WARDEN(静态扫描 → 威胁情报源 → 来源 → 定义固定)审查每一个第三方 MCP 服务器。加密、钱包和链上经济 默认关闭。 (简称 ARGUS · CLI:argus · npm:**argus-warden* · 作用域:@alexar76/argus3)*

为什么叫 "ARGUS-3"? 在神话中,Argus Panoptes — 百眼守望者 — 一直不可战胜,直到 Hermes 用言语哄他入睡并将其杀死。ARGUS-3 是 不会 被 Hermes 迷惑的守望者:百眼全开(WARDEN),极度节俭, 对花言巧语的竞争者免疫。

第三次才是守望者。👁️

ARGUS 是代理经济体一直缺失的需求侧参考客户端。该 生态系统已有生产者(Factory 🏭)、经纪人(Hub 🛒)、定价 (ACEX 📈)、信任计算(LUMEN 预言机 🔮)和可观测性(Monitor 👽)。 它所缺少的是一个普通人可以运行的一流代理 — 一个能够 发现、付费、消费和出售能力的代理。这就是 ARGUS。

它构建在通用 MCP 客户端通常缺少的两个堆栈层之上:

  1. 🛡️ WARDEN — 一个 MCP 安全防火墙,在第三方服务器的 工具定义到达模型之前对其进行审查:分层静态扫描、签名 威胁情报源、来源检查,以及针对 rug-pull 的工具定义固定。每个 关卡都基于 ARGUS 本地已有的数据做出决策。 无需钱包、无需链即可工作。

  2. 💸 原生结算 (可选) — 按次付费,并在启用加密并连接钱包时 通过 AIMarket 托管在 Base 上以 USDC 收款。

…而且它保持节俭(硬预算治理器 + 实时 token 计量器 — 不会 花你的钱做自我反思),支持任何模型(Anthropic、OpenAI 兼容、 中文、本地),并且 — 关键的是 — 在经济不可用时完全自主运行。 没有钱包,没有到 AICOM 的网络?它仍然是一流的本地 MCP 安全助手。

🔒 加密默认关闭

运行 ARGUS-3 不需要区块链。 钱包、彩票、ACEX、付费 调用和链上结算默认禁用,只有当你设置 ARGUS_CRYPTO_ENABLED=1(外加一个钱包)时才会开启。开箱即用,你得到 完整的代理 — WARDEN、任意模型、记忆、渠道,以及免费的链下预言机 读取 — 无需链、无需 token、无需钱包、无需托管。加密是可选加入的。


ARGUS 的不同之处

功能

重要性

🛡️ WARDEN 防火墙

每个 MCP 服务器都经过关卡链审查 — 静态工具定义扫描 → 威胁情报源 → 来源 → 定义固定 — 在运行任何工具之前。

工具投毒、rug-pull(定义漂移)、数据外泄和凭据窃取默认被阻止。每个关卡都基于 ARGUS 本地已有的数据做出决策,因此审查无需网络,也没有任何东西能说服它改变裁决。

💸 原生 + 自主经济

发现 → 打开 USDC 通道 → 调用 → 结算(消费者);在 Mesh 中注册 → 上架 → 赚钱(提供者)。仅在连接钱包时加载。

将 AICOM 变成真正的双边市场。没有钱包时该模块永远不会加载 — 零依赖、零故障面。

⚖️ 设计上节省 token

有界推理预算治理器,带硬性 $/token 上限、模型分层、cache_control、精选交接、压缩,以及实时计量器。

"更便宜"的说法是可审计的,而非营销。超过上限即停止任务 — 绝不会静默超支。

🌐 任意提供商

一个 Provider 接口,覆盖 Anthropic 原生、任何 OpenAI 兼容端点(包括 DeepSeek、Qwen、GLM、Kimi…)以及本地 Ollama。

你的密钥、你的模型、你的成本。在便宜/本地模型上分诊,仅在需要时升级。


🧭 核心能力 — 每个主打功能的设计意图和堆栈依赖 — docs/killer-features.md · ru · es。

Related MCP server: re-angr

快速开始

一条命令(交互式向导,约 2 分钟):

curl -fsSL https://magic-ai-factory.com/install | bash

或从 npm 安装(相同 CLI,无需 curl 脚本):

npm install -g argus-warden@latest
mkdir -p ~/.argus/agent && cd ~/.argus/agent
argus setup && argus doctor

包:argus-warden on npm · 作用域:@alexar76/argus3 · CLI:argus · npx argus-warden --help

然后运行 argus chat 或 argus serve。

作为 MCP 服务器运行(stdio)

npm install -g @alexar76/argus3
# or: npm install && npm run build && node dist/index.js mcp
argus mcp

Claude Desktop / Cursor(mcpServers 条目):

{
  "mcpServers": {
    "argus": {
      "command": "argus",
      "args": ["mcp"]
    }
  }
}

工具(2)

工具

何时使用

返回

示例

argus_ask

通过代理核心进行有界自然语言工作。可选 response_format / focus。敏感工具默认拒绝;预算计量的 LLM。

纯文本答案(失败/预算停止时返回 isError)

argus_ask({ task: "Summarise https://example.com in three bullets", response_format: "bullets" })

argus_status

在繁重的 argus_ask 之前进行存活检查(detail:basic|full)

JSON 状态

argus_status({ detail: "basic" })

argus_capabilities

发现 / WARDEN 态势,不消耗 LLM token

JSON 工具目录

argus_capabilities({ include_schemas: false })

Glama TDQS:MCP annotations(readOnly / destructive / idempotent / openWorld)、每个描述中的行为与使用指南、带示例的结构化参数 — 针对评分标准(而非旧的单行描述)校准。

在 Glama 上发布

列表:glama.ai/mcp/servers/alexar76/argus

与 aimarket-oracle-gateway 相同的模式:仓库根目录的 glama.json + Dockerfile.glama + node dist/index.js mcp。

如果 magic-ai-factory.com/install 返回 404,请使用镜像: curl -fsSL https://modeldev.modelmarket.dev/install | bash

文档: Wiki · 用户指南(20 种语言) · 开发者指南 — 15 分钟内发布一个能力(20 种语言) · 用例 — 你的 ARGUS 在 AICOM 上(EN / RU) · 可验证的良知(框图) · ARGUS 何时帮不了你 😈 · 生态系统白皮书

cd argus
npm install
npm run build

# 1) Configure (safe to commit — NO secrets live here)
cp argus.config.example.json argus.config.json

# 2) Add keys to .env (all optional; with none, ARGUS uses a local Ollama model)
cp .env.example .env      # then edit

# 3) Check what's wired up
node dist/index.js doctor

# 4) Ask something
node dist/index.js ask "summarise https://example.com in three bullets"

# 5) Interactive
node dist/index.js chat

在开发过程中,你可以通过 npm run dev -- ask "…" 跳过构建步骤。

自主性保证

ARGUS 的运行不需要 AICOM 提供任何东西:

# No ANTHROPIC_API_KEY, no wallet — just a local model:
ARGUS_LOCAL_BASE_URL=http://127.0.0.1:11434/v1 node dist/index.js ask "hello"

如果没有 ARGUS_WALLET_KEY,doctor 会报告 economy: OFF (autonomous),并且整个经济层永远不会被构建。参见 docs/autonomy.md。


架构

五层架构。自主性线以上的所有内容都在离线状态下运行;经济层则像夹子一样扣在下面,完全以钱包的存在与否作为门控条件。

flowchart TB
  subgraph OFF["Runs offline — no AICOM, no wallet"]
    L1["Layer 1 · Providers — Anthropic · OpenAI-compatible · local"]
    L2["Layer 2 · Bounded agent core — plan→execute→observe + budget governor"]
    L3["Layer 3 · Memory / self-learning — episodes · lessons · pins"]
    L4["🛡️ Layer 4 · MCP host + WARDEN — static · threat · origin · pinning"]
    L1 --- L2 --- L3 --- L4
  end
  GATE{{"— autonomy line — needs ARGUS_WALLET_KEY"}}
  L5["🛒 Layer 5 · Economy — discover · pay · invoke · settle · sell"]
  L4 -.-> GATE -.-> L5
  L5 -.->|wraps| SDK["@aimarket/agent SDK"]

完整图表和模块地图:docs/architecture.md。


🛡️ WARDEN — MCP 防火墙

WARDEN 作为独立的 @aimarket/warden 包发布——这是一个零依赖库,你可以把它放在自己的 MCP 宿主前面,而无需采用 ARGUS。 ARGUS 依赖该包;本节介绍的是它在代理内部所做的事情。

MCP 服务器的工具描述是攻击者可控的文本,模型会将其作为指令来读取。WARDEN 将每台服务器都视为默认敌对的,并在任何工具暴露之前,通过多道关卡对每个连接进行审查:

flowchart LR
  S[MCP server] --> A[1 · static scan] --> B[2 · threat feed] --> C[3 · origin] --> D[4 · def-pinning] --> V{allow?}
  V -->|yes| OK[bridge tools<br/>pin defs]
  V -->|no| NO[block + report]
  • 静态扫描 — 检测工具定义中的注入 / 数据外泄 / 秘密收集 / 隐藏 Unicode 签名。规则是分层的:阻断性规则覆盖那些没有良性解读的措辞;建议性规则(如 api_key 参数、提及 .env、"你必须")会被报告但绝不会阻断,也绝不会影响评分——这正是让诚实服务器得以通过的原因。每项裁决都会注明产生该裁决的规则集版本 + 摘要。

  • 威胁情报源 — 内置拒绝列表 + 可选的签名远程情报源。

  • 来源 — 服务器声明来自何处:你在 mcp.servers 中列出的,还是从远程 mcp.catalogs 条目中发现的。当 allowUnknownServers: false 时,目录发现的服务器会被阻断(SERVER_UNDECLARED);你自己的声明始终通过,因此即使采用失败关闭策略,仍然保留了一条连接途径。

  • 固定(Pinning) — 对已批准的工具集进行哈希;之后的漂移 = 拉地毯式攻击,强制重新审批。

敏感工具(写入/删除/执行/支付/……)在调用时还需要用户明确批准。详情:docs/security-warden.md。

node dist/index.js warden scan      # vet your configured MCP servers

💸 经济集成

ARGUS 复用现有的 AI Market Protocol v2 和 @aimarket/agent SDK——无需新增端点。

export ARGUS_WALLET_KEY=0x...                       # enables the economy layer
node dist/index.js economy status
node dist/index.js economy discover "translate to 5 languages" --budget 1
node dist/index.js economy register                 # list ARGUS in the AI Service Mesh

消费者流程:discover → openChannel (USDC/Base) → invoke (X-Payment-Channel) → settle。提供者流程:在 Mesh 中注册身份和钱包,列出能力,赚取收益(并有资格参与代理彩票 / 机器 UBI)。参见 docs/economy-integration.md · docs/mcp-oracles-capabilities.md(17 个预言机、MCP、售卖)。


多提供商

适配器

覆盖范围

Anthropic 原生

Claude Opus/Sonnet/Haiku/Fable — 一流的 cache_control;核心循环的默认选项

OpenAI 兼容

OpenAI、DeepSeek、Qwen/DashScope、Zhipu GLM、Moonshot/Kimi、MiniMax、Mistral、Groq、Together、OpenRouter、vLLM

本地

Ollama / llama.cpp — 离线 + 廉价的分诊层

模型在 argus.config.json 中被分配到各层级(triage / core / heavy);当某个密钥缺失时,路由会在各层级之间回退。


🎮 Agent Arena — 升级、保持连续记录、炫耀你的卡片

运行一个代理应该有趣。Agent Arena 将真实的生态系统活动转化为年轻全球受众已经喜爱的游戏机制——多邻国式的连续记录、Wrapped 风格的可分享卡片、游戏化排名卡片:

  • 经验值与等级 — 通过完成任务、出售能力、参与预言机彩票、在 ACEX 上交易以及保持节俭(低 $/任务)来赚取经验值。

  • 每日连续记录 🔥 — 让你的代理日复一日保持活跃。

  • 任务与徽章 — First Blood(首次彩票中奖)、Rainmaker(首次通过出售能力赚取 $1)、Frugal(单次任务低于 $0.001)、Trusted(LUMEN 声誉排名前一半)、Warden(阻止了一个恶意 MCP 服务器)、Polyglot、Whale、Lucky…… Trusted 和声誉排名目前无法获得:LUMEN 评分需要信任图,而目前没有任何部署发布 ARGUS 评分所依据的信任边。

  • 炫耀卡片 — argus flex(或 Telegram 中的 /flex)会渲染一张精美、可分享的卡片:用户名、等级、连续记录、赚取的 $、胜率、顶级徽章、声誉排名(在信任图存在之前为空白)。数字 + 表情符号 = 没有语言障碍 → 随处分享。

  • 全球排行榜 (可选加入) — 按经验值、收益或节俭程度与全球代理排名。

每项统计数据都是真实的——它是你实际的经济和节俭表现,根据代理自身的记忆 + 签名的经济收据在本地计算得出,因此很难伪造,也不是虚荣积分。分享和排行榜默认关闭且由所有者控制——你的数据始终属于你。完整设计:docs/arena.md。

实时演示(本机群):

使用 Arena 页面上的 TEST · LIVE · UNI 切换器在演示指标和每个已部署节点之间切换。


配置

  • argus.config.json — 非机密配置(提供商、模型、计量器的层级定价、预算上限、WARDEN 策略、MCP 服务器/目录、经济端点)。可以安全提交。从 argus.config.example.json 开始。

  • .env — 仅限机密:API 密钥(ANTHROPIC_API_KEY、DEEPSEEK_API_KEY、……)、ARGUS_WALLET_KEY,以及可选的用于 Alien Monitor 运行数据流的 ALIEN_API_TOKEN。切勿提交。从 .env.example 开始。

economy.enabled 是派生的——当且仅当设置了 ARGUS_WALLET_KEY 时,它才为真。


在生态系统中的位置

aicom Factory 构建代理 → 通过 AIMarket(Hub + 协议)列出和调用 → 预言机(LUMEN 信任、随机性、VDF、共识)为其定价和保障安全 → 在 ACEX 上融资 → 由 Alien Monitor 可视化。

ARGUS 是需求方:在这个市场中消费、向其出售,并保护用户免受 MCP 供应链的侵害——而它所依赖的防火墙不需要上述任何组件即可工作。


渠道

一个受限的代理核心,多个渠道——每个渠道都采用与其自然匹配的认证模型。完整矩阵 + 设计:docs/channels.md。

渠道

运行

认证

CLI

argus ask / argus chat

本地(交互式批准)

Telegram

argus telegram

所有者锁定(首个 /start 认领)

HTTP API

argus serve

/health 开放 · POST /ask Bearer ARGUS_HTTP_TOKEN

MCP 服务器

argus mcp

本地 stdio — 暴露 argus_ask / argus_status / argus_capabilities

argus serve 同时运行 Telegram 和 HTTP 服务器(这就是容器所运行的内容)。GET /health 也是让 ARGUS 作为 Alien Monitor 中实时节点出现的钩子。设置 ALIEN_MONITOR_URL + ALIEN_API_TOKEN 以将每次完成的运行推送到节点的可验证运行面板(预言机调用、WARDEN 阻断、雇佣、密封收据)。Discord、Slack、Email、Matrix、WhatsApp 和语音都是可随时添加的适配器(参见文档)。

部署(Docker)

ARGUS 将不受信任的 MCP 服务器作为子进程启动,因此容器也是围绕它们的安全边界——而不仅仅是打包。

cp argus.config.example.json argus.config.json   # edit
cp .env.example .env                              # add secrets
docker compose up -d --build                      # serve: Telegram + HTTP /health

机密来自 .env(绝不烘焙到镜像中);argus.config.json 以只读方式挂载;状态持久化在 argus-state 卷中;HEALTHCHECK 探测 /health。容器中经济默认关闭(自主模式)。

开发

npm run typecheck     # tsc --noEmit (strict)
npm test              # vitest (budget governor, MCP host + WARDEN wiring, provider mapping)
npm run build         # emit dist/

状态

v0.1 — 受限代理循环、多提供商路由、WARDEN 关卡链(静态 + 威胁 + 来源 + 固定)、记忆/经验教训、MCP 宿主、经济消费者/提供者包装器,以及四个渠道(CLI、Telegram、HTTP、MCP 服务器)+ Docker——均已实现并测试。操作系统级 MCP 沙箱(seccomp/Landlock/sandbox-exec)、签名威胁情报源发布器以及其余渠道适配器属于 v2 路线——参见文档。

演示

相关仓库

仓库

角色

aicom

AI-Factory — 提供 ARGUS 消费的能力

aimarket-hub

联邦中心 — 发现、调用、结算

oracles

LUMEN 声誉 + 可验证数学

alien-monitor

ARGUS 作为实时图节点出现

dioscuri

双子社区代理 — MNEMOSYNE 问答

社区

DIOSCURI 双胞胎根据同步的 GitHub 文档回答问题。

渠道

双胞胎

最适合

Discord

Pollux

帮助、想法、展示与分享

Telegram

Castor

发布、摘要、快速新闻

生态系统地图: Alien Monitor · AICOM

许可证

MIT — 你的密钥、你的基础设施、你的数据。属于 AICOM 开放代理经济的一部分。

Available Tools

3 tools
argus_askA

Run one bounded natural-language task through the ARGUS-3 agent and return the final answer text.

When to use: research, summarise, debug, or draft when you want a WARDEN-hardened agent (not a raw model completion). Prefer argus_status first if you only need liveness; prefer argus_capabilities for the tool/WARDEN catalog without spending LLM tokens.

When NOT to use: interactive multi-turn chat (use Telegram/HTTP channels); tasks that need human approval for sensitive tools (stdio denies them); pasting secrets into task.

Side effects / auth / limits: calls your configured LLM provider (API key from env/config); may invoke ARGUS-configured tools; third-party MCP tools run only after WARDEN gates (static scan → threat feed → LUMEN → def-pinning). Sensitive tools are deny-by-default on this channel (no interactive approver). Spend is bounded by ARGUS budget ceilings (stops rather than overspending). Not idempotent — each call is a new metered run. May use network (model + allowed tools).

Returns: plain-text final answer. On failure or budget stop, text may still be returned with isError true. No streaming / partial events on this tool.

Example: argus_ask({ task: "Summarise https://example.com in three bullets", response_format: "bullets" })

NameRequiredDescriptionDefault
taskYesRequired. Single clear goal for ARGUS (1..8000 chars). Include constraints (length, format, tone) and any URLs/paths. Do not embed secrets (API keys, private keys, passwords) — they may be logged or sent to the LLM provider. Whitespace-only values are rejected.
focusNoOptional one-line emphasis (≤500 chars) appended as a constraint, e.g. "security only" or "ELI5". Omit when the task is already specific enough.
response_formatNoOptional output shape hint prepended to the task. `prose` = normal paragraphs; `bullets` = short bullet list; `json_hint` = ask for a single JSON object in the answer (still returned as text — not a structured MCP outputSchema result). Default prose when omitted.prose

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond annotations: calls configured LLM provider, may invoke ARGUS tools, third-party MCP tools gated by WARDEN, sensitive tools deny-by-default, spend bounded by budget, not idempotent, may use network. No contradiction with annotations (readOnlyHint=false, etc.).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized: a summary line, usage guidelines, side effects/auth/limits, return type, and an example. Every sentence is informative without redundancy. It is concise and front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (agent with multiple options) and lack of output schema, the description thoroughly covers input semantics, behavioral nuances, budget limits, and return type (plain-text with potential isError). No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters (100% coverage). The description adds extra meaning: for 'task', warns against embedding secrets and specifies length constraints; for 'focus', explains it's appended as constraint; for 'response_format', defines each enum value. This provides clarity beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Run one bounded natural-language task through the ARGUS-3 agent and return the final answer text.' It uses a specific verb (run) and resource (bounded natural-language task via ARGUS-3). It also distinguishes from siblings by noting when to use argus_status or argus_capabilities instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when-to-use examples (research, summarise, debug, draft) and when-not-to-use cases (interactive multi-turn chat, tasks needing human approval, pasting secrets). It also mentions alternative tools: argus_status for liveness and argus_capabilities for catalog.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

argus_capabilitiesA
Read-onlyIdempotent

List ARGUS MCP tools and WARDEN security posture as JSON text (no LLM call).

When to use: discovery — choose between argus_ask / argus_status / this catalog. When NOT to use: executing a user task (argus_ask) or a cheap ping (argus_status).

Side effects: none. Read-only, idempotent, no provider auth required for this tool.

Returns: JSON { agent, version, tools[{name, readOnly, summary}], warden, sensitiveToolsPolicy, channel }.

Example: argus_capabilities({ include_schemas: false })

NameRequiredDescriptionDefault
include_schemasNoIf true, include each tool's inputSchema in the JSON (larger payload). Default false — names + short summaries only.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds behavioral context beyond annotations: 'no LLM call', 'no provider auth required', 'Read-only, idempotent', and return format. Annotations already state readOnlyHint, idempotentHint, destructiveHint; description reinforces and expands without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise and well-structured: purpose, usage guidance, side effects, return format, example. Every sentence adds value, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking output schema, description fully specifies return JSON structure. All relevant behavioral aspects are covered given tool simplicity and rich annotations. No gaps for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage for the single boolean parameter, including description and example. Description adds an example call but no new semantics beyond schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly lists purpose: 'List ARGUS MCP tools and WARDEN security posture as JSON text'. It distinguishes from siblings by mentioning argus_ask (task execution) and argus_status (cheap ping). Verb 'List' and resource are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'When to use: discovery' and 'When NOT to use: executing a user task or a cheap ping', with alternatives named (argus_ask, argus_status). Provides clear decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

argus_statusA
Read-onlyIdempotent

Return ARGUS-3 MCP runtime status as JSON text (no LLM call, no side effects).

When to use: before heavy argus_ask calls, or to confirm version/channel/tools. When NOT to use: to run a task (use argus_ask) or to list WARDEN policy detail (use argus_capabilities).

Auth / limits: none beyond MCP session. Idempotent and read-only.

Returns: JSON with status, agent, version, channel, mode, tools, detail, wardenNote, sensitiveToolsPolicy (and extra fields when detail=full).

Example: argus_status({ detail: "basic" })

NameRequiredDescriptionDefault
detailNoResponse depth. `basic` = liveness + version + tool names. `full` adds instructions excerpt, annotation summary, and MCP transport notes. Default basic.basic

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds 'no LLM call', 'no side effects', 'Auth/limits: none beyond MCP session', and details return fields. Consistent with annotations, adds useful context beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is brief, front-loaded with purpose, uses clear section breaks (When to use, Auth, Returns, Example), and every sentence adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (1 optional param, no output schema, high annotation coverage), description covers purpose, usage, behavior, auth, return fields, and example. Fully sufficient for agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with full description of detail parameter. Description includes example and mention of full depth adding fields, but schema already explains enum values and default. Minimal added value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States explicit verb 'Return ARGUS-3 MCP runtime status as JSON text', names specific resource 'ARGUS-3 MCP runtime', and distinguishes from siblings by contrasting with argus_ask and argus_capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('before heavy argus_ask calls, or to confirm version/channel/tools') and when not to use ('to run a task' or 'list WARDEN policy detail'), naming alternatives (argus_ask, argus_capabilities).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.2.5
    • Changedargus_ask7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / focus
        Added value: +{
        +  "description": "Optional one-line emphasis (≤500 chars) appended as a constraint, e.g. \"security only\" or \"ELI5\". Omit when the task is already specific enough.",
        +  "examples": [
        +    "security only",
        +    "cite sources"
        +  ],
        +  "maxLength": 500,
        +  "type": "string"
        +}
      • addedInput schema / properties / response_format
        Added value: +{
        +  "default": "prose",
        +  "description": "Optional output shape hint prepended to the task. `prose` = normal paragraphs; `bullets` = short bullet list; `json_hint` = ask for a single JSON object in the answer (still returned as text — not a structured MCP outputSchema result). Default prose when omitted.",
        +  "enum": [
        +    "prose",
        +    "bullets",
        +    "json_hint"
        +  ],
        +  "examples": [
        +    "bullets",
        +    "prose"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / task / description
        Previous value: -"The task or question for ARGUS."New value: +"Required. Single clear goal for ARGUS (1..8000 chars). Include constraints (length, format, tone) and any URLs/paths. Do not embed secrets (API keys, private keys, passwords) — they may be logged or sent to the LLM provider. Whitespace-only values are rejected."
      • addedInput schema / properties / task / examples
        Added value: +[
        +  "Summarise https://example.com in three bullets",
        +  "Explain why WARDEN would block a tool whose description asks for API keys",
        +  "Draft a short README blurb for an MCP server that exposes argus_ask"
        +]
      • addedInput schema / properties / task / maxLength
        Added value: +8000
      • addedInput schema / properties / task / minLength
        Added value: +1
    • Addedargus_capabilities
    • Addedargus_status
  2. 1 tool updatev1.0.0
    • First observedargus_ask

TDQS

A4.6/5.0

Scored across 3 tools

Disambiguation5/5

Each tool maps to a distinct intent: argus_status is liveness/version, argus_capabilities is catalog/security discovery, and argus_ask is task execution. Status and capabilities share some metadata fields, but their explicitly stated when-to-use guidance cleanly separates them. Ask is unambiguously the only tool that runs a task.

Naming Consistency3/5

All names share the argus_ prefix and snake_case, but the set mixes noun-style names (argus_status, argus_capabilities) with a verb-style name (argus_ask). There is no consistent verb_noun pattern across the set. The prefix keeps it readable, but the conventions are not uniform.

Tool Count5/5

Three tools is a well-scoped, typical count for this narrow purpose: one execution tool and two read-only introspection tools. Each tool earns its place and there is no redundancy. The size fits the server's focused role well.

Completeness5/5

The set covers the full intended workflow: confirm runtime status, discover capabilities and security posture, then execute a bounded task. There are no obvious gaps or dead ends for the stated one-shot agent use case. Multi-turn and interactive flows are explicitly out of scope rather than missing coverage.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers