mcpField
N
NetStone.MCP

NetStone.MCP

ローカル
github.com/dks50217ゲーム・エンタメ03 週間前に更新

NetStone.MCP について

NetStone.MCPは、LLMクライアントやエージェント向けのFFXIVデータ用MCPサーバーです。Lodestoneのキャラクター・ソーシャル情報に加え、収集品、製作、ハウジング、ニュース、Wiki、ストア情報を扱い、StdioとHTTP/SSEに対応します。

主な機能

  1. 01Lodestoneのキャラクター・ソーシャル情報検索
  2. 02収集品とアンロック情報の検索
  3. 03中国語Wikiの検索と要約
  4. 04アイテムと製作レシピの参照
  5. 05ハウジング空き区画と抽選情報の参照
  6. 06ニュース、パッチ、ストア商品の確認

活用シーン

  1. 01キャラクターのクラス・ジョブレベルとFCの確認
  2. 02収集品の入手元や解放条件の調査
  3. 03製作素材とレシピの確認
  4. 04ハウジング区画やメンテナンス予定の確認

MCP 対応

FFXIVデータの検索機能をツールとしてMCPクライアントに公開します。StdioとHTTP/SSEのトランスポートに対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

NetStone.MCP

Ask DeepWiki .NET 8

.NET 8 で構築された、Final Fantasy XIV 用の Model Context Protocol (MCP) サーバーです。

NetStone.MCP は、LLM クライアント(Claude Desktop、Cursor、ChatGPT、カスタム Discord ボット、自律型エージェント)を FFXIV のゲームデータに直接接続します。公式 Lodestone のキャラクター情報と FC 情報、PaissaDB のリアルタイムなハウジング空き状況、FFXIV Collect のアイテムとマウント、XIVAPI v2 のレシピ、コミュニティの世界設定や Wiki データベースを利用できます。

Stdio(ローカルプロセス)と HTTP / SSE(リモートサーバー)の両方のトランスポートモードに対応しています。


データソース

ソース連携機能提供される機能
NetStoneLodestone スクレイパーキャラクタープロフィール、クラス/ジョブレベル、マウント数、フリーカンパニー、リンクシェル
PaissaHousePaissaDB API購入可能なハウジング区画、サイズ、価格、抽選への応募状況のリアルタイム情報
FFXIV CollectCollect APIマウント、ミニオン、エモート、髪型、オーケストリオン、青魔法、チョコボ装甲、ファッション、アチーブメント
Huiji WikiMediaWiki API世界設定、クエスト、ダンジョン/レイド、ボスのギミック、アイテム、翻訳
XIVAPI v2XIVAPI RESTアイテム検索、製作レシピ、素材の内訳
FFXIV Lodestone Newsニュース API公式メンテナンス予定、トピック、ニュース記事
Thaliakパッチトラッカー最新のゲームクライアントと拡張版のバージョン番号
Square Enix Storeストアスクレイパーオンラインストアのカテゴリ、新商品、割引商品

クイックスタート

1. Claude Desktop(Stdio モード)

NetStone.MCP を claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "netstone-mcp": {
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "C:\\path\\to\\NetStoneMCP\\src\\NetStoneMCP.csproj",
        "--no-build"
      ]
    }
  }
}
2. HTTP / SSE モード(Cursor、VS Code、リモートクライアント)

NetStone.MCP を SSE トランスポートで起動します。

export TransportType=SSE
dotnet run --project src/NetStoneMCP.csproj

MCP SSE エンドポイントは次のアドレスで待ち受けます。

http://localhost:5000/sse
3. Docker Compose(サーバー + Discord ボット)

1 つのコマンドで NetStoneMCP とサンプルの Discord ボットを起動します。

cp .env.example .env
# Edit .env and supply OPENAI_API_KEY and DISCORD_BOT_KEY
docker compose up -d --build

利用可能な MCP ツール

