transcend-mcp-server
AI-powered route optimization MCP server for heavy vehicles and logistics. Calculate truck-optimized routes, predict traffic congestion with LSTM neural networks, compute toll costs, fuel costs and CO2 emissions, find truck stops and check weather along any European route.
README
Operational MCP layer for European road transport intelligence
A route optimization MCP server that connects AI agents (Claude Desktop, Cline, Continue, Cursor, etc.) to the TRANSCEND logistics intelligence platform — giving LLMs real-time access to truck route optimization, toll costs, weather, parking, traffic blackspots, and fuel station pricing across Spain and Europe.
What problem does it solve? Truck logistics operators waste hours switching between Google Maps (not truck-aware), toll websites, weather apps, and fuel price spreadsheets. This MCP server consolidates 6 real-time logistics data sources into a single AI-callable interface so agents can plan routes, estimate costs, and assess risks in one step.
What makes it different? Unlike generic mapping APIs, TRANSCEND is purpose-built for European truck logistics API needs — it respects ADR (dangerous goods) restrictions, truck height/width/weight limits, provides per-segment toll breakdowns with fuel and CO₂ costs, identifies dangerous blackspot zones, and locates truck-specific parking. It is the only unified MCP interface for European road logistics infrastructure.
What integration does it enable? Any MCP-compatible client can invoke 12 logistics intelligence tools covering route optimization, toll cost estimation, weather conditions, POI parking, traffic blackspot analysis, and fuel station pricing — all from a single conversation with an LLM.
What does "easy integration" mean concretely?
pip installthe package, setTRANSCEND_API_KEY, and add one JSON config block to Claude Desktop. No microservice orchestration, no multi-API key management, no custom middleware. Your AI assistant gains instant access to professional European logistics document automation and route intelligence.
Why this MCP exists
European truck route planning is fragmented. Google Maps doesn't know truck height restrictions. Toll calculators are per-country. Weather alerts come from a third source. Fuel prices change hourly. Dispatchers manually juggle 5+ tabs to answer a single question like "what's the safest and cheapest route from Madrid to Frankfurt for a 4m-high refrigerated truck?"
This MCP server aggregates six TRANSCEND API microservices (Route, Tolls, Weather, POI, Traffic, Stations) behind a single MCP interface — making European road transport data accessible to AI agents through natural language. It transforms the agent from a chat interface into an operational logistics copilot.
MCP Capabilities
- 12 MCP tools across 6 logistics modules — organized by domain, not buried in code
- Truck-aware route optimization with ADR class restrictions, vehicle dimensions, and weight limits
- Full cost breakdown — tolls + fuel consumption + maintenance + CO₂ emissions per route
- Real-time weather — current conditions, multi-day forecasts, and active weather alerts along a corridor
- Truck parking POI search — by coordinates, zip code, or province (with capacity and amenities)
- Traffic blackspot identification — dangerous road zones along a planned route
- Fuel station finder — nearby stations, filtered search, and best-price ranking
- Environment-aware configuration — separate URLs for production vs. dev/release environments
- HTTP/SSE and stdio transports — works with all MCP clients out of the box
- Pydantic-validated inputs and outputs — Python 3.10+, httpx async client
Tools
| Module | Tool | Description |
|---|---|---|
| 🗺️ Route | calculate_route |
Optimized truck route with ADR, height, width, weight constraints |
| 💰 Tolls | calculate_route_costs |
Fuel + tolls + maintenance + CO₂ cost estimation |
| 🌤️ Weather | get_current_weather |
Real-time weather at a location |
get_weather_forecast |
Forecast for a date range | |
get_weather_alerts |
Active weather warnings | |
| 🅿️ POI | find_parking_by_location |
Truck parking near coordinates |
find_parking_by_zipcode |
Parking by postal code | |
find_parking_by_province |
Parking by province | |
| 🛑 Traffic | get_blackspots_path |
Dangerous zones along a route |
| ⛽ Stations | find_stations_nearby |
Fuel stations near coordinates |
search_stations |
Filter stations by fuel type, text search | |
get_station_best_prices |
Best fuel prices near a location |
Directory structure
transcend-mcp-server/
├── pyproject.toml # Python 3.10+, dependencies: mcp, httpx, pydantic
├── src/transcend_mcp/
│ ├── server.py # FastMCP server bootstrap (stdio / HTTP/SSE)
│ ├── client.py # Multi-service HTTP client (6 backend APIs)
│ ├── config.py # Environment-aware URL resolution (prod / release-dev)
│ ├── tools.py # 12 MCP tool definitions with pydantic schemas
│ ├── __init__.py # Package init
│ └── __main__.py # Entry point for `python -m transcend_mcp`
└── tests/
└── test_client.py # Integration tests for client.py
Quick Start
git clone https://github.com/cargoffer/transcend-mcp-server.git
cd transcend-mcp-server
pip install -e .
export TRANSCEND_API_KEY="your-api-key"
python -m transcend_mcp
By default runs on stdio (MCP transport). Set MCP_HOST / MCP_PORT for HTTP/SSE mode.
Installation
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"transcend": {
"command": "python",
"args": ["-m", "transcend_mcp"],
"env": {
"TRANSCEND_API_KEY": "your-api-key",
"TRANSCEND_ENV": "production"
}
}
}
}
Cursor
Cursor Settings → Features → MCP Servers → Add New:
Name: transcend
Type: command
Command: python -m transcend_mcp
Env: TRANSCEND_API_KEY=your-api-key, TRANSCEND_ENV=production
Direct HTTP / SSE
export MCP_HOST=0.0.0.0
export MCP_PORT=8100
python -m transcend_mcp
# Then connect SSE at http://localhost:8100/sse
MCP protocol in action
Calculate an optimized truck route:
# With stdio transport, use any MCP client. For HTTP/SSE mode:
# First, connect to SSE endpoint, then send JSON-RPC messages
# Example using the JSON-RPC format over SSE (after establishing connection):
{
"jsonrpc": "2.0",
"id": 1,
"method": "calculate_route",
"params": {
"origin": "Vigo, Spain",
"destination": "Barcelona, Spain",
"dimensions": {
"height": 4.0,
"width": 2.55,
"weight": 40000,
"adr_class": null
}
}
}
Get route costs with real toll data:
{
"jsonrpc": "2.0",
"id": 2,
"method": "calculate_route_costs",
"params": {
"route_id": "route_abc_123",
"fuel_consumption": 35,
"fuel_type": "diesel",
"include_co2": true
}
}
Find truck parking along the route:
{
"jsonrpc": "2.0",
"id": 3,
"method": "find_parking_by_location",
"params": {
"latitude": 41.6488,
"longitude": -0.8891,
"radius_km": 10
}
}
Example Prompts for AI Agents
"Calculate an optimized truck route from Vigo to Barcelona. The truck is 4m high, 2.55m wide, 40 tons. Include blackspot warnings."
"What's the total cost of a 15-ton load from Madrid to Valencia with average fuel consumption of 35L/100km using diesel?"
"Find truck parking near Plaza España in Zaragoza."
"What fuel stations are near the A-2 highway at Guadalajara? Show me the best prices."
"Are there any dangerous zones on the route from Seville to Málaga?"
"What's the weather forecast along the A-3 from Madrid to Valencia for tomorrow? Any alerts?"
Configuration
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
TRANSCEND_API_KEY |
✔ | — | Your TRANSCEND API key |
TRANSCEND_ENV |
production |
production or release-dev |
|
LOG_LEVEL |
INFO |
Logging verbosity | |
MCP_HOST |
localhost |
HTTP/SSE bind address | |
MCP_PORT |
8100 |
HTTP/SSE port |
Production Microservice URLs
| Module | Prod URL |
|---|---|
| Route | https://api.transcend.es/route |
| Tolls | https://back.transcend.cargoffer.com/tolls |
| Weather | https://back.transcend.cargoffer.com/weather/api |
| POI | https://back.transcend.cargoffer.com/poi |
| Traffic | https://traffic.transcend.cargoffer.com |
| Stations | https://back.transcend.cargoffer.com/stations |
Development
pip install -e ".[dev]"
pytest
ruff check src/
ruff format src/
Semantic tags
route optimization MCP truck logistics API MCP server Model Context Protocol European road transport logistics document automation TRANSCEND truck routing toll calculator fuel prices truck parking weather alerts traffic blackspots ADR restrictions CO2 emissions AI agents LLM tools supply chain Spain logistics Cargoffer easy MCP integration
License
MIT — see LICENSE file for details.
Links
- Repository: github.com/cargoffer/transcend-mcp-server
- Issues: github.com/cargoffer/transcend-mcp-server/issues
- MCP Protocol: modelcontextprotocol.io
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.