OpenWorkに国交省「地理空間MCP Server」を設定してみた

最終更新日

はじめに

国土交通省から公開された
MLIT Geospatial MCP Server(α版)
を試してみたくて、先日環境構築したOpenWorkに設定してみました。

公式説明:

Claude MCPから不動産情報ライブラリAPIを統合的に呼び出すためのMCPサーバです。
大規模言語モデル(LLM)と直接連携し、対話形式で直感的に不動産情報ライブラリのデータを検索・取得することが可能になります。


事前準備(APIキー取得)

利用にはAPIキーが必要です。

私は申請から 約2日程度でAPIキーが発行されました。


前提

この記事は以下の続きです。

👉 OpenWorkをMultipass環境に構築済み
👉 MCPの基本設定済み


MCPサーバをVM内に用意

MultipassのVMにaiuserでログインし、sandbox配下で作業します。

cd ~/sandbox
git clone https://github.com/chirikuuka/mlit-geospatial-mcp
cd mlit-geospatial-mcp

パスの確認

後で必要になるので確認しておきます。

server.py のパス

例:

/home/aiuser/sandbox/mlit-geospatial-mcp/src/server.py

Python環境構築

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Python実行ファイルのパス

これも後で必要になるので確認しておきます。

which python

例:

/home/aiuser/sandbox/mlit-geospatial-mcp/.venv/bin/python

OpenWorkにMCPサーバを登録

設定ファイルを編集:

vim ~/.config/opencode/opencode.json

設定内容(初期版)

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mlit-geospatial-mcp": {
      "type": "local",
      "command": [
        "sh",
        "-c",
        "LIBRARY_API_KEY=your_api_key_here PYTHONUNBUFFERED=1 /home/aiuser/sandbox/mlit-geospatial-mcp/.venv/bin/python /home/aiuser/sandbox/mlit-geospatial-mcp/src/server.py"
      ],
      "enabled": true
    }
  }
}

動作確認

OpenWorkを再起動後、以下を会話に投げてみます:

use mlit-geospatial-mcp. 鹿児島県の津波浸水想定の地域を教えてください。

結果

  • MCPツールが呼び出される
  • 地理空間データが取得できる

例:

mlit-geospatial-mcp_get_multi_api を使って取得します

👉 正常に連携できていることを確認


改善(セキュリティ & 可読性)

上記の設定は問題なく動作しますが、

  • commandが長い
  • APIキーが平文で含まれる

という課題があります。

シェルスクリプト化

新しくシェルスクリプトのファイルを作って、ここに”command”やAPIキー部分を設定しようと思います。

vim ~/sandbox/run-mlit-mcp.sh

スクリプト内容

#!/bin/bash

export LIBRARY_API_KEY="YOUR_API_KEY"
export PYTHONUNBUFFERED=1

/home/aiuser/sandbox/mlit-geospatial-mcp/.venv/bin/python \
/home/aiuser/sandbox/mlit-geospatial-mcp/src/server.py

実行権限付与

chmod 700 ~/sandbox/run-mlit-mcp.sh

opencode.jsonの修正

vim ~/.config/opencode/opencode.json

最終構成

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "everything": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
      "enabled": true
    },
    "mlit-geospatial-mcp": {
      "type": "local",
      "command": ["/home/aiuser/sandbox/run-mlit-mcp.sh"],
      "enabled": true
    }
  }
}

ポイントまとめ

  • MCPサーバはローカル起動型
  • OpenWorkでは command に実行コマンドを指定
  • APIキーは環境変数で渡す
  • shellスクリプト化で安全&管理しやすくなる

まとめ

今回の構成:

OpenWork
  ↓
MLIT MCP Server
  ↓
国交省 不動産情報ライブラリAPI

これにより、

  • AIから地理空間データ取得
  • API操作の自動化
  • MCP連携の実践理解

が可能になりました。

以上になります。またお会いしましょう

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください