Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜

AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜

2026年4月17日開催のウェビナー「AIに『使われる』時代のSaaS戦略」の登壇資料です。

生成AIの普及により、SaaSは「人間が使うもの」から「AIエージェントに使われるもの」へと変化しつつあります。本資料では、ヴァル研究所が提供する「駅すぱあと API」を題材に、既存のWeb APIをMCP(Model Context Protocol)サーバー化するための具体的な開発ノウハウと、AI時代のSaaS適応戦略について解説しています。

【こんな方におすすめ!】
・既存のWebAPIを、効率よくAIエージェント対応させたい
・「汎用MCP」と「独自開発」の境界線を見極め、実装の意思決定をしたい
・ビジネスモデルの変革(SoAへの移行)をどう進めるべきか悩んでいる
・SaaSベンダーとしての今後の生存戦略に興味がある

▼「駅すぱあと API」の詳細はこちら
https://api-info.ekispert.com/

Avatar for 駅すぱあと API

駅すぱあと API

July 06, 2026

Other Decks in Technology

Transcript

  1. CONFIDENTIAL AGENDA 2 1 4 2 3 オープニング・会社紹介(今ここ) Part 1:環境の変化と適応戦略(AI時代のSaaSの在り方)

    Part 2:MCP(Model Context Protocol)の基礎と実装(デモ含む)     開発ノウハウと今後の展望(技術的な勘所) クロージング(12:50終了予定)
  2. CONFIDENTIAL 社名     株式会社ヴァル研究所 設立     1976年7月26日(50期) 所在地    東京都杉並区高円寺北 2-3-17 代表取締役  菊池

    宗史 従業員数   173名(2025年7月1日現在) 世の中の当たり前を変えることで、人々の可能性をひろげ活力 に満ちあふれた社会を実現する Mission Vishion 「思考の一歩先」を提供する熱狂的イノベーションカンパニー 会社概要
  3. CONFIDENTIAL 「駅すぱあと」は、1988年に日本で最初に発売された 経路検索サービスです。 以降35年以上にわたり経路検索のパイオニアとして、鉄道・バス ・航空・船など、日本全国の公共交通に関する多様な情報を保有 し、公共交通機関の最適経路及び運賃情報を提供しています。 飛行機の交通データ 日本国内のすべての航空路線に 対応しております。 (一部離島同士のヘリ便等除く)

    水路の交通データ フェリーなどの水路データも フェリーターミナルを入れる ことで検索することができます。 バスの交通データ 路線バス、コミュニティバス、高 速バスも網羅。類似製品の中では 高いカバー率を誇っています。 北 海 道 か ら 沖 縄 ま で 日 本 全 国 の 路 線 を 網 羅 鉄道だけでなく、船の海路図やコミュニティバスの路線図もご用意 「駅すぱあと」とは
  4. CONFIDENTIAL 主な「駅すぱあと」製品 経路検索 / 駅情報 / 鉄道路線図など の機能を実装できる法人向けAPIです。 スマートフォンやパソコンで 経路検索/時刻表検索/運行情報などが

    いつでも無料で利用できるWebサイトです。 「駅すぱあと」アプリに蓄積した移動予測データ 内の駅・路線・交通種別等にてセグメントする 精度の高い広告メニューを提供しています。 通勤費手当に関する申請・管理業務を 一元化するクラウドサービスです。 1988年の発売以来、豊富な情報量と様々な機能で 利用者の移動を強力にバックアップします。 「駅すぱあと」独自の経路検索エンジンに備えられた全国の公共交通機関データを幅広い製品に活用。 プライベートでのお出かけや旅行などでの経路検索をはじめ、ビジネスシーンでの交通費精算や通勤定期代の支給計算などの法人 向けサービスとも連携し、12万社以上の取引実績があります。 累計1,400万ダウンロードを超える、 iOS・Android端末向け経路検索アプリです。 Ads for web
  5. CONFIDENTIAL 株式会社ヴァル研究所 取締役 CTO 見川 孝太 i イントラネット版やモバイル携帯公式などのプロジェクトを 経て、経路検索WebAPI「駅すぱあとWebサービス(現:駅す ぱあと

    API)」の立ち上げに中心メンバーとして関わる。 経路探索エンジン、データの基盤開発部 部長、取締役 CTO として技術戦略を統括。 Part1:スピーカー 7
  6. CONFIDENTIAL 1つの機能における画面遷移 具体的には? 19 画面1 画面2 画面3 画面4 各画面での入力等や矢印での確認、アクション(HITL) 目的の指示

    AI(AIエージェント) 結果の確認 機能単位での人間の関与が減り究極的には結果の確認のみに(HOTL)
  7. CONFIDENTIAL 23 株式会社ヴァル研究所 「駅すぱあと API」開発責任者 平川 瑞樹 2020年に中途入社。ITエンジニアとして培ってきた経験を 活かし、「駅すぱあと API」の開発と運用に携わる。

    現在は同製品のプロダクトオーナーとしてMCP対応を実現 し、顧客価値の最大化および最適化に取り組む。 Part2:スピーカー
  8. 2026年1月15日に「駅すぱあと API」は MCP (Model Context Protocol) に 正式に対応いたしました。 紹介ページ: https://api-info.ekispert.com/mcp/

    2026/01/15 「駅すぱあと API MCPサーバー」リリース Copyright Val Laboratory Corporation All Rights Reserved. 26 C O N F I D E N T I A L
  9. CONFIDENTIAL 27 MCP (Model Context Protocol) とは AIエージェント( LLM)が外部のデータやツール などに接続するための

    オープンプロトコル(標準規格)のこと AIエージェント (LLM) MCP (標準規格) 外部データ 外部ツール
  10. CONFIDENTIAL 回答できる 28 LLM + MCP によって実現できるようになること LLM単体 LLM +

    MCP • ある時点までの学習データに基づいた 応答しかできない • 例:GPT-5.2の学習データは2025年8月 まで • 外部へのリアルタイムな接続が可能 • 例:最新の情報の参照、外部ツール の操作、など LLM ユーザー 学習データ (◯年◯月迄) 最新のニュースに関する質問 回答できない LLM ユーザー 最新のニュースに関する質問 MCP 最新データ
  11. CONFIDENTIAL 29 つまり MCP (Model Context Protocol) とは Model (Large

    Language Models; LLM) に Context (文脈情報)を与えるための Protocol (標準規格)のこと
  12. CONFIDENTIAL MCPサーバー(A) MCPサーバー(B) MCPサーバー(C) MCPクライアント 30 MCPのアーキテクチャ LLM 外部データ (A)

    外部ツール (B) 外部ソース (C) AIツー ル 例: Claude Code、VS Code、 その他のAIチャットツールなど ユーザー LLM・MCPクライアント ・MCPサーバーの3層によって構成される MCPサーバー(A) MCPサーバー(B) MCPサーバー(C) MCPクライアント
  13. CONFIDENTIAL 32 MCPサーバーの仕様(提供できる機能) Tools (ツール) LLMが呼び出し可能な関数 • 外部APIの実行 • データベース操作

    • 計算処理など Resources (リソース) LLMにデータを渡す仕組み • ファイルの内容 • データベースの内容 • 設定情報など Prompts (プロンプト) プロンプトのテンプレート • プロンプト集 • 引数に応じた動的な プロンプトなど どのような機能を実装してMCPサーバーで提供するかは、開発者の腕の見せどころ
  14. CONFIDENTIAL 33 MCPの特徴 標準化された プロトコル 任意のLLMと 外部システムを繋ぐ 共通的な インターフェース 役割分担の

    明確さ LLM・MCPクライアント・ MCPサーバの わかりやすい三層構成 LLMの 拡張容易性 複数のMCPサーバーを 利用することで、 より複雑なタスクも 実行可能になる
  15. CONFIDENTIAL 35 MCPサーバーの使い方 STEP 2 MCPサーバーに接続する STEP 3 プロンプトでLLMに指示をする (必要に応じて、LLMがMCPサーバーを呼び出す)

    STEP 1 MCPクライアント対応のAIツールでMCPサーバーを設定する (例: Claude Desktop、Claude Code、VS Code、など) 3ステップ程度で簡単にMCPサーバーを利用できることが多い
  16. CONFIDENTIAL 38 Fetch MCPサーバー( Claude Desktopでの設定例) • 設定ファイルの場所: ◦ macOS:

    ~/Library/Application Support/Claude/claude_desktop_config.json ◦ Windows: %APPDATA%\Claude\claude_desktop_config.json • claude_desktop_config.json に以下を記述する: { "mcpServers": { "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } } json
  17. CONFIDENTIAL 39 Fetch MCPサーバー(プロンプト例) https://www.yamanashi-kankou.jp から、今週末4/18に開催されている イベント情報を教えて。現地でのおすすめの過ごし方も調べて要約して。 💬 プロンプト例 🤖

    期待するLLMの動作 LLM ユーザー プロンプト MCP クライアント Fetch MCP サーバー Webページ Fetch MCPを 使う判断 パラメータ設定・ Tool実行 Tool実行 検索・取得 コンテンツ レスポンス レスポンス 内容の確認・要約 回答
  18. CONFIDENTIAL 41 駅すぱあと API MCPサーバー 概要 経路探索のWeb API「駅すぱあと API」を呼び出し可能なMCPサーバー 公式ページ

    https://github.com/ValLaboratory/ekispert-api-mcp-server-docs 開発元 株式会社ヴァル研究所 有償/無償 有償のアクセスキーが必要(90日間無料の評価キーの提供あり) 通信方式 Streamable HTTP (必要なのはHTTP通信ができる環境のみ) 機能 Tools: ekispert_api_get_stations (駅情報の取得), ekispert_api_search_routes (経路探索) など
  19. CONFIDENTIAL 42 駅すぱあと API MCPサーバー(Claude Desktopでの設定例) • claude_desktop_config.json に以下を記述する: {

    "mcpServers": { "ekispert-api-mcp-server": { "command": "npx", "args": [ "-y", "mcp-remote@latest", "https://api-mcp.ekispert.jp/mcp", "--header", "ekispert-api-access-key:${EKISPERT_API_ACCESS_KEY}" ], "env": { "EKISPERT_API_ACCESS_KEY": "YOUR_ACCESS_KEY_HERE" } } } } json
  20. CONFIDENTIAL 43 駅すぱあと API MCPサーバー(プロンプト例) 新宿から甲府まで、4/18の10時出発で行く経路とIC運賃を教えて。 💬 プロンプト例 🤖 期待するLLMの動作

    LLM ユーザー プロンプト MCP クライアント 駅すぱあと API MCPサーバー 駅すぱあとAPI 駅すぱあと API MCPサーバーを 使う判断 Tool実行 APIコール レスポンス (経路探索結果) レスポンス レスポンス 結果の確認・要約 回答 パラメータ設定・ Tool実行
  21. CONFIDENTIAL 45 複数のMCPサーバーを利用する場合 (Claude Desktopでの設定例) • claude_desktop_config.json に、複数のMCPサーバーの設定を記述できる: { "mcpServers":

    { "fetch": { // 省略(前ページの設定内容を参照) }, "ekispert-api-mcp-server": { // 省略(前ページの設定内容を参照) } } } json Fetch MCPサーバーの設定 駅すぱあと API MCPサーバーの設定
  22. CONFIDENTIAL 回答 Tool実 行 47 複数のMCPサーバーを利用する場合 🤖 期待するLLMの動作 駅すぱあと API

    MCPサーバー 駅すぱあとAPI APIコール レスポンス (経路探索結果) レ ス ポ ン ス MCP クライアント LLM ユーザー プロンプト Fetch MCP サーバー Webページ Fetch MCPを 使う判断 パラメータ設定・ Tool実行 Tool実 行 検索・取得 コンテンツ レ ス ポ ン ス レスポンス 結果の確認・ 思考
  23. CONFIDENTIAL 回答 ユーザー プロンプト Fetch MCP サーバー Webページ Tool実 行

    コンテンツ レ ス ポ ン ス 48 複数のMCPサーバーを利用する場合 🤖 期待するLLMの動作 検索・取得 MCP クライアント 駅すぱあと API MCPサーバー 駅すぱあとAPI Tool実 行 APIコール レスポンス (経路探索結果) レ ス ポ ン ス LLM 結果の確認・ 思考 駅すぱあと API MCPサーバーを 使う判断 パラメータ設定・ Tool実行 レスポンス
  24. CONFIDENTIAL 駅すぱあと API MCPサーバーを 使う判断 Tool実 行 49 複数のMCPサーバーを利用する場合 🤖

    期待するLLMの動作 駅すぱあと API MCPサーバー 駅すぱあとAPI APIコール レスポンス (経路探索結果) レ ス ポ ン ス MCP クライアント プロンプト Fetch MCP サーバー Webページ パラメータ設定・ Tool実行 Tool実 行 検索・取得 コンテンツ レ ス ポ ン ス レスポンス 回答 思考 LLM ユーザー
  25. CONFIDENTIAL 52 呼び出し方がどのように変わったのか https://api.ekispert.jp/v1/json/ search/course/extreme? key=ACCESS_KEY &viaList=新宿:甲府 &date=20260418 &time=1000 経路探索API

    発着駅 探索日付 探索時刻(出発時刻) • 呼び出し元(操作の主体): => 人手/GUI/プログラム • パラメータの指定: => 人手/GUI/プログラムで指定 これまでは、WebAPIの仕様を理解して人手/GUI/プログラムで実行する必要があった 「駅すぱあと API」の場合 呼び出し方: API実行
  26. CONFIDENTIAL 53 呼び出し方がどのように変わったのか Tool名: ekispert_api_search_routes パラメータ: { "viaList": "新宿:甲府", "date":

    "20260418" "time": "1000", } • 呼び出し元(操作の主体): => AIエージェント(LLM) • パラメータの指定: => AIエージェントが指定 経路探索 発着駅 探索日付 探索時刻(出発時刻) MCPサーバーを接続するだけで、AIエージェントがよしなに実行してくれる 「駅すぱあと API MCPサーバー」の場合 呼び出し方: Tool実行
  27. CONFIDENTIAL 55 LLM + MCP / Skills によるエコシステムの到来 LLM サービスA

    サービスB 駅すぱあと API MCP/Skills LLMがMCPやSkillsを使って、外部サービスへ接続することが当たり前に。 AIが複数サービスを跨いだ複雑なタスクも実行可能に。
  28. CONFIDENTIAL 56 マルチAIエージェントによるタスク処理の高度化 サービスA サービスB 駅すぱあと API MCP/Skills MCP/Skills MCP/Skills

    タスクA特化 LLM タスクB特化 LLM 経路探索特化 LLM 統括LLM 特定のタスクの処理に特化したAIエージェント群を連携 させることで、 より複雑なタスクを確実かつに実行する ことも、近い将来に当たり前になるかもしれない。
  29. CONFIDENTIAL 59 MCPサーバーをこれから開発する場合 まずは公式ドキュメントに従って手を動かしてみるのがおすすめ • MCP仕様: Model Context Protocol ◦

    https://modelcontextprotocol.io/docs/getting-started/intro • 公式のチュートリアル: Build an MCP server - Model Context Protocol ◦ https://modelcontextprotocol.io/docs/develop/build-server • SDKs: SDKs - Model Context Protocol ◦ https://modelcontextprotocol.io/docs/sdk
  30. CONFIDENTIAL 60 typescript-sdkにみるToolの実装例 右のコードは、Build an MCP server - Model Context

    Protocol のチュートリアルのToolの 実装例を、この資料用に簡略化したもの。 import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; const server = new McpServer({ name: "weather", version: "1.0.0" }); server.registerTool( // Toolの実装およびMCPサーバーへの登録 // ① Tool名 "get_forecast", // ② 入力スキーマ (LLM向けのToolの説明文、パラメータ、などのメタ情報) { description: "Get weather forecast for a location", latitude: z.number(), longitude: z.number() }, // ③ 処理ロジック async ({ latitude, longitude }) => { // 任意の処理を実装 (例: API経由で天気予報情報を取得する、など) ... return { content: [{ type: "text", text: `Temperature: ${temperature}${unit}, ...`   }] } } ); .ts WebAPIの開発経験などがあれば、似た要領で Toolも実装できる(それほど難しくはない) Toolの実装の仕方: ① Tool名の定義 ② 入力スキーマ(LLM向けメタ情報)定義 ③ 処理ロジックの実装
  31. CONFIDENTIAL 61 MCPサーバー開発における勘所 • Toolの粒度設計 ◦ 「API毎にTool化するか」vs「複数APIを逐次的に呼び出すToolにするか」 ◦ 絶対的な正解はない(サービスの性質次第) •

    Toolの実装作業においてもAIを活用する ◦ AGENTS.md、CLAUDE.md、Skillsなどの活用 ◦ 特に、API数が多いようなサービスをMCPサーバー化する際に有効
  32. CONFIDENTIAL 62 続きは書籍で! Software Design 2026年4月号 技術評論社 「Software Design 2026年4月号」にて

    「駅すぱあと API MCPサーバー」の 開発ノウハウを寄稿させていただきました。 より詳しい内容を知りたい方は、 続きはぜひ書籍をご覧ください!!
  33. CONFIDENTIAL 65 参考情報 • 「駅すぱあと API」製品サイト: https://api-info.ekispert.com/ • 「駅すぱあと API

    MCPサーバー」紹介サイト: https://api-info.ekispert.com/mcp/ • 「駅すぱあと API MCPサーバー」公式ドキュメント: https://github.com/ValLaboratory/ekispert-api-mcp-server-docs
  34. CONFIDENTIAL 66 We are hiring! ヴァル研究所では、一緒に働く仲間を募集中です!! 求人一覧 | 株式会社ヴァル研究所 •

    フロントエンドエンジニア • アプリエンジニア • バックエンドエンジニア • ITソリューション営業、など • カジュアル面談も行っています!