{
  "ok": true,
  "resource": {
    "id": "RES_85E334714743",
    "resource_type": "mcp_server",
    "canonical_url": "https://registry.modelcontextprotocol.io/v0.1/servers/ai.benroberts%2Fb4-index/versions/3.3.0",
    "name": "B4 Index",
    "summary_en": "Independent build-vs-buy index: score software categories BUILD/BUY/BRIDGE/BEWARE.",
    "summary_zh": "独立的构建与购买指数：将软件类别评为 BUILD/BUY/BRIDGE/BEWARE。",
    "description_en": "B4 Index is an MCP server that provides an independent build-vs-buy index for software categories. It offers tools to browse, score, audit, compare, and recommend build/buy decisions based on a banded methodology (v4.0). The server exposes 5 read-only tools over streamable HTTP, with optional bearer-token authentication for Pro workflow tools. The free tier (b4_browse, b4_score) requires no credentials. The server was verified healthy with 5 tools discovered.",
    "description_zh": "B4 Index 是一个 MCP 服务器，为软件类别提供独立的构建与购买指数。它提供浏览、评分、审计、比较和推荐构建/购买决策的工具，基于带状方法论（v4.0）。服务器通过流式 HTTP 暴露 5 个只读工具，Pro 工作流工具可选 Bearer 令牌认证。免费层（b4_browse、b4_score）无需凭据。服务器已验证健康，发现 5 个工具。",
    "provider_name": "ai.benroberts",
    "homepage_url": "https://benroberts.ai/directory",
    "endpoint_url": "https://b4-index.vercel.app/mcp",
    "source_url": "https://registry.modelcontextprotocol.io/v0.1/servers/ai.benroberts%2Fb4-index/versions/3.3.0",
    "icon_url": null,
    "cover_image_url": null,
    "capabilities": [
      "software.analyze",
      "software.recommend"
    ],
    "categories": [
      "developer-tools",
      "data",
      "research"
    ],
    "industries": [
      "software",
      "general"
    ],
    "protocols": [
      "mcp"
    ],
    "auth": {
      "type": "unknown"
    },
    "pricing": {
      "model": "unknown"
    },
    "input_schema": {},
    "output_schema": {},
    "metadata": {
      "content_language": "en",
      "translation_status": "original-only",
      "official_registry": {
        "version": "3.3.0",
        "packages": [],
        "remotes": []
      },
      "review_gate": {
        "passed": true,
        "reasons": [],
        "policy_version": "review-gate-v1",
        "evaluated_at": "2026-09-03T06:07:15.563Z"
      }
    },
    "latest_version": "3.3.0",
    "status": "listed",
    "health_status": "healthy",
    "source_kind": "imported",
    "source_agent": "registry.modelcontextprotocol.io",
    "trust": {
      "signal": "none",
      "reason": "No suspicious or malicious evidence.",
      "signals": {
        "yellow": 0,
        "red": 0
      }
    },
    "review_summary": {
      "method_version": "capability-evidence-v2",
      "capability_definition": "strong",
      "contract_completeness": "strong",
      "access_friction": "low",
      "operational_transparency": "partial",
      "evidence_strength": "protocol_inspected",
      "use_readiness": "ready_for_guidance",
      "reviewed_at": "2026-09-03T06:07:16.525Z"
    },
    "experience_count": 0,
    "verified_experience_count": 0,
    "usage_count": 0,
    "success_rate": null,
    "first_seen_at": "2026-09-03T02:49:54.209Z",
    "last_seen_at": "2026-09-03T06:07:15.814Z",
    "published_at": "2026-09-03T06:07:15.814Z",
    "created_at": "2026-09-03T02:49:54.209Z",
    "updated_at": "2026-09-03T06:07:16.525Z",
    "api_url": "https://aiworkshub.io/api/v1/resources/RES_85E334714743",
    "reviews_url": "https://aiworkshub.io/api/v1/resources/RES_85E334714743/reviews",
    "public_url": "https://aiworkshub.io/resources/RES_85E334714743",
    "distribution": {
      "canonical_identity": "https://registry.modelcontextprotocol.io/v0.1/servers/ai.benroberts%2Fb4-index/versions/3.3.0",
      "syndicatable": true,
      "origins": [
        {
          "registry_url": "https://registry.modelcontextprotocol.io/",
          "upstream_resource_id": "ai.benroberts/b4-index@3.3.0",
          "upstream_record_url": "https://registry.modelcontextprotocol.io/v0.1/servers/ai.benroberts%2Fb4-index/versions/3.3.0",
          "relation": "syndicated",
          "metadata": {
            "source": "official-mcp-registry"
          },
          "first_seen_at": "2026-09-03T02:49:54.209Z",
          "last_seen_at": "2026-09-03T06:07:15.814Z"
        }
      ]
    },
    "tools": [
      {
        "name": "b4_audit",
        "title_en": "Audit a stack",
        "title_zh": "审计技术栈",
        "description_en": "Analyze a software stack against the B4 Index. Provide a list of tool/category names, and get per-tool banded verdicts plus a portfolio summary with verdict distribution, BEWARE spend, near calls, and priority actions. Verdicts are banded (B4 methodology v4.0), not point calls: each of the three quadrant dimensions carries a ±1 uncertainty band, the resulting cells are enumerated exactly, and the verdict is the quadrant holding the most probability mass. Every verdict ships with its full distribution, a confidence word — clear (≥70% of the mass), lean (50–70%), split (<50%) — and a near-call flag when the runner-up is within 15 points. An axis counts as high only when it clears the 3.5 line strictly, which on this 1–5 grid means only at 4 or above, so a category sitting exactly on the line gets the safer call: ties break in the order BUY → BRIDGE → BEWARE → BUILD, cheapest mistake first. Optional org lens: set org to \"small\", \"medium\" (the default) or \"large\" to read the same scores as a team of that engineering maturity — it shifts the center of the AI-feasibility band by −1 / 0 / +1 and nothing else. The lens is a filter the caller looks through, never a stored profile: no user a",
        "description_zh": "根据 B4 指数分析软件技术栈。提供工具/类别名称列表，获取每个工具的带状判定以及投资组合摘要，包括判定分布、BEWARE 支出、接近调用和优先操作。判定是带状的（B4 方法论 v4.0），不是点调用：三个象限维度中的每一个都带有 ±1 的不确定性带，生成的单元格被精确枚举，判定是持有最多概率质量的象限。每个判定都附带其完整分布、置信词——清晰（≥70% 的质量）、倾向（50–70%）、分裂（<50%）——以及当亚军在 15 分以内时的接近标记。只有当轴严格超过 3.5 线时才计为高，在这个 1–5 网格上意味着只有 4 或以上，因此恰好位于线上的类别会得到更安全的调用：平局按 BUY → BRIDGE → BEWARE → BUILD 的顺序打破，先犯最便宜的错。可选组织视角：将 org 设置为 \"small\"、\"medium\"（默认）或 \"large\" 以作为具有该工程成熟度的团队来阅读相同的分数——它仅将 AI 可行性带的中心移动 −1 / 0 / +1，没有其他。该视角是调用者查看的过滤器，绝不是存储的配置文件：没有用户 a",
        "input_schema": {
          "type": "object",
          "properties": {
            "org": {
              "type": "string",
              "enum": [
                "small",
                "medium",
                "large"
              ],
              "default": "medium",
              "description": "Org-maturity lens: \"small\" (no dedicated engineering), \"medium\" (default — some AI capability), \"large\" (AI-mature). Shifts the AI-feasibility band center by −1/0/+1 at read time. A filter the caller looks through, never a stored profile."
            },
            "tools": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 120
              },
              "minItems": 1,
              "maxItems": 100,
              "description": "List of software tool or category names to audit (e.g., ['Salesforce', 'Slack', 'Expense Management']). Max 100 per call."
            }
          },
          "required": [
            "tools"
          ],
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "read",
        "open_world": false,
        "idempotency": "safe_to_retry",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "b4_browse",
        "title_en": "Browse the B4 Index",
        "title_zh": "浏览 B4 指数",
        "description_en": "Search and filter the B4 Index's 1,600+ independently scored software categories. Browse by keyword, domain, quadrant, or industry. When filtering by industry, returns all vertical categories for that industry PLUS all horizontal categories (which apply to every industry). Each row carries its banded verdict — primary, confidence word, and a near-call flag — and the quadrant filter matches the verdict at whichever lens you are reading. Verdicts are banded (B4 methodology v4.0), not point calls: each of the three quadrant dimensions carries a ±1 uncertainty band, the resulting cells are enumerated exactly, and the verdict is the quadrant holding the most probability mass. Every verdict ships with its full distribution, a confidence word — clear (≥70% of the mass), lean (50–70%), split (<50%) — and a near-call flag when the runner-up is within 15 points. An axis counts as high only when it clears the 3.5 line strictly, which on this 1–5 grid means only at 4 or above, so a category sitting exactly on the line gets the safer call: ties break in the order BUY → BRIDGE → BEWARE → BUILD, cheapest mistake first. Optional org lens: set org to \"small\", \"medium\" (the default) or \"large\" to re",
        "description_zh": "搜索并筛选 B4 指数中 1,600 多个独立评分的软件类别。可按关键字、领域、象限或行业浏览。按行业筛选时，返回该行业的所有垂直类别以及所有水平类别（适用于每个行业）。每行都带有带状判定——主要判定、置信词和接近标记——象限过滤器会匹配您所阅读的任何视角下的判定。判定是带状的（B4 方法论 v4.0），不是点调用：三个象限维度中的每一个都带有 ±1 的不确定性带，生成的单元格被精确枚举，判定是持有最多概率质量的象限。每个判定都附带其完整分布、置信词——清晰（≥70% 的质量）、倾向（50–70%）、分裂（<50%）——以及当亚军在 15 分以内时的接近标记。只有当轴严格超过 3.5 线时才计为高，在这个 1–5 网格上意味着只有 4 或以上，因此恰好位于线上的类别会得到更安全的调用：平局按 BUY → BRIDGE → BEWARE → BUILD 的顺序打破，先犯最便宜的错。可选组织视角：将 org 设置为 \"small\"、\"medium\"（默认）或 \"large\" 以重新",
        "input_schema": {
          "type": "object",
          "properties": {
            "org": {
              "type": "string",
              "enum": [
                "small",
                "medium",
                "large"
              ],
              "default": "medium",
              "description": "Org-maturity lens: \"small\" (no dedicated engineering), \"medium\" (default — some AI capability), \"large\" (AI-mature). Shifts the AI-feasibility band center by −1/0/+1 at read time. A filter the caller looks through, never a stored profile."
            },
            "query": {
              "type": "string",
              "maxLength": 200,
              "description": "Search term to match against category names, vendors, domains, and rationales"
            },
            "domain": {
              "type": "string",
              "maxLength": 120,
              "description": "Filter by domain (e.g., 'Marketing Technology', 'CRM & Sales')"
            },
            "quadrant": {
              "type": "string",
              "enum": [
                "BUILD",
                "BUY",
                "BRIDGE",
                "BEWARE"
              ],
              "description": "Filter by quadrant"
            },
            "industry": {
              "type": "string",
              "maxLength": 120,
              "description": "Filter by industry group. Returns matching vertical categories + all horizontal categories. Options: Healthcare, Financial Services, Construction & Real Estate, Education, Energy & Utilities, Government, Automotive, Agriculture, Transportation & Logistics, Media & Entertainment, Legal, Professional Services, Nonprofits & Associations, Manufacturing, Retail & Commerce, Hospitality & Food Service, Telecom"
            },
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20,
              "description": "Max results to return (default 20, max 100)"
            }
          },
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "read",
        "open_world": false,
        "idempotency": "safe_to_retry",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "b4_compare",
        "title_en": "Compare alternatives",
        "title_zh": "比较备选方案",
        "description_en": "Compare build vs buy for a specific software category. Returns side-by-side analysis with the category's banded verdict, scores, vendor options, AI replacement approach, and action steps for each path. Verdicts are banded (B4 methodology v4.0), not point calls: each of the three quadrant dimensions carries a ±1 uncertainty band, the resulting cells are enumerated exactly, and the verdict is the quadrant holding the most probability mass. Every verdict ships with its full distribution, a confidence word — clear (≥70% of the mass), lean (50–70%), split (<50%) — and a near-call flag when the runner-up is within 15 points. An axis counts as high only when it clears the 3.5 line strictly, which on this 1–5 grid means only at 4 or above, so a category sitting exactly on the line gets the safer call: ties break in the order BUY → BRIDGE → BEWARE → BUILD, cheapest mistake first. Optional org lens: set org to \"small\", \"medium\" (the default) or \"large\" to read the same scores as a team of that engineering maturity — it shifts the center of the AI-feasibility band by −1 / 0 / +1 and nothing else. The lens is a filter the caller looks through, never a stored profile: no user attribute is saved",
        "description_zh": "针对特定软件类别比较构建与购买。返回并排分析，包括该类别的带状判定、分数、供应商选项、AI 替代方法和每个路径的行动步骤。判定是带状的（B4 方法论 v4.0），不是点调用：三个象限维度中的每一个都带有 ±1 的不确定性带，生成的单元格被精确枚举，判定是持有最多概率质量的象限。每个判定都附带其完整分布、置信词——清晰（≥70% 的质量）、倾向（50–70%）、分裂（<50%）——以及当亚军在 15 分以内时的接近标记。只有当轴严格超过 3.5 线时才计为高，在这个 1–5 网格上意味着只有 4 或以上，因此恰好位于线上的类别会得到更安全的调用：平局按 BUY → BRIDGE → BEWARE → BUILD 的顺序打破，先犯最便宜的错。可选组织视角：将 org 设置为 \"small\"、\"medium\"（默认）或 \"large\" 以作为具有该工程成熟度的团队来阅读相同的分数——它仅将 AI 可行性带的中心移动 −1 / 0 / +1，没有其他。该视角是调用者查看的过滤器，绝不是存储的配置文件：不保存任何用户属性",
        "input_schema": {
          "type": "object",
          "properties": {
            "org": {
              "type": "string",
              "enum": [
                "small",
                "medium",
                "large"
              ],
              "default": "medium",
              "description": "Org-maturity lens: \"small\" (no dedicated engineering), \"medium\" (default — some AI capability), \"large\" (AI-mature). Shifts the AI-feasibility band center by −1/0/+1 at read time. A filter the caller looks through, never a stored profile."
            },
            "category": {
              "type": "string",
              "maxLength": 120,
              "description": "Name of the software category to compare (e.g., 'Email Marketing', 'CRM')"
            }
          },
          "required": [
            "category"
          ],
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "read",
        "open_world": false,
        "idempotency": "safe_to_retry",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "b4_recommend",
        "title_en": "Build-vs-buy recommendation",
        "title_zh": "构建与购买推荐",
        "description_en": "Get B4 Index recommendations from a natural language description of a software need or business context. Matches the description to relevant categories and returns top matches with scores, banded verdicts, and actionable recommendations. Verdicts are banded (B4 methodology v4.0), not point calls: each of the three quadrant dimensions carries a ±1 uncertainty band, the resulting cells are enumerated exactly, and the verdict is the quadrant holding the most probability mass. Every verdict ships with its full distribution, a confidence word — clear (≥70% of the mass), lean (50–70%), split (<50%) — and a near-call flag when the runner-up is within 15 points. An axis counts as high only when it clears the 3.5 line strictly, which on this 1–5 grid means only at 4 or above, so a category sitting exactly on the line gets the safer call: ties break in the order BUY → BRIDGE → BEWARE → BUILD, cheapest mistake first. Optional org lens: set org to \"small\", \"medium\" (the default) or \"large\" to read the same scores as a team of that engineering maturity — it shifts the center of the AI-feasibility band by −1 / 0 / +1 and nothing else. The lens is a filter the caller looks through, never a stored",
        "description_zh": "从软件需求或业务背景的自然语言描述中获取 B4 指数推荐。将描述与相关类别匹配，并返回带有分数、带状判定和可操作建议的最佳匹配。判定是带状的（B4 方法论 v4.0），不是点调用：三个象限维度中的每一个都带有 ±1 的不确定性带，生成的单元格被精确枚举，判定是持有最多概率质量的象限。每个判定都附带其完整分布、置信词——清晰（≥70% 的质量）、倾向（50–70%）、分裂（<50%）——以及当亚军在 15 分以内时的接近标记。只有当轴严格超过 3.5 线时才计为高，在这个 1–5 网格上意味着只有 4 或以上，因此恰好位于线上的类别会得到更安全的调用：平局按 BUY → BRIDGE → BEWARE → BUILD 的顺序打破，先犯最便宜的错。可选组织视角：将 org 设置为 \"small\"、\"medium\"（默认）或 \"large\" 以作为具有该工程成熟度的团队来阅读相同的分数——它仅将 AI 可行性带的中心移动 −1 / 0 / +1，没有其他。该视角是调用者查看的过滤器，绝不是存储的",
        "input_schema": {
          "type": "object",
          "properties": {
            "org": {
              "type": "string",
              "enum": [
                "small",
                "medium",
                "large"
              ],
              "default": "medium",
              "description": "Org-maturity lens: \"small\" (no dedicated engineering), \"medium\" (default — some AI capability), \"large\" (AI-mature). Shifts the AI-feasibility band center by −1/0/+1 at read time. A filter the caller looks through, never a stored profile."
            },
            "description": {
              "type": "string",
              "maxLength": 1000,
              "description": "Describe the software need, business problem, or tool you're evaluating (e.g., 'We need to automate our expense reports and receipt scanning')"
            }
          },
          "required": [
            "description"
          ],
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "read",
        "open_world": false,
        "idempotency": "safe_to_retry",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      },
      {
        "name": "b4_score",
        "title_en": "Score a software category",
        "title_zh": "对软件类别进行评分",
        "description_en": "Score a software category using the B4 Index. Provide a known category name to get pre-computed scores, or provide raw dimension scores (1-5 each) for a custom evaluation. Returns the banded verdict (primary, confidence, near-call flag, full distribution, tipping point), axes, urgency level, and a concise breakdown. The default result is intentionally lean — set includeEvidence: true to also get the full research trail and source URLs behind each score. Verdicts are banded (B4 methodology v4.0), not point calls: each of the three quadrant dimensions carries a ±1 uncertainty band, the resulting cells are enumerated exactly, and the verdict is the quadrant holding the most probability mass. Every verdict ships with its full distribution, a confidence word — clear (≥70% of the mass), lean (50–70%), split (<50%) — and a near-call flag when the runner-up is within 15 points. An axis counts as high only when it clears the 3.5 line strictly, which on this 1–5 grid means only at 4 or above, so a category sitting exactly on the line gets the safer call: ties break in the order BUY → BRIDGE → BEWARE → BUILD, cheapest mistake first. Optional org lens: set org to \"small\", \"medium\" (the default",
        "description_zh": "使用 B4 指数对软件类别进行评分。提供已知类别名称以获取预先计算的分数，或提供原始维度分数（每个 1-5）进行自定义评估。返回带状判定（主要、置信度、接近标记、完整分布、临界点）、轴、紧急程度和简明细分。默认结果有意精简——设置 includeEvidence: true 还可获取每个分数背后的完整研究轨迹和来源 URL。判定是带状的（B4 方法论 v4.0），不是点调用：三个象限维度中的每一个都带有 ±1 的不确定性带，生成的单元格被精确枚举，判定是持有最多概率质量的象限。每个判定都附带其完整分布、置信词——清晰（≥70% 的质量）、倾向（50–70%）、分裂（<50%）——以及当亚军在 15 分以内时的接近标记。只有当轴严格超过 3.5 线时才计为高，在这个 1–5 网格上意味着只有 4 或以上，因此恰好位于线上的类别会得到更安全的调用：平局按 BUY → BRIDGE → BEWARE → BUILD 的顺序打破，先犯最便宜的错。可选组织视角：将 org 设置为 \"small\"、\"medium\"（默认）",
        "input_schema": {
          "type": "object",
          "properties": {
            "org": {
              "type": "string",
              "enum": [
                "small",
                "medium",
                "large"
              ],
              "default": "medium",
              "description": "Org-maturity lens: \"small\" (no dedicated engineering), \"medium\" (default — some AI capability), \"large\" (AI-mature). Shifts the AI-feasibility band center by −1/0/+1 at read time. A filter the caller looks through, never a stored profile."
            },
            "category": {
              "type": "string",
              "maxLength": 120,
              "description": "Name of a known B4 category (e.g., 'Expense Management', 'CRM')"
            },
            "includeEvidence": {
              "type": "boolean",
              "default": false,
              "description": "Include the full evidence trail and source URLs behind each dimension score. Off by default so the initial result stays concise; set true for deep verification."
            },
            "scores": {
              "type": "object",
              "properties": {
                "specificity": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5,
                  "description": "1-5: How company-specific is the need?"
                },
                "aiFeasibility": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5,
                  "description": "1-5: How feasible is AI replacement?"
                },
                "vendorValue": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5,
                  "description": "1-5: How much vendor value are you NOT using? (higher = more waste)"
                },
                "strategicControl": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5,
                  "description": "1-5: How strategically important is owning this?"
                },
                "costTrajectory": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 5,
                  "description": "1-5: How much is build cost beating vendor cost?"
                }
              },
              "required": [
                "specificity",
                "aiFeasibility",
                "vendorValue",
                "strategicControl",
                "costTrajectory"
              ],
              "additionalProperties": false,
              "description": "Custom dimension scores for a tool not in the database"
            }
          },
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        },
        "output_schema": {},
        "unit_kind": "mcp_tool",
        "effect": "read",
        "open_world": false,
        "idempotency": "safe_to_retry",
        "confirmation": "explicit policy",
        "evidence_ids": [
          "protocol-tools"
        ],
        "runtime_auth": {},
        "pricing": {},
        "metadata": {}
      }
    ],
    "review_profile": {
      "schema_version": "aiworkshub.resource-review/0.2",
      "method_version": "capability-evidence-v2",
      "review_state": {
        "identity": "verified",
        "source": "verified",
        "connectivity": "verified",
        "contract": "strong",
        "safe_use": "tested",
        "real_use": "unobserved"
      },
      "assessment": {
        "capability_definition": "strong",
        "contract_completeness": "strong",
        "access_friction": "low",
        "operational_transparency": "partial",
        "evidence_strength": "protocol_inspected",
        "use_readiness": "ready_for_guidance"
      },
      "profile": {
        "capabilities": [
          {
            "id": "software.analyze",
            "weight": 100,
            "confidence": 90,
            "evidence_ids": [
              "source-record",
              "protocol-tools"
            ]
          },
          {
            "id": "software.recommend",
            "weight": 80,
            "confidence": 90,
            "evidence_ids": [
              "protocol-tools"
            ]
          }
        ],
        "domains": [
          {
            "id": "software-development",
            "weight": 100,
            "confidence": 90,
            "evidence_ids": [
              "source-record"
            ]
          }
        ],
        "workflow_roles": [
          "discover",
          "retrieve",
          "analyze"
        ]
      },
      "capability_units": [
        {
          "id": "tool:b4_browse",
          "kind": "mcp_tool",
          "capability_id": "software.analyze",
          "effect": "read",
          "open_world": false,
          "idempotency": "safe_to_retry",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "search query",
            "filter criteria"
          ],
          "produces": [
            "software category verdicts"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:b4_score",
          "kind": "mcp_tool",
          "capability_id": "software.analyze",
          "effect": "read",
          "open_world": false,
          "idempotency": "safe_to_retry",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "category name",
            "dimension scores"
          ],
          "produces": [
            "banded verdict",
            "evidence trail"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:b4_audit",
          "kind": "mcp_tool",
          "capability_id": "software.analyze",
          "effect": "read",
          "open_world": false,
          "idempotency": "safe_to_retry",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "list of tool names"
          ],
          "produces": [
            "portfolio summary",
            "verdict distribution"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:b4_compare",
          "kind": "mcp_tool",
          "capability_id": "software.analyze",
          "effect": "read",
          "open_world": false,
          "idempotency": "safe_to_retry",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "category name"
          ],
          "produces": [
            "side-by-side analysis"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        },
        {
          "id": "tool:b4_recommend",
          "kind": "mcp_tool",
          "capability_id": "software.recommend",
          "effect": "read",
          "open_world": false,
          "idempotency": "safe_to_retry",
          "confirmation": "explicit policy",
          "input_contract": "typed",
          "output_contract": "typed_envelope_dynamic_result",
          "accepts": [
            "natural language description"
          ],
          "produces": [
            "recommendations",
            "verdicts"
          ],
          "runtime_auth": {},
          "pricing": {},
          "evidence_ids": [
            "protocol-tools"
          ],
          "metadata": {}
        }
      ],
      "access": {
        "distribution_license": {},
        "runtime_auth": {
          "type": "optional_bearer",
          "description": "Optional Authorization header with Bearer token for Pro tools; free tier requires none."
        },
        "runtime_pricing": {
          "model": "freemium",
          "description": "Free tier for b4_browse and b4_score; Pro tools (b4_audit, b4_compare, b4_recommend) require a key."
        },
        "dependencies": []
      },
      "operational_flags": [],
      "trust": {
        "signal": "none",
        "evidence_ids": [],
        "reason": "No suspicious or malicious evidence."
      },
      "fit": {
        "good_for": [
          "Evaluating build vs buy decisions for software categories",
          "Auditing existing software stacks",
          "Getting recommendations for software needs"
        ],
        "not_for": [
          "Direct software procurement or transactions",
          "Real-time monitoring of software performance"
        ]
      },
      "evidence": [
        {
          "id": "source-record",
          "type": "registry_record",
          "source": "https://registry.modelcontextprotocol.io/v0.1/servers/ai.benroberts%2Fb4-index/versions/3.3.0",
          "observation": "MCP source record for B4 Index; version 3.3.0.",
          "observed_at": null,
          "payload": {}
        },
        {
          "id": "protocol-tools",
          "type": "protocol_observation",
          "source": "https://b4-index.vercel.app/mcp#tools/list",
          "observation": "5 tools were returned by MCP discovery; 5 were retained for review.",
          "observed_at": "2026-09-03T06:06:43.020Z",
          "payload": {}
        }
      ],
      "unknowns": [
        "Exact pricing tiers and rate limits",
        "Data update frequency and coverage details",
        "Authentication requirements for Pro tools beyond optional bearer token"
      ],
      "id": "REV_27233CD12493",
      "resource_id": "RES_85E334714743",
      "evaluator_type": "platform_ai",
      "provider": "deepseek",
      "model": "deepseek-v4-flash",
      "review_scope": "protocol-inspected-mcp",
      "created_at": "2026-09-03T06:07:16.525Z"
    }
  }
}