{
  "schemaVersion": 1,
  "capturedAt": "2026-07-28T17:05:09.038776Z",
  "model": "glm-5.2",
  "targetRepository": "zai-org/GLM-5",
  "targetFile": "README.md",
  "scope": "One account, one public repository, one file and one date; a compatibility and freshness observation, not an SLA or repository-wide recall benchmark.",
  "sourceControl": {
    "url": "https://raw.githubusercontent.com/zai-org/GLM-5/main/README.md",
    "httpStatus": 200,
    "elapsedMs": 717,
    "responseBodyBytes": 11849,
    "characterCount": 11776,
    "lineCount": 104,
    "sha256": "fb229e4b461f6f5fbf60e8d79bb0e00a7ecd90996458a0888f00dd78e943ddc3",
    "markers": {
      "GLM-5.2": true,
      "IndexShare": true,
      "2.9": true,
      "1M": true
    },
    "excerpt": "# GLM-5.2 & GLM-5.1 & GLM-5\n\n<div align=\"center\">\n<img src=resources/logo.svg width=\"15%\"/>\n</div>\n<p align=\"center\">\n    👋 Join our <a href=\"resources/WECHAT.md\" target=\"_blank\">Wechat</a> or <a href=\"https://discord.gg/Hc5z9bx5Xw\" target=\"_blank\">Discord</a> community.\n    <br>\n    📖 Check out the GLM-5.2 <a href=\"https://z.ai/blog/glm-5.2\" target=\"_blank\">blog</a> and GLM-5 <a href=\"https://arxiv.org/abs/2602.15763\" target=\"_blank\">Technical report</a>.\n    <br>\n    📍 Use GLM-5.2 API services on <a href=\"https://docs.z.ai/guides/llm/glm-5.2\">Z.ai API Platform. </a>\n    <br>\n    🔜 Try GLM-5.2 at <a href=\"https://z.ai\">z.ai</a>.\n</p>\n\n## Introduction\n\n### GLM-5.2\n\nGLM-5.2, our latest flagship model for long-horizon tasks. It marks a substantial leap in long-horizon task capability over its predecessor GLM-5.1 and, for the first time, delivers that capability on a **solid 1M-token context**.\n\nGLM-5.2's new capabilities include:\n- **Solid 1M Context:** A solid 1M-token context that stably sustains long-horizon work\n- **Advanced Coding with Flexible Effort**: Stronger coding capabilities with multiple thinking effort levels to balance performance and latency\n- **Improved Architecture**: We propose [IndexShare](https://arxiv.org/abs/2603.12201), which reuses the same indexer across every four sparse attention layers, reducing per-token FLOPs by 2.9× at a 1M context length. We also improve GLM-5.2’s MTP layer for speculative decoding, increasing the acceptance length by up to 20%\n\n![bench_52](resources/bench_52.png)\n\nOn standard coding benchmarks, GLM-5.2 is the strongest open-source model, improving on GLM-5.1 by a wide margin: 81.0 vs. 62.0 on Terminal-Bench 2.1 and 62.1 vs. 58.4 on SWE-bench Pro. It also closes much of the gap to the closed-source frontier — on Terminal-"
  },
  "mcp": {
    "endpoint": "https://api.z.ai/api/mcp/zread/mcp",
    "initializeHttpStatus": 200,
    "initializeElapsedMs": 735,
    "requestedProtocol": "2025-03-26",
    "returnedProtocol": "2024-11-05",
    "serverName": "zread-server",
    "sessionIdPresent": true,
    "sessionIdStored": false,
    "toolsListHttpStatus": 200,
    "toolsListElapsedMs": 580,
    "tools": [
      {
        "name": "search_doc",
        "description": "Search documentation, issues, and commits of a GitHub repository.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "repo_name": {
              "type": "string",
              "description": "GitHub repository: owner/repo (e.g. \"vitejs/vite\")"
            },
            "query": {
              "type": "string",
              "description": "The search keywords or question about the repository."
            },
            "language": {
              "type": "string",
              "description": "'zh' or 'en' (choose according to context language)."
            }
          },
          "required": [
            "repo_name",
            "query"
          ],
          "additionalProperties": false
        }
      },
      {
        "name": "read_file",
        "description": "Read the full code content of a specific file in a GitHub repository.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "repo_name": {
              "type": "string",
              "description": "GitHub repository: owner/repo (e.g. \"vitejs/vite\")"
            },
            "file_path": {
              "type": "string",
              "description": "The relative path to the file (e.g. \"src/index.ts\")."
            }
          },
          "required": [
            "repo_name",
            "file_path"
          ],
          "additionalProperties": false
        }
      },
      {
        "name": "get_repo_structure",
        "description": "Get the directory structure and file list of a GitHub repository.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "repo_name": {
              "type": "string",
              "description": "GitHub repository: owner/repo (e.g. \"vitejs/vite\")"
            },
            "dir_path": {
              "type": "string",
              "description": "The directory path to inspect (default: root \"/\")"
            }
          },
          "required": [
            "repo_name"
          ],
          "additionalProperties": false
        }
      }
    ],
    "observations": [
      {
        "case": "mcp-get-repo-structure",
        "tool": "get_repo_structure",
        "arguments": {
          "repo_name": "zai-org/GLM-5"
        },
        "httpStatus": 200,
        "elapsedMs": 1702,
        "contentItems": 1,
        "textItems": 1,
        "jsonStringsUnwrapped": 1,
        "characterCount": 577,
        "lineCount": 23,
        "sha256": "36ea4515d3156266673ba27ac0dc7281b967bdf8f9e3c5434db9a64b1e4a326c",
        "markers": {
          "GLM-5.2": false,
          "IndexShare": false,
          "2.9": false,
          "1M": false
        },
        "isError": false,
        "excerpt": "Directory Structure of zai-org/GLM-5:\n\n<structure>\n├── LICENSE\n├── README.md\n├── README_zh.md\n├── example/\n│   └── ascend.md\n├── requirements.txt\n├── resources/\n│   ├── WECHAT.md\n│   ├── bench.png\n│   ├── bench_51.png\n│   ├── logo.svg\n│   ├── realworld_bench.png\n│   ├── vending_bench.png\n│   └── wechat.png\n└── skills/\n    └── glm-master-skill/\n        └── SKILL.md\n</structure>\n\nTip: Only showing 3 levels of depth. Use `get_repo_structure` on a subdirectory to see deeper, or `read_file` to read content. To understand the repository, view at: https://zread.ai/zai-org/GLM-5"
      },
      {
        "case": "mcp-read-readme",
        "tool": "read_file",
        "arguments": {
          "repo_name": "zai-org/GLM-5",
          "file_path": "README.md"
        },
        "httpStatus": 200,
        "elapsedMs": 2131,
        "contentItems": 1,
        "textItems": 1,
        "jsonStringsUnwrapped": 1,
        "characterCount": 10219,
        "lineCount": 140,
        "sha256": "91727fe0843847d88b65543f45fe53c5ef725e2662b39a0b0b67125b70ecafb2",
        "markers": {
          "GLM-5.2": false,
          "IndexShare": false,
          "2.9": false,
          "1M": false
        },
        "isError": false,
        "excerpt": "File content for README.md in zai-org/GLM-5.\nSource: https://github.com/zai-org/GLM-5/blob/master/README.md\n\n<file_content>\n# GLM-5.1 & GLM-5\n\n<div align=\"center\">\n<img src=resources/logo.svg width=\"15%\"/>\n</div>\n<p align=\"center\">\n    👋 Join our <a href=\"resources/WECHAT.md\" target=\"_blank\">Wechat</a> or <a href=\"https://discord.gg/zFMhpMRFP\" target=\"_blank\">Discord</a> community.\n    <br>\n    📖 Check out the GLM-5.1 <a href=\"https://z.ai/blog/glm-5.1\" target=\"_blank\">blog</a> and GLM-5 <a href=\"https://arxiv.org/abs/2602.15763\" target=\"_blank\">Technical report</a>.\n    <br>\n    📍 Use GLM-5.1 API services on <a href=\"https://docs.z.ai/guides/llm/glm-5.1\">Z.ai API Platform. </a>\n    <br>\n    🔜 <a href=\"https://chat.z.ai\">GLM-5.1</a> will be available on chat.z.ai in the coming days.\n</p>\n\n## Introduction\n\n### GLM-5.1\n\nGLM-5.1 is our next-generation flagship model for agentic engineering, with significantly stronger coding capabilities than its predecessor. It achieves state-of-the-art performance on SWE-Bench Pro and leads GLM-5 by a wide margin on NL2Repo (repo generation) and Terminal-Bench 2.0 (real-world terminal tasks).\n\n![bench_51](resources/bench_51.png)\n\nBut the most meaningful leap goes beyond first-pass performance. Previous models—including GLM-5—tend to exhaust their repertoire early: they apply familiar techniques for quick initial gains, then plateau. Giving them more time doesn't help.\n\nGLM-5.1, by contrast, is built to stay effective on agentic tasks over much longer horizons. We've found that the model handles ambiguous problems with better judgment and stays productive over longer sessions. It breaks complex problems down, runs experiments, reads results, and identifies blockers with real precision. By revisiting its reasoning and revising its strategy"
      },
      {
        "case": "mcp-search-doc",
        "tool": "search_doc",
        "arguments": {
          "repo_name": "zai-org/GLM-5",
          "query": "GLM-5.2 IndexShare 1M context per-token FLOPs",
          "language": "en"
        },
        "httpStatus": 200,
        "elapsedMs": 3274,
        "contentItems": 1,
        "textItems": 1,
        "jsonStringsUnwrapped": 1,
        "characterCount": 5813,
        "lineCount": 186,
        "sha256": "6b95612ed743d482d9d102fb3aa31af07b510f71491e8ab10fab691f22bf4098",
        "markers": {
          "GLM-5.2": false,
          "IndexShare": false,
          "2.9": false,
          "1M": true
        },
        "isError": false,
        "excerpt": "Search results for zai-org/GLM-5\n\n:[1]: GLM-5 vs Competitors\nSource: https://zread.ai/zai-org/GLM-5/6-glm-5-vs-competitors\n<excerpt>\nAnd this is where the comparison tilts hard in GLM-5's favor.\n\n| Model | Input (per 1M tokens) | Output (per 1M tokens) | Ratio vs.\n</excerpt>\n\n<excerpt>\n) | Undisclosed |\n| Active Parameters | 40B/token | Full activation | Full activation | 37B/token | Full activation |\n| Context Window | 200K | 200K (1M beta) | 128K | 128K | 1M |\n| Max Output | 131K |\n</excerpt>\n\n<excerpt>\nSeveral things stand out:\n\n**Context window advantage over most competitors.** GLM-5's 200K context matches Claude Opus 4.6 and exceeds GPT-5.2 (128K) and DeepSeek-V3.2 (128K).\n</excerpt>\n\n<excerpt>\n**MoE efficiency.** With only 40B active parameters per token out of 744B total, GLM-5's inference cost is dramatically lower than running a similarly capable dense model.\n</excerpt>\n\n<excerpt>\nSeveral are worth noting for anyone evaluating GLM-5 against competitors:\n\n**Context collapse at scale.** The [closed issue #42](https://github.com/zai-org/GLM-5/issues/42) reports that GLM-5.1 enters\n</excerpt>\n\n---\n\n[2]: Benchmark Performance Summary\nSource: https://zread.ai/zai-org/GLM-5/5-benchmark-performance-summary\n<excerpt>\n| GLM-5 | GLM-5.1 |\n|---|---|---|\n| Total Parameters | 744B (MoE) | 744B (MoE) |\n| Active Parameters / Token | 40B | 40B |\n| Context Window | 200K | 200K |\n| Max Output Tokens | 128K | 128K |\n| Pre-training\n</excerpt>\n\n<excerpt>\n| Benchmark | GLM-5 | GLM-4.7 | DeepSeek-V3.2 | Kimi K2.5 | Claude Opus 4.5 | Gemini 3 Pro | GPT-5.2 (xhigh) |\n|---|---|---|---|---|---|---|---|\n| **Reasoning** | | | | | | | |\n| Humanity's Last Exam\n</excerpt>\n\n<excerpt>\nThis suggests that the advertised 200K context window may not be fully reliable in all deployment configuration"
      },
      {
        "case": "mcp-read-missing-file",
        "tool": "read_file",
        "arguments": {
          "repo_name": "zai-org/GLM-5",
          "file_path": "__glm52_probe_missing__.md"
        },
        "httpStatus": 200,
        "elapsedMs": 1917,
        "contentItems": 1,
        "textItems": 1,
        "jsonStringsUnwrapped": 1,
        "characterCount": 91,
        "lineCount": 1,
        "sha256": "e020219cbe5767e1ba51d33e828d8c494ad671dd69ebac415966760ad2d5b769",
        "markers": {
          "GLM-5.2": false,
          "IndexShare": false,
          "2.9": false,
          "1M": false
        },
        "isError": false,
        "excerpt": "code: 1015, message: tool execute error, error: `__glm52_probe_missing__.md` does not exist"
      }
    ]
  },
  "freshnessControl": {
    "raw_readme_is_exact_substring": false,
    "source_nontrivial_line_count": 64,
    "returned_nontrivial_line_count": 79,
    "exact_shared_line_count": 35,
    "source_line_recall": 0.5469,
    "all_expected_markers_in_source": true,
    "all_expected_markers_in_zread": false,
    "not_a_whole_repository_recall_score": true,
    "conclusion": "The Zread README omitted all four current-source markers in this dated repository/file observation. It is not a claim that every Zread repository is stale."
  },
  "semanticErrorControl": {
    "httpStatus": 200,
    "mcpIsError": false,
    "applicationErrorDetected": true,
    "returnedText": "code: 1015, message: tool execute error, error: `__glm52_probe_missing__.md` does not exist",
    "conclusion": "HTTP 200 and MCP isError=false did not mean the requested file existed; the text carried application code 1015."
  },
  "glm52Ingestions": {
    "zreadSnapshot": {
      "source": "zread-read_file",
      "httpStatus": 200,
      "elapsedMs": 2704,
      "sourceCharactersAvailable": 10219,
      "sourceCharactersSent": 10219,
      "sourceTruncated": false,
      "wrappedAsUntrustedContent": true,
      "thinking": "disabled",
      "maxTokens": 500,
      "validJson": true,
      "parsedAnswer": {
        "model": "GLM-5",
        "technique": "DeepSeek Sparse Attention (DSA)",
        "shared_layer_count": null,
        "per_token_flops_reduction": null,
        "context_length": null,
        "mentions_official_api": true
      },
      "promptTokens": 3029,
      "completionTokens": 64,
      "totalTokens": 3093,
      "modelTokenCostUsd": 0.0045222
    },
    "currentGitHubControl": {
      "source": "github-raw-control",
      "httpStatus": 200,
      "elapsedMs": 2264,
      "sourceCharactersAvailable": 11776,
      "sourceCharactersSent": 11776,
      "sourceTruncated": false,
      "wrappedAsUntrustedContent": true,
      "thinking": "disabled",
      "maxTokens": 500,
      "validJson": true,
      "parsedAnswer": {
        "model": "GLM-5.2",
        "technique": "IndexShare",
        "shared_layer_count": 4,
        "per_token_flops_reduction": 2.9,
        "context_length": "1M",
        "mentions_official_api": true
      },
      "promptTokens": 3532,
      "completionTokens": 68,
      "totalTokens": 3600,
      "modelTokenCostUsd": 0.005244
    }
  },
  "firstAttemptControl": {
    "file": "results-first-attempt.json",
    "httpStatus": 200,
    "thinkingWasExplicitlyDisabled": false,
    "maxTokens": 300,
    "validJson": false,
    "promptTokens": 3180,
    "completionTokens": 300,
    "totalTokens": 3480,
    "modelTokenCostUsd": 0.005772,
    "conclusion": "The first request reached its 300-token completion cap and did not yield parseable JSON. The final controls disabled thinking explicitly and returned valid JSON."
  },
  "localSafetyControl": {
    "repo_cases": [
      {
        "value": "zai-org/GLM-5",
        "accepted": true,
        "reason": "owner-repo-needs-policy-allowlist"
      },
      {
        "value": "vitejs/vite",
        "accepted": true,
        "reason": "owner-repo-needs-policy-allowlist"
      },
      {
        "value": "https://github.com/zai-org/GLM-5",
        "accepted": false,
        "reason": "url-not-owner-repo"
      },
      {
        "value": "zai-org/../private",
        "accepted": false,
        "reason": "invalid-owner-repo"
      },
      {
        "value": "localhost/repo",
        "accepted": true,
        "reason": "owner-repo-needs-policy-allowlist"
      },
      {
        "value": "owner",
        "accepted": false,
        "reason": "invalid-owner-repo"
      },
      {
        "value": "owner/repo/extra",
        "accepted": false,
        "reason": "invalid-owner-repo"
      }
    ],
    "file_cases": [
      {
        "value": "README.md",
        "accepted": true,
        "reason": "relative-path-needs-extension-and-size-policy"
      },
      {
        "value": "src/index.ts",
        "accepted": true,
        "reason": "relative-path-needs-extension-and-size-policy"
      },
      {
        "value": "../secrets.env",
        "accepted": false,
        "reason": "path-traversal"
      },
      {
        "value": "/etc/passwd",
        "accepted": false,
        "reason": "absolute-backslash-or-null"
      },
      {
        "value": "src\\windows.txt",
        "accepted": false,
        "reason": "absolute-backslash-or-null"
      },
      {
        "value": "docs/../../secret",
        "accepted": false,
        "reason": "path-traversal"
      },
      {
        "value": "",
        "accepted": false,
        "reason": "empty-or-too-long"
      }
    ],
    "allowlist_required_after_syntax_check": true,
    "returned_content_must_be_treated_as_untrusted": true,
    "output_byte_cap_required": true
  },
  "pricingIllustration": {
    "checkedAt": "2026-07-29",
    "inputUsdPerMillionTokens": 1.4,
    "outputUsdPerMillionTokens": 4.4,
    "finalTwoModelCallsUsd": 0.0097662,
    "zreadSubscriptionQuotaPricedSeparately": true
  },
  "summary": {
    "remote_http_observation_count": 10,
    "remote_http_200_count": 10,
    "all_observed_http_statuses_200": true,
    "tool_names": [
      "search_doc",
      "read_file",
      "get_repo_structure"
    ],
    "structure_characters": 577,
    "read_file_characters": 10219,
    "search_doc_characters": 5813,
    "missing_file_is_error": false,
    "missing_file_app_error_detected": true,
    "glm_zread_json_parse_success": true,
    "glm_raw_json_parse_success": true
  },
  "credentialStored": false,
  "authorizationHeaderStored": false,
  "responseIdsStored": false,
  "sessionIdsStored": false,
  "cookiesStored": false,
  "reasoningStored": false
}