キャラクターとソーシャル(Lodestone)
ツール説明
get_player_info名前とワールドを指定して、キャラクタープロフィール(レベル、アバター、グランドカンパニー、FC、プロフィール文)を取得します。
get_player_class_jobキャラクターの全戦闘クラス、クラフター、ギャザラーのレベルを取得します。
get_character_mount_countキャラクターが所持しているマウントの総数を取得します。
get_fc_informationフリーカンパニーのプロフィール、ランク、スローガン、有効なカンパニーアクションを取得します。
get_fc_membersフリーカンパニーの全メンバー一覧を取得します。
get_crossworld_linkshell_information名前とデータセンターを指定して、CWLS のプロフィールとメンバー一覧を取得します。
get_linkshell_information名前とワールドを指定して、リンクシェルのプロフィールとメンバー一覧を取得します。
コレクションアイテムとアンロック要素(FFXIV Collect)
ツール説明
get_ffxiv_mountマウントの入手方法、搭乗人数、パッチ、取引可否を取得します。
get_ffxiv_minionミニオンのドロップ場所、入手方法、説明を取得します。
get_ffxiv_emoteエモートの解放コマンド(/emote)、入手方法、パッチを取得します。
get_ffxiv_hairstyle髪型「ヘアカタログ」の入手方法(MGP、PvP、ボズヤなど)を取得します。
get_ffxiv_orchestrionオーケストリオン譜の番号、カテゴリ、ドロップ元を取得します。
get_ffxiv_blue_mage_spell青魔法の習得条件(マスクカーニバル、ダンジョン、フィールドのモンスター)を取得します。
get_ffxiv_bardingチョコボ装甲の入手方法と取引可否を取得します。
get_ffxiv_fashionファッションアクセサリー(翼、傘/日傘、眼鏡、バックパック)を取得します。
get_ffxiv_achievementアチーブメントポイント、達成条件、報酬(称号、マウント、アイテム)を取得します。
search_ffxiv_collectableすべてのコレクションアイテムのカテゴリを横断して検索します。
設定與 Wiki データベース(Huiji Wiki / 灰機Wiki / 灰机Wiki)
ツール説明
search_huiji_wikiクエスト、ダンジョン、設定、NPC、ギミックを対象に、中国語の FFXIV データベースを検索します。自然言語での検索に対応しています(例:「幫我用灰機查...」)。
get_huiji_wiki_summaryトピックまたはページの簡潔な要約と紹介を取得します。
get_huiji_wiki_page_sectionセクション全体の内容を取得します(例:攻略ガイド、背景設定、ドロップ一覧)。
アイテムとクラフティング(XIVAPI v2)
ツール説明
get_item_by_nameアイテム名から、アイテム ID とメタデータを検索します。
get_item_recipesクラフティングレシピの内訳、必要なクラフトレベル、素材一覧を取得します。
ハウジングとサーバー状況
ツール説明
get_house_information購入可能なハウジング区画、サイズ、価格、抽選エントリーを取得します(PaissaDB)。
get_data_centerすべての公式データセンターを一覧表示します。
get_worldすべてのワールドと、所属するデータセンターを一覧表示します。
get_ffxiv_cht_lock_server繁体字中国語サーバーにおける、現在のキャラクター作成制限状況を取得します。
ニュース、バージョン、オンラインストア
ツール説明
ffxiv_get_current_maintenance現在および今後のメンテナンス予定と説明を取得します。
ffxiv_get_topicsLodestone の最新公式ニュースとトピックを取得します。
ffxiv_get_postID を指定して、特定の Lodestone 投稿の全文を取得します。
get_ffxiv_latest_versionsベースゲームと拡張パッケージ(boot、ex1~ex5)の最新パッチバージョン文字列を取得します。
get_ffxiv_latest_chn_text_patchコミュニティによる最新の中国語ローカライズパッチ(漢化 / 中文化補丁)のリリース情報とダウンロードリンクを取得します。
get_store_categoriesFFXIV オンラインストアで利用可能な商品カテゴリを取得します。
get_store_new_productオンラインストアに新しく追加されたアイテムを取得します。
get_store_on_sale_productオンラインストアで現在割引中のアイテムを取得します。
get_store_productカテゴリ名でストアの商品を絞り込みます。

サンプルアプリケーション

すぐに使えるサンプルクライアントは、sample/ ディレクトリにあります。

1. Discord ボット(sample/NetStoneDiscordBot)

OpenAI Function Calling と NetStoneMCP ツールを利用し、チャンネルごとのコンテキスト記憶機能を備えた Discord ボットです。

