Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

CONFIDENTIAL AGENDA 2 1 4 2 3 オープニング・会社紹介(今ここ) Part 1:環境の変化と適応戦略(AI時代のSaaSの在り方) Part 2:MCP(Model Context Protocol)の基礎と実装(デモ含む)     開発ノウハウと今後の展望(技術的な勘所) クロージング(12:50終了予定)

Slide 3

Slide 3 text

CONFIDENTIAL 社名     株式会社ヴァル研究所 設立     1976年7月26日(50期) 所在地    東京都杉並区高円寺北 2-3-17 代表取締役  菊池 宗史 従業員数   173名(2025年7月1日現在) 世の中の当たり前を変えることで、人々の可能性をひろげ活力 に満ちあふれた社会を実現する Mission Vishion 「思考の一歩先」を提供する熱狂的イノベーションカンパニー 会社概要

Slide 4

Slide 4 text

CONFIDENTIAL 「駅すぱあと」は、1988年に日本で最初に発売された 経路検索サービスです。 以降35年以上にわたり経路検索のパイオニアとして、鉄道・バス ・航空・船など、日本全国の公共交通に関する多様な情報を保有 し、公共交通機関の最適経路及び運賃情報を提供しています。 飛行機の交通データ 日本国内のすべての航空路線に 対応しております。 (一部離島同士のヘリ便等除く) 水路の交通データ フェリーなどの水路データも フェリーターミナルを入れる ことで検索することができます。 バスの交通データ 路線バス、コミュニティバス、高 速バスも網羅。類似製品の中では 高いカバー率を誇っています。 北 海 道 か ら 沖 縄 ま で 日 本 全 国 の 路 線 を 網 羅 鉄道だけでなく、船の海路図やコミュニティバスの路線図もご用意 「駅すぱあと」とは

Slide 5

Slide 5 text

CONFIDENTIAL 主な「駅すぱあと」製品 経路検索 / 駅情報 / 鉄道路線図など の機能を実装できる法人向けAPIです。 スマートフォンやパソコンで 経路検索/時刻表検索/運行情報などが いつでも無料で利用できるWebサイトです。 「駅すぱあと」アプリに蓄積した移動予測データ 内の駅・路線・交通種別等にてセグメントする 精度の高い広告メニューを提供しています。 通勤費手当に関する申請・管理業務を 一元化するクラウドサービスです。 1988年の発売以来、豊富な情報量と様々な機能で 利用者の移動を強力にバックアップします。 「駅すぱあと」独自の経路検索エンジンに備えられた全国の公共交通機関データを幅広い製品に活用。 プライベートでのお出かけや旅行などでの経路検索をはじめ、ビジネスシーンでの交通費精算や通勤定期代の支給計算などの法人 向けサービスとも連携し、12万社以上の取引実績があります。 累計1,400万ダウンロードを超える、 iOS・Android端末向け経路検索アプリです。 Ads for web

Slide 6

Slide 6 text

CONFIDENTIAL CONFIDENTIAL AIに「使われる」時代の SaaS戦略 2026.04.17 既存WebAPIのMCPサーバー化における開発ノウハウ 株式会社ヴァル研究所 取締役 CTO 見川 孝太 基盤開発部 APIチーム 開発責任者 平川 瑞樹

Slide 7

Slide 7 text

CONFIDENTIAL 株式会社ヴァル研究所 取締役 CTO 見川 孝太 i イントラネット版やモバイル携帯公式などのプロジェクトを 経て、経路検索WebAPI「駅すぱあとWebサービス(現:駅す ぱあと API)」の立ち上げに中心メンバーとして関わる。 経路探索エンジン、データの基盤開発部 部長、取締役 CTO として技術戦略を統括。 Part1:スピーカー 7

Slide 8

Slide 8 text

CONFIDENTIAL AGENDA “SaaS is Dead” 8 1 2 環境の変化と適応戦略

Slide 9

Slide 9 text

CONFIDENTIAL “SaaS is Dead” 初出 Satya Nadella 2024/12 9

Slide 10

Slide 10 text

CONFIDENTIAL 衝撃的な言葉ではあるものの、 真意ではなく 言葉が一人歩きしている。 10

Slide 11

Slide 11 text

CONFIDENTIAL 11 この場では A I への適応なしでは 立ち行かなくなるという意味で 引用する。

Slide 12

Slide 12 text

CONFIDENTIAL 12 これまでも、アプリケーションは 常に時代に合わせて変化している。 と windowsアプリケーション Webアプリ Mobile App

Slide 13

Slide 13 text

CONFIDENTIAL 13 今まさに、新たな変化の 渦中であり、A I がユーザー接点に なろうとしている。

Slide 14

Slide 14 text

CONFIDENTIAL 14 そんな中で 我々 S a a S ベンダーも 変化、適応していく必要がある。

Slide 15

Slide 15 text

CONFIDENTIAL 環境の変化と適応戦略 15

Slide 16

Slide 16 text

CONFIDENTIAL 環境の変化 16 ● ユーザー接点がAIにシフト ● AIエージェント等によるシステムの自律性向上 ● AIやAIコーディングによる代替(ディスラプトの可能性) など多数

Slide 17

Slide 17 text

CONFIDENTIAL 17 反面 提供価値は損なわれていない。 (現時点では)

Slide 18

Slide 18 text

CONFIDENTIAL AIエージェント等によるシステムの自律性向上 18 ● タスク粒度ではHITLからHOTLが進行(現状のSaaSでのアクショ ン、確認ポイント) ● よりマクロ的な目的粒度でのHITLへ変化(最終確認など) ● いわゆるRPAとは違い、推論を前提とした自律化、自動化

Slide 19

Slide 19 text

CONFIDENTIAL 1つの機能における画面遷移 具体的には? 19 画面1 画面2 画面3 画面4 各画面での入力等や矢印での確認、アクション(HITL) 目的の指示 AI(AIエージェント) 結果の確認 機能単位での人間の関与が減り究極的には結果の確認のみに(HOTL)

Slide 20

Slide 20 text

CONFIDENTIAL 具体的には? 20 アプリケーション層 データ層 プレゼンテーション層 Web3層構造 AIに変化 APIのMCP対応 機能粒度によるがAIエージェント化

Slide 21

Slide 21 text

CONFIDENTIAL SoA(System of Action) AIや自動化技術を活用して、自律的に判断し、 タスクを完遂する新しいタイプのソフトウェア層 Google Gemini 回答 21

Slide 22

Slide 22 text

CONFIDENTIAL ここまでのまとめ 22 ●“SaaS is Dead”は変化への警告としてとらえる ● SaaS 自体が持つ価値はそこなわれていない ● AIに適応することで SoR/SoE からSoA(System of Action)へ

Slide 23

Slide 23 text

CONFIDENTIAL 23 株式会社ヴァル研究所 「駅すぱあと API」開発責任者 平川 瑞樹 2020年に中途入社。ITエンジニアとして培ってきた経験を 活かし、「駅すぱあと API」の開発と運用に携わる。 現在は同製品のプロダクトオーナーとしてMCP対応を実現 し、顧客価値の最大化および最適化に取り組む。 Part2:スピーカー

Slide 24

Slide 24 text

MCPサーバーとは

Slide 25

Slide 25 text

「駅すぱあと」の高度な探索エンジンと最新の公共交通データをお客様のシステムへ自在に組み込めるWeb APIです。 交通費精算の自動化から、不動産・求人サイトでの通勤時間検索まで、公共交通に関わるあらゆる課題を解決します。 「駅すぱあと API」とは Copyright Val Laboratory Corporation All Rights Reserved. 25 C O N F I D E N T I A L 定期・運賃情 報 経路・鉄道情報 バス情報 物件検索 経路検索 交通費計算

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

CONFIDENTIAL 27 MCP (Model Context Protocol) とは AIエージェント( LLM)が外部のデータやツール などに接続するための オープンプロトコル(標準規格)のこと AIエージェント (LLM) MCP (標準規格) 外部データ 外部ツール

Slide 28

Slide 28 text

CONFIDENTIAL 回答できる 28 LLM + MCP によって実現できるようになること LLM単体 LLM + MCP ● ある時点までの学習データに基づいた 応答しかできない ● 例:GPT-5.2の学習データは2025年8月 まで ● 外部へのリアルタイムな接続が可能 ● 例:最新の情報の参照、外部ツール の操作、など LLM ユーザー 学習データ (◯年◯月迄) 最新のニュースに関する質問 回答できない LLM ユーザー 最新のニュースに関する質問 MCP 最新データ

Slide 29

Slide 29 text

CONFIDENTIAL 29 つまり MCP (Model Context Protocol) とは Model (Large Language Models; LLM) に Context (文脈情報)を与えるための Protocol (標準規格)のこと

Slide 30

Slide 30 text

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クライアント

Slide 31

Slide 31 text

CONFIDENTIAL 31 MCPサーバーの仕様(通信方式) ローカル環境でMCPサーバーを起動して、標準入出力で通信する方式 メリット: ネットワーク不要、レイテンシが低い stdio(標準入出力) リモート環境のMCPサーバーに接続して、HTTPベースで通信する方式 メリット: MCPサーバーの動作環境を都度用意しなくてよい Streamable HTTP

