Agent Workspace Practice

Search + patterns, maturity assessment, context pricing, redaction checks - a practice as tools.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
100%
命名の品質
90%
ポイズニングのリスク
80%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainassess_workspace 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,269トークン数(ツール定義)
~1.2 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.99%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "agent-workspace-practice": {
      "url": "https://jamesross.ai/mcp"
    }
  }
}

リモートエンドポイント

https://jamesross.ai/mcpstreamable-http

できること

ツール一覧

ツール(6)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢search_architecture(query, limit)

Full-text search across the published architecture corpus: the 18 patterns and how they compose, the evaluation method, the seven learn-track modules, and the teardowns of other people's published agent systems. Returns ranked sections, each with its title, its source file, a snippet, and a link to the full text on GitHub. Use it when you want the passage itself rather than a pattern summary; lookup_pattern is the narrower tool that answers "which pattern covers this?". Every section is also readable in full as a resource under the architecture:// scheme (resources/list, resources/read).

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search terms, e.g. \"canonical copy\", \"silent failure\", \"cache write cost\". Terms shorter than 3 characters are ignored.",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "type": "integer",
      "description": "How many sections to return. 1-10, default 5.",
      "minimum": 1,
      "maximum": 10,
      "default": 5
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢lookup_pattern(query)

Search the 18 architecture patterns behind this practice by keyword or by pattern number. Returns up to 3 matches, each with its number, title, the problem it opens on, and a link to the full text. Use it when you want the reasoning behind an agent-workspace design decision rather than a how-to.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Keywords to match against pattern titles and summaries, e.g. \"credentials\", \"silent failure\", \"context cost\". A bare number 1-18 looks that pattern up directly."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢assess_workspace(variant, answers)

Score an agent workspace across six dimensions: canonical knowledge, memory and context economics, verification and oversight, safety and permissions, telemetry and cost, provenance and delegation. Two variants: "practitioner" takes 18 answers (a single operator's workspace), "org" takes 12 (an organisation's agent readiness). Each answer is an integer 0-3 in question order, where 0 is the least mature option offered and 3 the most. Returns per-dimension scores, an overall percentage, a maturity band, and the two weakest dimensions with the gap that matters there. The question text lives at https://jamesross.ai/tools/maturity-check (practitioner) and https://jamesross.ai/tools/agent-readiness (org). Read it before answering on someone's behalf.

入力スキーマ

{
  "type": "object",
  "properties": {
    "variant": {
      "type": "string",
      "enum": [
        "practitioner",
        "org"
      ],
      "description": "\"practitioner\" for the 18-question workspace check, \"org\" for the 12-question organisational readiness check."
    },
    "answers": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 3
      },
      "description": "Answers in question order: 18 integers for \"practitioner\", 12 for \"org\". Each is 0-3."
    }
  },
  "required": [
    "variant",
    "answers"
  ],
  "additionalProperties": false
}
🟢price_context_read(size_tokens, entry_turn, total_turns, read_mult, write_mult, ...)

Price a block of context by where it enters a session. The API is stateless, so the whole transcript is re-sent on every inference step, and a token costs its size times the number of turns left after it arrives. Returns the carried token volume, the cost of the block in USD, what the same read would have cost entering 20 turns from the end, and the multiplier between the two. Use it to decide whether a large read should move later in a session or into a subagent.

入力スキーマ

{
  "type": "object",
  "properties": {
    "size_tokens": {
      "type": "number",
      "description": "Size of the block in tokens (S).",
      "minimum": 0
    },
    "entry_turn": {
      "type": "number",
      "description": "Turn number at which the block enters the context (t).",
      "minimum": 0
    },
    "total_turns": {
      "type": "number",
      "description": "Total turns in the session (T). Must be at least entry_turn.",
      "minimum": 0
    },
    "read_mult": {
      "type": "number",
      "description": "Cache-read price multiplier against input price. Default 0.1.",
      "default": 0.1,
      "minimum": 0
    },
    "write_mult": {
      "type": "number",
      "description": "Cache-write price multiplier against input price. Default 1.25.",
      "default": 1.25,
      "minimum": 0
    },
    "price_in_per_mtok": {
      "type": "number",
      "description": "Input price in USD per million tokens. Default 5.",
      "default": 5,
      "minimum": 0
    }
  },
  "required": [
    "size_tokens",
    "entry_turn",
    "total_turns"
  ],
  "additionalProperties": false
}
🟡check_redaction(text)

Scan text for the shapes of private content before it goes anywhere public: email addresses, absolute home paths, credential and token prefixes, private and link-local IPs, .local hostnames, and secret filenames. Returns a count per pattern class and a total, nothing else. The text you send and the substrings that matched are never stored, never logged and never echoed back. Only the counts are kept. A line carrying the marker "redaction-ok" is skipped. Accepts up to 100KB.

入力スキーマ

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The text to scan. Up to 100KB; anything beyond that is truncated and the result says so."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}
🟢request_capability(description, context)

Tell this server what capability you needed but didn't find here. Requests are logged and reviewed by a human; include no secrets or personal data.

入力スキーマ

{
  "type": "object",
  "properties": {
    "description": {
      "type": "string",
      "description": "What you needed. Up to 2KB."
    },
    "context": {
      "type": "string",
      "description": "Optional: what you were trying to do, and why the existing tools did not cover it. Up to 1KB."
    }
  },
  "required": [
    "description"
  ],
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 6 件
検証済みバージョンは記録されていませんツール 6 件
検証済みバージョンは記録されていませんツール 6 件