対話形式での選択肢の確認

ユーザーのプロンプトが曖昧な場合や、複数の対象が考えられる場合(例:「查巴哈」と尋ねた場合、Bahamut ワールドサーバー、バハムート侵攻編、蛮神に関する設定のいずれを指す可能性があります)、AI は ask_user_options ツールを呼び出し、対話形式の Discord ボタンを表示します。ユーザーは選択肢をクリックするだけで、推測に頼ることなく、正確なクエリを実行できます。

チャンネルごとの記憶と延長

Discord チャンネルごとに独立した会話コンテキストを保持します。記憶の有効期限が 10 分以内に設定されている場合、対話形式の 延長記憶 10 分鐘 ボタンが表示され、ユーザーはセッションの有効期間を最大 1 時間まで延長できます。

ロールプレイ用ペルソナの切り替え(!skill)

チャット中にいつでもキャラクターのペルソナを切り替えられます。ペルソナは sample/NetStoneDiscordBot/Skills/ に Markdown テンプレートとして定義されています。

ペルソナコマンドキャラクター説明と別名
!skill 雅修特拉雅・シュトラ(Y'shtola)暁の大魔女。知的で優雅、少し毒舌なエーテル学の大家(永遠の23歳)。別名:yshtola, 貓娘, 魔女
!skill 愛梅特賽爾克エメトセルク(Emet-Selch)厭世的で傲慢ながらも情に厚く博識な古代人(「我らが生きたことを、覚えていてくれ」)。別名:emetselch, 愛梅, 哈迪斯
!skill 古拉哈提亞グ・ラハ・ティア(G'raha Tia)情熱的で率直、英雄に憧れる暁の賢人。食べ物と冒険が大好きです。別名:grahatia, 水晶公, 貓男
!skill 塔塔露タタル(Tataru)暁の財務総責任者にして仕立ての達人。「是也!」を口癖に、一歩も譲りません。別名:tataru, 大掌櫃, 拉拉肥
!skill 阿莉塞アリゼー(Alisaie)率直で負けず嫌い、ツンデレで熱血な赤魔道士の少女。アルフィノへのツッコミには容赦がありません。別名:alisaie, 赤魔
!skill 艾斯蒂尼安エスティニアン(Estinien)孤高で無口な蒼天の竜騎士。実力は抜群ですが、金銭感覚は少々頼りません。別名:estinien, 大師兄, 龍騎
!skill 猴子猿(Monkey)機知に富んだユーモラスなバナナ好きの猿です。別名:monkey
!skill off / defaultデフォルトモード客観的で中立な、FFXIV の専門知識を持つアシスタントです。
2. WPF デスクトップクライアント(sample/NetStoneClient)

WPF で構築されたデスクトップチャットアプリケーションです。OpenAI のチャット補完機能と NetStoneMCP のツール呼び出しを統合しています。


設定と環境変数

変数デフォルト説明
TransportType / TRANSPORT_TYPEStdioMCP のトランスポートモードです。Stdio(標準入出力)または SSE(HTTP Server-Sent Events)を指定します。
NETSTONE_SSE_URLhttp://localhost:5000/sseSSE モードで実行する際に、クライアント/ボットが使用するエンドポイントです。
OPENAI_API_KEY(None)OpenAI API キーです(Discord Bot と WPF Client に必要です)。
OPENAI_MODELgpt-5.1サンプルクライアントが使用する LLM モデルです。
DISCORD_BOT_KEY(None)Discord Bot トークンです(Discord Bot に必要です)。

スクリーンショット

Discord Botのインタラクティブなオプションボタン
曖昧なクエリに対応する、Discord Bot のインタラクティブな確認ボタン

Claude Desktopとの連携
Claude Desktop が Stdio MCP 経由で Lodestone データを照会

WPFデスクトップクライアント
WPF デスクトップクライアントが NetStoneMCP ツールを呼び出す

コンソールクライアント
インタラクティブなコンソールクライアント


開発

# Build the entire solution
dotnet build src/NetStoneMCP.sln

# Run all automated tests
dotnet test src/NetStoneMCP.sln

コメント

MCP は初めてですか?

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

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