Skip to main content
Glama

📖 読み取り専用ミラー。 argus は正規の AI-Factory モノレポから公開されています。 プルリクエストは受け付けていません — ここにプッシュされたコミットは、次回の同期時に scripts/mirror_satellites.sh によって上書きされます。 🐞 バグを発見した場合やリクエストがある場合は、issue を開いて ください。

ARGUS-3 — MCP サーバー

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

1 つの 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 は、サードパーティの MCP サーバーをすべて WARDEN(静的スキャン → 脅威フィード → 発信元 → 定義ピン留め)で検証してから、1 つのツールも実行しません。暗号通貨、ウォレット、オンチェーン経済は デフォルトでオフ です。 (短縮名 ARGUS · CLI: argus · npm: argus-warden · スコープ付き: @alexar76/argus3)

なぜ「ARGUS-3」なのか? 神話の中で、百の目を持つ見張り番アルゴス・パノプテス は、 ヘルメス が話しかけて眠らせ、殺すまで無敵でした。ARGUS-3 は ヘルメスに騙され ない 見張り番です。百の目を開き(WARDEN)、徹底的に倹約し、 甘い言葉で誘惑する競争相手には免疫があります。

三度目の正直の見張り番。👁️

ARGUS は、エージェント経済に欠けていた 需要側のリファレンスクライアント です。 エコシステムにはすでに、生産者(Factory 🏭)、ブローカー(Hub 🛒)、価格設定 (ACEX 📈)、信頼計算(LUMEN オラクル 🔮)、可観測性(Monitor 👽)があります。 欠けていたのは、一般の人が実行するファーストクラスのエージェント — つまり 能力を発見し、支払い、消費し、販売する エージェントです。それが ARGUS です。

これは、一般的な MCP クライアントには通常ない 2 つのスタック層の上に構築されています:

  1. 🛡️ WARDEN — サードパーティのサーバーを、そのツール定義がモデルに到達する前に 検証する MCP セキュリティファイアウォール。階層化された静的スキャン、署名付き 脅威フィード、発信元チェック、および rug-pull に対するツール定義のピン留め。 各ゲートは、ARGUS がすでにローカルに保持しているデータのみから判断します。 ウォレットもチェーンも不要で動作します。

  2. 💸 ネイティブ決済 (任意) — 暗号通貨を有効にしてウォレットを接続すると、 AIMarket エスクローを通じて Base 上の USDC で呼び出しごとに支払い、受け取ることができます。

…そして、倹約を維持し(ハードな予算ガバナー + ライブトークンメーター — あなたの費用で自己反省はしません)、 あらゆるモデル(Anthropic、OpenAI 互換、中国製、ローカル)に対応し、そして重要なことに — 経済圏が利用できないときは完全に自律的に動作します。 ウォレットなし、AICOM へのネットワークなし? それでも、クラス最高のローカル MCP セキュアアシスタントです。

🔒 暗号通貨はデフォルトで OFF

ARGUS-3 の実行にブロックチェーンは必要ありません。 ウォレット、宝くじ、ACEX、有料 呼び出し、オンチェーン決済は デフォルトで無効 になっており、ARGUS_CRYPTO_ENABLED=1(プラスウォレット)を 設定した場合にのみ有効になります。初期状態では、完全なエージェント — WARDEN、任意のモデル、メモリ、チャネル、 無料のオフチェーンオラクル読み取り — をチェーン、トークン、ウォレット、カストディなしで利用できます。 暗号通貨はオプトインです。


ARGUS が他と違う理由

機能

重要な理由

🛡️ WARDEN ファイアウォール

すべての MCP サーバーは、1 つのツールも実行される前に、ゲートチェーン — 静的ツール定義スキャン → 脅威フィード → 発信元 → 定義ピン留め — によって検証されます。

ツールポイズニング、rug-pull(定義のドリフト)、データ流出、認証情報の収集は デフォルトで ブロックされます。各ゲートは ARGUS がすでにローカルに保持しているデータのみから判断するため、検証にネットワークは不要で、外部から判定を覆すことはできません。

💸 ネイティブ + 自律経済

発見 → USDC チャネルを開く → 呼び出し → 決済(消費者); Mesh に登録 → リスト → 収益化(プロバイダー)。ウォレットがある場合に のみ 読み込まれます。

AICOM を真の両面市場に変えます。ウォレットがない場合、モジュールは決して読み込まれません — 依存関係ゼロ、障害面ゼロ。

⚖️ 設計上トークン倹約

ハードな $/トークン上限付きの制限付き推論予算ガバナー、モデル階層化、cache_control、厳選されたハンドオフ、圧縮、ライブメーター。

「より安い」という主張はマーケティングではなく 監査可能 です。上限を超えるとタスクは停止します — 静かに超過することは決してありません。

🌐 任意のプロバイダー

Anthropic ネイティブ、任意の OpenAI 互換エンドポイント(DeepSeek、Qwen、GLM、Kimi などを含む)、ローカル Ollama に対応する 1 つの Provider インターフェース。

あなたのキー、あなたのモデル、あなたのコスト。安価/ローカルモデルでトリアージし、必要なときだけエスカレーションします。


🧭 コア機能 — 各主要機能の設計意図とスタック依存関係 — docs/killer-features.md · ru · es。

Related MCP server: re-angr

クイックスタート