Slide 32

Slide 32 text

CONFIDENTIAL 32 MCPサーバーの仕様(提供できる機能) Tools (ツール) LLMが呼び出し可能な関数 ● 外部APIの実行 ● データベース操作 ● 計算処理など Resources (リソース) LLMにデータを渡す仕組み ● ファイルの内容 ● データベースの内容 ● 設定情報など Prompts (プロンプト) プロンプトのテンプレート ● プロンプト集 ● 引数に応じた動的な プロンプトなど どのような機能を実装してMCPサーバーで提供するかは、開発者の腕の見せどころ

Slide 33

Slide 33 text

CONFIDENTIAL 33 MCPの特徴 標準化された プロトコル 任意のLLMと 外部システムを繋ぐ 共通的な インターフェース 役割分担の 明確さ LLM・MCPクライアント・ MCPサーバの わかりやすい三層構成 LLMの 拡張容易性 複数のMCPサーバーを 利用することで、 より複雑なタスクも 実行可能になる

Slide 34

Slide 34 text

CONFIDENTIAL 34 (ご参考)開発者向け情報 ● MCPクライアントおよびMCPサーバーに関する詳細な仕様は、 下記を参照 ● 公式ドキュメント: https://modelcontextprotocol.io/

Slide 35

Slide 35 text

CONFIDENTIAL 35 MCPサーバーの使い方 STEP 2 MCPサーバーに接続する STEP 3 プロンプトでLLMに指示をする (必要に応じて、LLMがMCPサーバーを呼び出す) STEP 1 MCPクライアント対応のAIツールでMCPサーバーを設定する (例: Claude Desktop、Claude Code、VS Code、など) 3ステップ程度で簡単にMCPサーバーを利用できることが多い

Slide 36

Slide 36 text

デモンストレーション

Slide 37

Slide 37 text

CONFIDENTIAL 37 Fetch MCPサーバー ※Fetch MCPサーバーは、AIエージェントにデフォルトで設定されていることが多い(つまり、設定不要で利用可能な場合が多い) 概要 Web上のコンテンツを検索・取得して、その内容をLLMに渡すMCPサーバー 公式ページ https://github.com/modelcontextprotocol/servers/tree/main/src/fetch 開発元 Anthropic 有償/無償 無償 通信方式 stdio (npx/pip/dockerのいずれかのコマンドが実行できる環境が必要) 機能 Tools: fetch(Web上のコンテンツを検索・取得)

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

CONFIDENTIAL 39 Fetch MCPサーバー(プロンプト例) https://www.yamanashi-kankou.jp から、今週末4/18に開催されている イベント情報を教えて。現地でのおすすめの過ごし方も調べて要約して。 💬 プロンプト例 🤖 期待するLLMの動作 LLM ユーザー プロンプト MCP クライアント Fetch MCP サーバー Webページ Fetch MCPを 使う判断 パラメータ設定・ Tool実行 Tool実行 検索・取得 コンテンツ レスポンス レスポンス 内容の確認・要約 回答

Slide 40

Slide 40 text

CONFIDENTIAL 40 Fetch MCPサーバー(デモ) デモ動画 https://youtu.be/x2tOPVvs-eg

Slide 41

Slide 41 text

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 (経路探索) など

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

CONFIDENTIAL 43 駅すぱあと API MCPサーバー(プロンプト例) 新宿から甲府まで、4/18の10時出発で行く経路とIC運賃を教えて。 💬 プロンプト例 🤖 期待するLLMの動作 LLM ユーザー プロンプト MCP クライアント 駅すぱあと API MCPサーバー 駅すぱあとAPI 駅すぱあと API MCPサーバーを 使う判断 Tool実行 APIコール レスポンス (経路探索結果) レスポンス レスポンス 結果の確認・要約 回答 パラメータ設定・ Tool実行

Slide 44

Slide 44 text

CONFIDENTIAL 44 駅すぱあと API MCPサーバー(デモ) デモ動画 https://youtu.be/k9Scg-e2YqU

Slide 45

Slide 45 text

