Agent Workspace Practice
Search + patterns, maturity assessment, context pricing, redaction checks - a practice as tools.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- MEDIUMen assess_workspace
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"agent-workspace-practice": {
"url": "https://jamesross.ai/mcp"
}
}
}Puntos de conexión remotos
https://jamesross.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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).
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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
}Comunidad
Evidencia