1 コマンド(対話型ウィザード、約 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

LLM トークンを消費せずにディスカバリー / WARDEN の状態を確認

JSON ツールカタログ

argus_capabilities({ include_schemas: false })

Glama TDQS: MCP annotations(readOnly / destructive / idempotent / openWorld)、すべての説明に Behavior + Usage Guidelines、例付きの構造化パラメータ — スコア評価基準に合わせて調整済み(旧来の 1 行説明ではありません)。

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 言語) · ユースケース — AICOM 上のあなたの ARGUS(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 を参照してください。


アーキテクチャ

5つのレイヤー。自律ラインより上はすべてオフラインで動作し、エコノミーは ウォレットの存在だけでゲートされる形で下にクリップされます。

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 として別途配布されます — ARGUS を採用せずに独自の MCP ホストの前に置ける、ゼロ依存のライブラリです。 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]
  • 静的スキャン — ツール定義内のインジェクション / 外部送信 / 秘密情報収集 / 隠しユニコードシグネチャ。ルールは段階的です:ブロッキング ルールは無害な解釈がない表現をカバーし、アドバイザリ ルール(api_key パラメータ、.env への言及、「〜しなければならない」)は報告されるだけでブロックもスコアへの影響もありません — これにより正当なサーバーは通過できます。すべての判定は、それを生成したルールセットのバージョンとダイジェストを明示します。

  • 脅威フィード — 組み込みの拒否リスト + オプションの署名付きリモートフィード。

  • 発信元 — サーバー宣言の由来:mcp.servers に自分でリストしたか、リモートの mcp.catalogs エントリから発見されたか。allowUnknownServers: false の場合、カタログ発見のサーバーはブロックされ(SERVER_UNDECLARED)、自分の宣言は常に通過するため、フェイルクローズでも接続手段は残ります。

  • ピニング — 承認済みツールセットをハッシュ化し、その後のドリフト = ラグプルとして再承認を強制します。

機密ツール(書き込み/削除/実行/支払い/…)は、呼び出し時に明示的なユーザー承認がさらに必要です。詳細: 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 に ID とウォレットを登録し、機能をリストし、収益を得る(そしてエージェント抽選 / マシン 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 は実際のエコシステム活動を、若いグローバルなオーディエンスがすでに愛するゲームメカニクス — Duolingo 風ストリーク、Wrapped 風シェア可能カード、ゲーミングランクカード — に変えます:

  • XP とレベル — タスク完了、機能販売、オラクル抽選への参加、ACEX での取引、そして倹約(タスクあたり低 $)で XP を獲得。

  • デイリーストリーク 🔥 — エージェントを毎日アクティブに保ちましょう。

  • クエストとバッジ — First Blood(初の抽選勝利)、Rainmaker(機能販売で初の $1 獲得)、Frugal($0.001 未満のタスク)、Trusted(LUMEN レピュテーション上位半分)、Warden(悪意のある MCP サーバーをブロック)、Polyglot、Whale、Lucky… Trusted とレピュテーションランクは現時点では獲得できません:LUMEN スコアにはトラストグラフが必要であり、ARGUS がスコアリングされるトラストエッジを公開するデプロイメントはありません。

  • Flex カード — argus flex(または Telegram の /flex)で、ハンドル、レベル、ストリーク、獲得 $、勝率、トップバッジ、レピュテーションランク(トラストグラフが存在するまで空白)を表示する洗練されたシェア可能カードをレンダリングします。数字 + 絵文字 = 言語の壁なし → どこでもシェア可能。

  • グローバルリーダーボード (オプトイン) — XP、収益、または倹約度で世界中のエージェントとランク付け。

すべての統計は本物です — 実際のエコノミーと倹約パフォーマンスであり、エージェント自身のメモリと署名付きエコノミー領収書からローカルに計算されるため、偽造は困難で、虚栄ポイントではありません。共有とリーダーボードはデフォルトでオフ、オーナー制御です — あなたのデータはあなたのものです。完全な設計: 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 が設定されている場合に限り true です。


エコシステム内での位置づけ

aicom Factory はエージェントを構築 → AIMarket(Hub + プロトコル)を通じてリストされ呼び出される → Oracles(LUMEN トラスト、ランダム性、VDF、コンセンサス)が価格設定とセキュリティを提供 → ACEX で資金調達 → Alien Monitor で可視化。

ARGUS は需要側です:このマーケットで支出し、そこに販売し、MCP サプライチェーンからユーザーを防御するエージェント — 上記のいずれも必要としないファイアウォールを備えています。


チャンネル

1つの境界化されたエージェントコア、多数のチャンネル — それぞれに自然な認証モデルを備えています。完全なマトリックスと設計: 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 をプローブします。エコノミーはコンテナ内ではデフォルトで OFF(自律)です。

開発

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 ホスト、エコノミーコンシューマー/プロバイダーラッパー、4つのチャンネル(CLI、Telegram、HTTP、MCP サーバー)+ Docker — すべて実装済みでテスト済み。OS レベルの MCP サンドボックス化(seccomp/Landlock/sandbox-exec)、署名付き脅威フィードパブリッシャー、および残りのチャンネルアダプターは v2 トラックです — ドキュメントを参照してください。

デモ

関連リポジトリ

リポジトリ

役割

aicom

AI-Factory — ARGUS が消費する機能を提供

aimarket-hub

フェデレーションハブ — 発見、呼び出し、決済

oracles

LUMEN レピュテーション + 検証可能な数学

alien-monitor

ARGUS がライブグラフノードとして表示される

dioscuri

双子のコミュニティエージェント — MNEMOSYNE Q&A

コミュニティ

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
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers