SH

sycatle/hammer-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

28 stars 4 forks 品質 73 トレンド 31MIT

ソースエンジンマップのMCPサーバー:読み取りとlint VMF、リフォームなしで編集し、フォーマットの制限に対してBSPを測定し、ワイン(在庫またはハンマー++)の下でコンパイルします

概要

Source-engineマップのMCPサーバー .vmf と .bsp ファイルを読み込み、ゲームの FGD に対してマップを埋め込むことで、.vmf をリフォームせずに編集し、コンパイルされたマップのエンティティティをリコンパイルせずにパッチ化し、ワインのコンパイラをドライブします。 、需要のストックやフォールバックとして、フォーマットの限界に対するマップを測定します。 ファイルを読み書きし、コンパイラを実行し、他に何もしない。 これは、ロックを解除し、それを邪魔することなく、ライブサーバーの横に座ることを可能にするものです。 測定日: 11/08/2026 ツールは JSON を返します。バーはこの README のレンダリングです。 上記のすべての番号は、JSON、docs/measuring.md では、それぞれが腐食するものと述べています。 上記のすべての読者は、どのくらいの回答に答えます。 それらの答えのどれも十分です。だから、このツールチェーンを運転することは、それが終わることを学ぶことなくマップを永遠に測定することができます。 read map report は閉じます: リーダーを実行し、それらを . 測定日: 11/08/2026.

概要(AI 翻訳)

Source-engineマップのMCPサーバー [.vmf と .bsp]] を読み込み、マップを強制する ゲーム独自のFGDを編集し、それをリフォームせずに[.vmfを編集し、コンパイルされたマップのエンティティをパッチ Recompiling なし, Wine でコンパイラをドライブ — Hammer ++ デフォルトで, オンデマンドまたは フォールバックとして — 地図を計測 フォーマットの限界に対して。

走行エンジンには決して話せない。 ファイルを読み書きし、コンパイラを実行します。 その他。 これは、ロックを解除し、それを邪魔することなく、ライブサーバーの横に座ることを可能にするものです。

測定日: 11/08/2026 ツールは JSON を返します。バーはこの README のレンダリングです。 お問い合わせ 上記は JSON で、docs/measuring.md は、 それぞれ。

それが何をするか

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | お問い合わせ |** 測定** | 各ランプの量、世界範囲、プロップ在庫、パック資産、視線の合計 | |Judge | 予算のプロファイルに対して同じ測定値で、基準ごとの頂点として - そのため、発信者は、それがどこに立っているかだけでなく、それが行われるときを知る |Read and lint | [.vmfのエンティティティ、出力、ブラシのカウント; FGDに対してチェックされたすべての発見は、ゲーム自体が宣言します |

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

hammer-mcp

An MCP server for Source-engine map work. It reads .vmf and .bsp files, lints a map against the game’s own FGD, edits a .vmf without reformatting it, patches a compiled map’s entities without recompiling, drives the compilers under Wine — Hammer++ by default, stock on demand or as a fallback — and measures a map against the limits of the format.

It never talks to a running engine. It reads and writes files and runs compilers, and nothing else. That is what lets it hold no lock and sit beside a live server without disturbing it.

> read_map_geometry rp_nycity_day.bsp

  a 1.13 GB map — header and lump directory only, 1 ms

  MODELS       1218 /  1024   119%  ████████████▏  over
  TEXINFO     11841 / 12288    96%  █████████▋
  VERTEXES    62270 / 65536    95%  █████████▌
  BRUSHES      6913 /  8192    84%  ████████▍

  4 lumps at or past 80% of their ceiling.

  MODELS is past it outright — and this map loads every day. That is
  not a broken map: it is evidence that the compilers which built it
  raise that ceiling. The tool reports it in those terms, rather than
  an error it cannot substantiate.

Measured on 11/08/2026. The tool returns JSON; the bars are this README’s rendering of it. Every number above is in that JSON, and docs/measuring.md says what corroborates each one.

What it does

flowchart LR
  VMF[".vmf"] --> LINT["read_vmf_lintagainst the game's FGD"]
  LINT --> EDIT["edit_vmfsplice, never reserialise"]
  EDIT --> VMF
  LINT --> C["vbsp · vvis · vradunder Wine"]
  C --> BSP[".bsp"]
  BSP --> M["measure · pack · patch entities"]
  M -. never .-x ENG["a running engine"]
  style ENG stroke-dasharray: 4 4
Measure how full each lump is, world extents, prop inventory, packed assets, sightlines
Judge the same measurements against a budget profile, as a verdict per criterion — so a caller knows when it is done, not just where it stands
Read and lint entities, outputs and brush counts of a .vmf; every finding checked against the FGD the game itself declares
Edit entities, keyvalues and outputs of a .vmf, by splicing byte ranges — untouched bytes stay untouched
Build brushes from a shape description, wound and textured the way vbsp expects, refused unless they close
Optimise func_detail, hint brushes including diagonal ones, per-face lightmap scale — the decisions a compiled map no longer contains
Compile vbsp/vvis/vrad under Wine, findings per stage, and a leak turned into a named entity
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →