πTMS Development Wizardπ§ββοΈ helps you build a TMS(Transport Management System) by providing you with the tools to explore Omelet's Routing Engine and iNavi's Maps API. No more juggling between multiple API docs - vibe your way to your own customized TMS.
Perfect for:
- π Rapid API Exploration - Quickly discover what's possible without reading through walls of documentation
- π§ͺ Prototyping & Testing - Spin up test implementations in minutes, not hours
- ποΈ Production Systems - Build complex TMS workflows with guided API integration patterns
- π Multi-Provider Support - Unified access to both Omelet Routing Engine and iNavi Maps API documentation
- π Endpoint Discovery - Browse and filter API endpoints by provider with detailed overviews (
list_endpoints
,get_endpoint_overview
) - π§© Integration Patterns - Pre-built workflow patterns with agentic coding guidelines for common TMS use cases (
list_integration_patterns
,get_integration_pattern
) - π Schema Explorer - Inspect request/response schemas for any endpoint and HTTP status code (
get_request_body_schema
,get_response_schema
) - π‘ Example Library - Access real-world API request/response examples extracted from OpenAPI specs (
list_examples
,get_example
)
Note: API keys from Omelet and iNavi aren't required to install this MCP server. However, it is recommended you prepare them in advance for a realtime test-enabled vibe coding experience, enabling proper debugging.
Prerequisites: Ensure you have uv installed.
Cursor
Navigate to your MCP settings (Cursor > Settings > Cursor Settings > Tools & MCP) and add:
{
"mcpServers": {
"TMS Development Wizard": {
"command": "uvx",
"args": ["tms-mcp"],
"env": {
"INAVI_API_KEY": "your_inavi_api_key",
"OMELET_API_KEY": "your_omelet_api_key"
}
}
}
}
Claude Desktop
-
Check
uvx
installation path via terminal.- For MacOS/Linux:
which uvx
- For Windows:
where uvx
- For MacOS/Linux:
-
Open MCP settings JSON file (Claude > Settings > Developer > Edit Config), and add:
{
"mcpServers": {
"TMS Development Wizard": {
"command": "[uvx installation path from step 1]",
"args": ["tms-mcp"],
"env": {
"INAVI_API_KEY": "your_inavi_api_key",
"OMELET_API_KEY": "your_omelet_api_key"
}
}
}
}
- Save the JSON file and restart Claude Desktop.
Claude Code
Open a terminal at the project root and run:
claude mcp add TMS-Development-Wizard uvx tms-mcp --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key
Codex CLI
Open a terminal at the project root and run:
codex mcp add TMS-Development-Wizard --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key uvx tms-mcp
Gemini CLI
Open a terminal at the project root and run:
gemini mcp add TMS-Development-Wizard uvx tms-mcp --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key
Reminder: Replace the
your_inavi_api_key
andyour_omelet_api_key
placeholders with your actual API credentials before saving or running these commands.
π Exploring Available APIs
What routing APIs are available from Omelet?
Show me all the iNavi endpoints for geocoding
What's the difference between the VRP and Advanced VRP endpoints?
List all the integration patterns available
ποΈ Building a Feature
Help me implement route optimization for 50 delivery addresses using Omelet's VRP API
I need to calculate a distance matrix for 100 locations. Which endpoint should I use and how?
Build a function to convert addresses to coordinates using iNavi's geocoding API
Show me how to implement a pickup-delivery problem with time windows
π§© Following Integration Patterns
I want to build a last-mile delivery system. What integration pattern should I follow?
Show me the high-precision routing pattern for navigation apps
How do I combine Omelet's routing with iNavi's maps for a complete TMS?
π Debugging & Schema Validation
I'm getting a 400 error from the VRP endpoint. Show me the request schema
What's the expected response format for the cost-matrix API?
Show me valid examples of request bodies for the Advanced VRP endpoint
What response codes can the route-time endpoint return?
If you want to contribute or customize the server:
-
Install uv
-
Clone and set up development environment:
git clone https://github.com/omelet-ai/tms-dev-mcp.git cd tms-dev-mcp uv sync --all-groups source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install pre-commit hooks:
pre-commit install
-
(Optional) Configure environment variables:
cp env.example .env # Edit .env with your configuration
Configure your MCP client to connect to the local MCP server. Replace /path/to/tms-dev-mcp
with your actual installation path.
Cursor / Claude Desktop
Navigate to your MCP settings and add:
{
"mcpServers": {
"TMS Development Wizard": {
"command": "/path/to/tms-dev-mcp/.venv/bin/python",
"args": [
"/path/to/tms-dev-mcp/tms_mcp/main.py",
"start-server"
],
"env": {
"INAVI_API_KEY": "your_inavi_api_key",
"OMELET_API_KEY": "your_omelet_api_key"
}
}
}
}
Claude Code
Open a terminal at the project root and run:
claude mcp add TMS-Development-Wizard /path/to/tms-dev-mcp/.venv/bin/python /path/to/tms-dev-mcp/tms_mcp/main.py start-server --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key
Codex CLI
Open a terminal at the project root and run:
codex mcp add TMS-Development-Wizard --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key /path/to/tms-dev-mcp/.venv/bin/python /path/to/tms-dev-mcp/tms_mcp/main.py start-server
Gemini CLI
Open a terminal at the project root and run:
gemini mcp add TMS-Development-Wizard /path/to/tms-dev-mcp/.venv/bin/python /path/to/tms-dev-mcp/tms_mcp/main.py start-server --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key
Here is an overview of currently implemented tools:
Tool | Description |
---|---|
get_basic_info() |
Get overview information about both Omelet Routing Engine and iNavi Maps APIs |
list_endpoints(provider) |
List all available API endpoints, optionally filtered by provider (omelet /inavi ) |
list_integration_patterns() |
Browse catalog of integration patterns with descriptions |
get_integration_pattern(pattern_id, simple) |
Retrieve a specific integration playbook with agentic coding guidelines |
get_endpoint_overview(path, provider) |
Get detailed overview for a specific API endpoint |
get_request_body_schema(path, provider) |
Get the request body schema for an endpoint |
get_response_schema(path, response_code, provider) |
Get the response schema for an endpoint and status code |
list_examples(path, example_type, provider) |
List available request/response examples for an endpoint |
get_example(path, example_name, example_type, response_code, provider) |
Get a specific example for an endpoint |
tms_mcp/
βββ server.py # FastMCP server instance
βββ main.py # Entry point with CLI
βββ config.py # Configuration management
βββ pipeline/
β βββ pipeline.py # Document indexing pipeline
β βββ models.py # Data models
β βββ utils.py # Utility functions
β βββ generators/ # Documentation generators
β βββ templates/ # Documentation templates
βββ tools/
β βββ doc_tools.py # MCP tools for documentation queries
βββ docs/ # Generated documentation
βββ basic_info.md # Shared API overview
βββ integration_patterns/ # Integration patterns & guidelines
βββ omelet/ # Omelet-specific docs
β βββ openapi.json
β βββ endpoints_summary.md
β βββ overviews/
β βββ schemas/
β βββ examples/
βββ inavi/ # iNavi-specific docs
βββ openapi.json
βββ endpoints_summary.md
βββ overviews/
βββ schemas/
The pipeline automatically processes OpenAPI specifications and generates structured documentation:
- Fetch - Downloads OpenAPI specs from configured URLs
- Resolve - Resolves all
$ref
references using jsonref for complete schemas - Split - Separates documentation by provider (Omelet/iNavi)
- Generate - Creates integration patterns and guidelines from templates
- Structure - Generates provider-specific documentation:
- Request/response schemas
- Endpoint summaries and detailed overviews
- Request/response examples extracted from OpenAPI specs
- Deploy - Atomically replaces old documentation to ensure consistency
Use the update_docs.sh
script to refresh documentation from upstream APIs:
cd scripts
# Update all providers
./update_docs.sh
# Update only Omelet provider
./update_docs.sh omelet
# Update only iNavi provider
./update_docs.sh inavi
# Update multiple providers
./update_docs.sh omelet inavi
# Show usage information
./update_docs.sh --help
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes (don't forget to run
pre-commit
hooks) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure your code:
- Passes all pre-commit hooks (ruff, mypy, etc.)
- Includes appropriate tests
- Follows the existing code style
- Includes clear commit messages
This project is licensed under the MIT License.