{
  "format_version": "0.2.0",
  "report_id": "bb9b1f6a-c183-4410-a34b-5f06e7f6763e",
  "generated_at": "2026-08-13T00:17:27.695Z",
  "subject": {
    "server_name": "@transcend-io/mcp-server-docs",
    "publisher_claim": "@transcend-io",
    "artifact": {
      "ecosystem": "npm",
      "package": "@transcend-io/mcp-server-docs",
      "version": "0.3.15",
      "sha256": "0d1cacae5b983d7a41addb1056feab37039d3f4fa48a7bdfb4711bdea4514011",
      "download_url": "https://registry.npmjs.org/@transcend-io/mcp-server-docs/-/mcp-server-docs-0.3.15.tgz",
      "registry_metadata_url": "https://registry.npmjs.org/%40transcend-io%2Fmcp-server-docs/0.3.15",
      "acquired_at": "2026-08-13T00:17:27.695Z",
      "registry_metadata_sha256": "4cac5a9598af17701b51bf96797bd2bd7e9568d03451d6e7c41b2563c57ee6a8",
      "integrity_claim": "sha512-SRKnvt0CXtno5aM4XN16526a56j2J6ZJfwFPPSrlEccYkHZAU5levmsjtaXCIbe8Vs+oyjS3L0FrVeWUmEkcCw==",
      "integrity_verified": true
    }
  },
  "analysis": {
    "engine": {
      "name": "sentinel",
      "version": "0.2.0",
      "build_sha256": "76ecfa3e5785d89b34d6618b32c84c01f0e40666b3541871cc874aba61200160"
    },
    "protocol_profile": {
      "id": "mcp-2026-07-28",
      "specification_revision": "2026-07-28",
      "local_retrieval_date": "2026-08-01",
      "discovery_status": "not_run"
    },
    "authorization_profiles": [
      {
        "id": "none",
        "credential_present": false,
        "description": "No credentials were supplied."
      }
    ],
    "rule_pack": {
      "version": "0.1.0",
      "sha256": "302d85219dda34199bd2402fcc94ba34233152fe996a128e0b332ac3efef24b3"
    },
    "semantic_analysis": []
  },
  "observations": [
    {
      "id": "observation:package-metadata",
      "kind": "artifact_metadata",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "f8ee33a1ca53578d96026e0de1aae14e8f631ac0c34f82bcabe189648af3e3b9",
          "artifact_path": "package/package.json",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "name": "@transcend-io/mcp-server-docs",
        "version": "0.3.15",
        "description": "Transcend MCP Server — Documentation lookup tools.",
        "bin": {
          "transcend-mcp-docs": "./dist/cli.mjs"
        },
        "scripts": {
          "build": "tsdown",
          "test": "vitest run --config ../../../vitest.config.mcp.ts",
          "typecheck": "tsc -p tsconfig.json --noEmit",
          "check:exports": "attw --pack . --ignore-rules cjs-resolves-to-esm",
          "check:publint": "publint --level warning --strict --pack pnpm"
        },
        "engines": {
          "node": ">=22.12.0"
        }
      }
    },
    {
      "id": "observation:file-inventory",
      "kind": "file",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "0d1cacae5b983d7a41addb1056feab37039d3f4fa48a7bdfb4711bdea4514011",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "entry_count": 11,
        "regular_file_bytes": 27710,
        "entries": [
          {
            "path": "package/dist/cli.d.mts",
            "type": "file",
            "size": 11,
            "sha256": "4f1bad288ada6326583a3e6a0a54d7627a03eac3b668adeea9dded12ac5656b8"
          },
          {
            "path": "package/dist/cli.mjs",
            "type": "file",
            "size": 375,
            "sha256": "bcc986fe442515c36c2773e9be82ff696a9077b489acd972ce975a33922e8277"
          },
          {
            "path": "package/dist/cli.mjs.map",
            "type": "file",
            "size": 202,
            "sha256": "97541f0c24d0770e40fbac52e57b402e8c3f65a350dd30e1ee1abc5939d6e2e7"
          },
          {
            "path": "package/dist/index.d.mts",
            "type": "file",
            "size": 2069,
            "sha256": "ca2a98a741cd8e612a9db178cccfa14af3fa76f5017450f9abde6611a67e4129"
          },
          {
            "path": "package/dist/index.d.mts.map",
            "type": "file",
            "size": 624,
            "sha256": "a1844762169c808cef2032b463c58ba40e91f2c915dc1beecab49b4d7c167758"
          },
          {
            "path": "package/dist/index.mjs",
            "type": "file",
            "size": 392,
            "sha256": "fcfd07798ee1984232ceb79cafbf92725916692bfb480bb6ce06b034a9d316e2"
          },
          {
            "path": "package/dist/tools-Cc8ZQVE0.mjs",
            "type": "file",
            "size": 5678,
            "sha256": "ec3862cd84205ba4d57de6800e69443a8f40a9440f1b5ac3d9fc5e7c85e91e92"
          },
          {
            "path": "package/dist/tools-Cc8ZQVE0.mjs.map",
            "type": "file",
            "size": 2949,
            "sha256": "dcde8c0e70a274137d9ddd01f0f6ddf7511a0803f06dd233997892acf30572ae"
          },
          {
            "path": "package/LICENSE",
            "type": "file",
            "size": 11357,
            "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4"
          },
          {
            "path": "package/package.json",
            "type": "file",
            "size": 1519,
            "sha256": "f8ee33a1ca53578d96026e0de1aae14e8f631ac0c34f82bcabe189648af3e3b9"
          },
          {
            "path": "package/README.md",
            "type": "file",
            "size": 2534,
            "sha256": "f680150e15d144a04bdaed5dfd0ab7781cad409af9ff77585c1f2b141686941b"
          }
        ]
      }
    },
    {
      "id": "observation:registry-metadata",
      "kind": "artifact_metadata",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "4cac5a9598af17701b51bf96797bd2bd7e9568d03451d6e7c41b2563c57ee6a8",
          "capture_kind": "registry_metadata"
        }
      ],
      "data": {
        "metadata_url": "https://registry.npmjs.org/%40transcend-io%2Fmcp-server-docs/0.3.15",
        "requested_package": "@transcend-io/mcp-server-docs",
        "requested_version": "0.3.15",
        "tarball_url": "https://registry.npmjs.org/@transcend-io/mcp-server-docs/-/mcp-server-docs-0.3.15.tgz",
        "integrity_claim": "sha512-SRKnvt0CXtno5aM4XN16526a56j2J6ZJfwFPPSrlEccYkHZAU5levmsjtaXCIbe8Vs+oyjS3L0FrVeWUmEkcCw==",
        "integrity_verified": true
      }
    },
    {
      "id": "observation:runtime-dependencies",
      "kind": "dependency",
      "coverage": "declared",
      "evidence": [
        {
          "sha256": "f8ee33a1ca53578d96026e0de1aae14e8f631ac0c34f82bcabe189648af3e3b9",
          "artifact_path": "package/package.json",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "dependencies": {
          "@modelcontextprotocol/sdk": "^1.29.0",
          "@transcend-io/mcp-server-base": "1.2.0",
          "lru-cache": "^11.5.1",
          "zod": "^4.3.6"
        }
      }
    },
    {
      "id": "observation:network-api-7fd485809fa6474e",
      "kind": "code_indicator",
      "coverage": "inferred",
      "evidence": [
        {
          "sha256": "ec3862cd84205ba4d57de6800e69443a8f40a9440f1b5ac3d9fc5e7c85e91e92",
          "artifact_path": "package/dist/tools-Cc8ZQVE0.mjs",
          "capture_kind": "artifact_file",
          "byte_range": [
            1233,
            1239
          ]
        }
      ],
      "data": {
        "indicator": "network-api",
        "description": "Source references a network API."
      }
    },
    {
      "id": "observation:process-spawn-api-773196f11b04c0d2",
      "kind": "code_indicator",
      "coverage": "inferred",
      "evidence": [
        {
          "sha256": "ec3862cd84205ba4d57de6800e69443a8f40a9440f1b5ac3d9fc5e7c85e91e92",
          "artifact_path": "package/dist/tools-Cc8ZQVE0.mjs",
          "capture_kind": "artifact_file",
          "byte_range": [
            825,
            830
          ]
        }
      ],
      "data": {
        "indicator": "process-spawn-api",
        "description": "Source references a process-spawning API."
      }
    },
    {
      "id": "observation:static-tool-inventory",
      "kind": "protocol_inventory",
      "coverage": "inferred",
      "evidence": [
        {
          "sha256": "0d1cacae5b983d7a41addb1056feab37039d3f4fa48a7bdfb4711bdea4514011",
          "capture_kind": "artifact_file"
        }
      ],
      "data": {
        "extraction": "static_source_analysis",
        "complete": false,
        "incompleteness": [
          "no_recognized_registration_pattern",
          "tools_inferred_from_definitions_only"
        ],
        "scanned_files": [
          "package/dist/cli.mjs",
          "package/dist/index.mjs",
          "package/dist/tools-Cc8ZQVE0.mjs"
        ],
        "tools": [
          {
            "name": "docs_fetch",
            "discovery": "definition",
            "artifact_path": "package/dist/tools-Cc8ZQVE0.mjs",
            "byte_range": [
              3439,
              3945
            ],
            "description_sha256": "ae1d05110cc7a7a82c102a5aeea5942d262b100ec5dba21a7b2bb0101c656b1b",
            "description_repr": "string_literal",
            "input_schema_sha256": "5cd3e32f37229d46fc018005a5ad1686507b6e1d2b212020244c2cadbddb875a",
            "input_schema_repr": "source_text"
          },
          {
            "name": "docs_list",
            "discovery": "definition",
            "artifact_path": "package/dist/tools-Cc8ZQVE0.mjs",
            "byte_range": [
              4706,
              5276
            ],
            "description_sha256": "987e32343ee4392a6dc407e5ae4023e32d9048a5c9de2ddd15e758cbe21f1fb0",
            "description_repr": "string_literal",
            "input_schema_sha256": "fab1a36b1801b00fdebcaf6838e2d73a815f295d24d2f624c5199da3b5bcd4f0",
            "input_schema_repr": "source_text"
          }
        ]
      }
    }
  ],
  "findings": [],
  "limitations": [
    {
      "code": "protocol_discovery_not_run",
      "summary": "M1 performs static artifact inspection only; no MCP protocol session was opened."
    },
    {
      "code": "tool_calls_not_performed",
      "summary": "No tools were invoked."
    },
    {
      "code": "semantic_analysis_not_run",
      "summary": "No semantic model analysis was run."
    },
    {
      "code": "static_tool_extraction_incomplete",
      "summary": "The declared tool surface could not be fully resolved from source (no_recognized_registration_pattern, tools_inferred_from_definitions_only). Treat the inventory as a lower bound, not a complete list."
    }
  ]
}