English | 日本語
Model Context Protocol (MCP) server for Japanese transportation route planning integration with AI assistants.
Data Source: This server retrieves transportation data from Jorudan Transit Guide (www.jorudan.co.jp).
Usage Restrictions: When using this MCP server, you must comply with Jorudan's Terms of Service. In particular, please note Article 6: "Acts that place excessive load on the network or system of this service (including acts of attempting to acquire large amounts of information in a short time using automated processing tools, etc., but this does not prevent the use of automated processing tools themselves)". Please ensure reasonable usage that does not place excessive load on Jorudan's servers.
Japan Transfer MCP Server is a Model Context Protocol server that integrates Japanese transportation route planning services with AI assistants like Claude Desktop. It enables AI assistants to search for train stations, bus stops, and plan optimal routes across Japan's extensive transportation network.
- Station Search: Search for railway stations, bus stops, and transportation facilities by name
- Route Planning: Find optimal routes between any two locations in Japan
- Multi-modal Transportation: Support for trains, buses, subways, and other transportation modes
- Smart Formatting: Natural language response formatting with emojis and structured information
- Token Optimization: Response size control with token limits for efficient API usage
- Comprehensive Data: Real-time transportation data including schedules, fares, and transfer information
Perfect for those who want to use Japanese transportation planning features with Claude Desktop. AI assistants can help with:
- Finding train stations and bus stops across Japan
- Planning optimal routes for travel
- Getting real-time transportation information
- Understanding complex Japanese transportation systems
This server enables AI assistants to:
- Search for transportation facilities by name
- Plan routes between locations with detailed information
Description: Search for stations and transportation facilities by name
Parameters:
query
(required, string): The name of the station to search for (must be in Japanese)maxTokens
(optional, number): The maximum number of tokens to returnonlyName
(optional, boolean): Whether to only return the name of the station. If you do not need detailed information, it is generally recommended to set this to true.
Returns: List of matching stations with detailed information including location, reading, and administrative codes.
Description: Search for optimal routes between two locations by station names
Parameters:
from
(required, string): Departure station name (in Japanese)to
(required, string): Arrival station name (in Japanese)datetime
(optional, string): Date and time in ISO-8601 format (YYYY-MM-DD HH:MM:SS). If not provided, the current time in Japan will be used.datetime_type
(required, string): Time specification type:departure
: Search routes by departure timearrival
: Search routes by arrival timefirst
: Search first train routeslast
: Search last train routes
maxTokens
(optional, number): Maximum number of tokens in response
Returns: Detailed route information including schedules, fares, transfers, and travel times.
Add the following configuration to your claude_desktop_config.json
file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"japan-transfer-mcp": {
"command": "npx",
"args": ["japan-transfer-mcp"]
}
}
}
You can test the MCP server functionality online without local setup:
- SSE Format: https://japan-transfer-mcp-server.ushida-yosei.workers.dev/sse
- Streamable HTTP Format: https://japan-transfer-mcp-server.ushida-yosei.workers.dev/mcp
Try these endpoints at @https://playground.ai.cloudflare.com/ to test the server functionality before setting up locally.
Search for "Tokyo Station" → Returns detailed information about Tokyo Station including coordinates, reading, and administrative codes.
Plan a route from Tokyo Station to Osaka Station departing at 9:00 AM tomorrow → Returns multiple route options with schedules, fares, and transfer information.
Symptoms: search_station_by_name
returns empty results
Solutions:
- Verify the station name is in Japanese
- Try alternative spellings or readings
- Use partial names for broader search results
Symptoms: search_route_by_name
returns errors
Solutions:
- Verify both departure and arrival stations exist
- Check date/time format (YYYY-MM-DDTHH:MM)
- Ensure datetime_type is one of the valid options
Symptoms: Responses are truncated Solutions:
- Reduce maxTokens parameter
- Use onlyName=true for station searches when detailed info isn't needed
- Break complex queries into smaller parts
Symptoms: MCP server initialization fails Solutions:
- Verify Node.js version compatibility
- Check network connectivity
- Ensure proper Claude Desktop configuration
The server returns richly formatted responses with:
- 🚃 Transportation mode icons
- 📅 Date and time information
- 💰 Fare details
- ⏱️ Duration and schedule information
- 🔄 Transfer information
- 🌱 Environmental impact data
⚠️ Service notices and alerts
- Supports Japanese transportation networks only
- Requires Japanese language input for station names
- Some remote or local transportation services may not be covered
This MCP server can also be used as a library in other Node.js projects. When imported as a module, it will not automatically connect to stdio transport, allowing you to use the server programmatically.
npm install japan-transfer-mcp
import server from 'japan-transfer-mcp';
// Use the server instance programmatically
// The server will not auto-connect when imported as a library
// You can access the server's tools and handlers directly
Main dependencies:
@modelcontextprotocol/sdk
: MCP server development kitaxios
: HTTP client for API requestscheerio
: HTML parsing for web scrapinggpt-tokenizer
: Token counting for response optimizationzod
: Schema validation
MIT License
Pull requests and issue reports are welcome. Please ensure:
- Code follows TypeScript best practices
- Tests pass for any new functionality
- Documentation is updated accordingly
If you encounter issues, please check:
- Claude Desktop configuration
- Network connectivity
- Input format validation
- Token limits and response sizes
For additional support, please create an issue on the GitHub repository.
This project integrates with Japanese transportation data providers to offer comprehensive route planning capabilities. Special thanks to the transportation operators who provide public data access.