mcpField
T
terrainprofile

terrainprofile

ローカル
github.com/CloudCorpRecords地図・旅行01 週間前に更新

terrainprofile について

terrainprofile は Geospatial System の地形ツールをローカルで中継し、地点の標高や地形を調べるユーザー向けです。単点・一括標高の照会、地形統計、地図、3D 地形を提供し、データは上流から取得します。

主な機能

  1. 01単点・複数地点の標高照会
  2. 02周辺の標高・傾斜統計の算出
  3. 03標高・傾斜の範囲チャート作成
  4. 04複合地形図の生成
  5. 053D 地形サーフェスの表示

活用シーン

  1. 01座標地点の標高確認
  2. 02複数地点の標高比較
  3. 03局所的な傾斜と標高分布の確認
  4. 04地点の地形図や3D 表示の作成

MCP 対応

上流の Geospatial System MCP サーバーのツール一覧をローカルに公開し、呼び出しを転送して結果をそのまま返します。クライアント向けの MCP サーバーとして実行できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-terrainprofile": {
"command": "npx",
"args": [
"-y",
"@reneturcios/terrainprofile"
]
}
}
}
起動コマンドnpx -y @reneturcios/terrainprofile

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/terrainprofile0.1.0
ocighcr.io/cloudcorprecords/terrainprofile:0.1.0

ツール

9

掲載時のツール一覧 · 1 週間前に更新

このツールにパラメーターはありません。

詳細

terrainprofile

terrainprofile は、ホスト型の Geospatial System ロケーションプロファイル MCP サーバーへの小規模なローカルブリッジです。このサーバーは、世界および地域の DEM(数値標高モデル)データセットから標高データを読み取ります。緯度と経度、およびデータセット ID を渡すと、その地点の標高、小規模な近傍ウィンドウ内の標高と傾斜の統計、レンジボックスチャート、複合地形図、またはその地点の 3D 透視地形面を返します。

このブリッジは独自の地形データを保持しません。ライブエンドポイントから取得したままの上流サーバーのツール一覧をローカルで提供し、各ツール呼び出しを上流に転送して、結果をそのまま返します。取得したインターフェースは読み取り専用の地形データであり、書き込み、購入、アカウントに関するツールは含まれていません。

ツール

  • list_datasets — サーバーで利用可能な標高データセットをすべて一覧表示します。引数は不要です。まずこれを呼び出して dataset_id を取得してください。
  • LP_Get_Elevation — 1 つの座標における標高をメートル単位で返します。必須項目:lat、lon、dataset_id。Free を含むすべてのティアで利用できます。
  • LP_Get_Elevation_Batch — 1 回の呼び出しで最大 100 地点の標高を返します。必須項目:lat、lon、dataset_id を含むオブジェクトのリスト queries。Free を含むすべてのティアで利用できます。
  • LP_Get_Elevation_Stats — 座標を中心とする 3×3、5×5、7×7 ピクセルウィンドウの標高統計(最小、平均、最大)を返します。必須項目:lat、lon、dataset_id。Pro または Enterprise キーが必要です。
  • LP_Get_Slope_Stats — 同じウィンドウサイズにおける地形傾斜の統計(最小、平均、最大)を度単位で返します。WGS-84 補正済みです。必須項目:lat、lon、dataset_id。Pro キーが必要です。
  • LP_Get_Elevation_Chart — 3 種類のウィンドウサイズにおける標高の最小値/平均値/最大値を示すレンジボックスチャートを、チャート画像の URL として返します。必須項目:lat、lon、dataset_id。任意項目:fmt(デフォルトは "png"、"svg" または "pdf" も指定可能)。Pro キーが必要です。
  • LP_Get_Slope_Chart — 地形傾斜について同じ形式のレンジボックスチャートを返します。必須項目:lat、lon、dataset_id。任意項目:fmt(デフォルトは "png")。Pro キーが必要です。
  • LP_Get_Terrain_Map — 複合地形図を返します。衛星画像に、ラベル付きの平滑化された等高線、流向矢印、位置ピンを重ねたもので、EPSG:3857 です。必須項目:lat、lon、dataset_id。任意項目:offset(半ウィンドウのピクセル数、デフォルトは 20)、n_arrows(流向矢印のグリッド密度、デフォルトは 11)、fmt(デフォルトは "png")。Pro キーが必要です。
  • LP_Get_Terrain_3D — 標高に応じて着色された 3D 透視地形面を返します。クエリ地点には赤いスパイク状のピンが表示されます。必須項目:lat、lon、dataset_id。任意項目:offset(デフォルトは 20)、elev_angle(カメラの仰角、デフォルトは 45)、azim_angle(カメラの方位角、デフォルトは 135)、fmt(デフォルトは "png"、または "html")。Pro キーが必要です。

座標は WGS-84 の十進度です。

設定

  • GEOSPATIAL_MCP_URL(任意)— 上流エンドポイントを上書きします。デフォルトは https://api.geospatialsystem.com/mcp です。(この上書きフックは、この再構築で独自に明示したものです。)
  • GEOSPATIAL_API_KEY(任意)— 設定すると、呼び出し元自身の Geospatial System キーを使い、すべての上流リクエストに Authorization: Bearer <key> ヘッダーを付加します。元のサーバーのレジストリレコードでは、Authorization ヘッダーに必須のシークレットが指定されています。Bearer スキームと、この環境変数からの転送は、元のインターフェースがキーなしで取得されたため、再構築で独自に明示したものです。設定されていない場合、キーのヘッダーは送信されません。
転送の仕組み

最初のツール呼び出しで、クライアントは上流とのストリーミング可能な HTTP セッションを開きます。JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo name terrainprofile)、続いて notifications/initialized 通知、その後、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流が initialize に Mcp-Session-Id ヘッダーを付けて応答すると、その値は セッションの後続のすべてのリクエストに引き継がれ、 プロセスの存続期間中再利用されます。応答は通常の JSON または サーバー送信イベントで届く場合があり、どちらも読み取られます。

上流からの成功した結果は、上流が設定した isError フラグも含め、 そのまま渡されます。失敗 — JSON-RPC エラー、非 2xx ステータス、 読み取り不能な応答、または完了できないリクエスト — は、 テキストが terrainprofile error: で始まる isError 結果として 返されます(この表記は、この再構築で独自にラベル付けしたものです)。

CLI

各ツールは、JSON 引数文字列を受け取るサブコマンドでもあります。

npx @reneturcios/terrainprofile list_datasets
npx @reneturcios/terrainprofile LP_Get_Elevation '{"lat":37.7749,"lon":-122.4194,"dataset_id":"<id from list_datasets>"}'
npx @reneturcios/terrainprofile LP_Get_Elevation_Batch '{"queries":[{"lat":37.7749,"lon":-122.4194,"dataset_id":"<id>"}]}'
npx @reneturcios/terrainprofile LP_Get_Terrain_3D '{"lat":37.7749,"lon":-122.4194,"dataset_id":"<id>","fmt":"html"}'
npx @reneturcios/terrainprofile --version

終了コード:成功時は 0、isError の結果時は 1、使用方法の エラー時は 2 です。

MCP サーバー

npx -y @reneturcios/terrainprofile mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "terrainprofile": {
      "command": "npx",
      "args": ["-y", "@reneturcios/terrainprofile", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/terrainprofile
docker run --rm ghcr.io/cloudcorprecords/terrainprofile --version

コンテナのデフォルトコマンドは mcp です。そのため、最初の形式は stdio MCP サーバーとなり、それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートは、スタブ化された JSON-RPC 上流のみを使用して実行されます。実際のネットワーク呼び出しはありません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。