CONFIDENTIAL 45 複数のMCPサーバーを利用する場合 (Claude Desktopでの設定例) ● claude_desktop_config.json に、複数のMCPサーバーの設定を記述できる: { "mcpServers": { "fetch": { // 省略(前ページの設定内容を参照) }, "ekispert-api-mcp-server": { // 省略(前ページの設定内容を参照) } } } json Fetch MCPサーバーの設定 駅すぱあと API MCPサーバーの設定

Slide 46

Slide 46 text

CONFIDENTIAL 46 複数のMCPサーバーを利用する場合 https://www.yamanashi-kankou.jp/ のページの観光スポットに、 新宿から4/18の10時出発で行く経路とIC運賃を教えて。 現地でのおすすめの過ごし方も上記のページから要約して。 💬 プロンプト例 複数のMCPサーバーを組み合わせると、より複雑なタスクもLLMが実行できるようになる

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

CONFIDENTIAL 50 複数のMCPサーバーを利用する場合(デモ) デモ動画 https://youtu.be/iKvCbL6x8zw

Slide 51

Slide 51 text

CONFIDENTIAL 51 デモにおけるポイント 行なったことは、MCPサーバーの設定をしたのみ 「MCPサーバーを使って〇〇して」といった指示は特にしていない 人間ではなくLLMが、パラメータを設定してToolを呼び出していた

Slide 52

Slide 52 text

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実行

Slide 53

Slide 53 text

CONFIDENTIAL 53 呼び出し方がどのように変わったのか Tool名: ekispert_api_search_routes パラメータ: { "viaList": "新宿:甲府", "date": "20260418" "time": "1000", } ● 呼び出し元(操作の主体): => AIエージェント(LLM) ● パラメータの指定: => AIエージェントが指定 経路探索 発着駅 探索日付 探索時刻(出発時刻) MCPサーバーを接続するだけで、AIエージェントがよしなに実行してくれる 「駅すぱあと API MCPサーバー」の場合 呼び出し方: Tool実行

Slide 54

Slide 54 text

今後の予想

Slide 55

Slide 55 text

CONFIDENTIAL 55 LLM + MCP / Skills によるエコシステムの到来 LLM サービスA サービスB 駅すぱあと API MCP/Skills LLMがMCPやSkillsを使って、外部サービスへ接続することが当たり前に。 AIが複数サービスを跨いだ複雑なタスクも実行可能に。

Slide 56

Slide 56 text

CONFIDENTIAL 56 マルチAIエージェントによるタスク処理の高度化 サービスA サービスB 駅すぱあと API MCP/Skills MCP/Skills MCP/Skills タスクA特化 LLM タスクB特化 LLM 経路探索特化 LLM 統括LLM 特定のタスクの処理に特化したAIエージェント群を連携 させることで、 より複雑なタスクを確実かつに実行する ことも、近い将来に当たり前になるかもしれない。

Slide 57

Slide 57 text

CONFIDENTIAL ここまでのまとめ(再掲) 57 ●“SaaS is Dead”は変化への警告としてとらえる ● SaaS 自体が持つ価値はそこなわれていない ● AIに適応することで SoR/SoE からSoA(System of Action)へ

Slide 58

Slide 58 text

MCPサーバーの 開発ノウハウのご紹介

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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向けメタ情報)定義 ③ 処理ロジックの実装

Slide 61

Slide 61 text

CONFIDENTIAL 61 MCPサーバー開発における勘所 ● Toolの粒度設計 ○ 「API毎にTool化するか」vs「複数APIを逐次的に呼び出すToolにするか」 ○ 絶対的な正解はない(サービスの性質次第) ● Toolの実装作業においてもAIを活用する ○ AGENTS.md、CLAUDE.md、Skillsなどの活用 ○ 特に、API数が多いようなサービスをMCPサーバー化する際に有効

Slide 62

Slide 62 text

CONFIDENTIAL 62 続きは書籍で! Software Design 2026年4月号 技術評論社 「Software Design 2026年4月号」にて 「駅すぱあと API MCPサーバー」の 開発ノウハウを寄稿させていただきました。 より詳しい内容を知りたい方は、 続きはぜひ書籍をご覧ください!!

Slide 63

Slide 63 text

最後に

Slide 64

Slide 64 text

CONFIDENTIAL 64 弊社から伝えたいメッセージ ソフトウェア開発を取り巻く環境は毎年のように変化しております。 これから数年間は、各社での試行錯誤が続くと想像しています。 各社で新しい取り組みに挑戦したり、知見を共有するなどして、 国内のSaaS業界全体で活性化していくことを願っております。

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

CONFIDENTIAL 66 We are hiring! ヴァル研究所では、一緒に働く仲間を募集中です!! 求人一覧 | 株式会社ヴァル研究所 ● フロントエンドエンジニア ● アプリエンジニア ● バックエンドエンジニア ● ITソリューション営業、など ● カジュアル面談も行っています!

Slide 67

Slide 67 text

最後までご覧いただきありがとうございました。 03-5373-3511 [email protected] ご質問等ございましたら、お気軽にお問い合わせください。