tms-mcp


Nametms-mcp JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryMCP server for exploring Omelet's Routing Engine and iNavi's Maps API to help build a TMS
upload_time2025-10-23 00:18:24
maintainerNone
docs_urlNone
authorNone
requires_python~=3.11
licenseNone
keywords mcp tms routing logistics omelet inavi maps api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TMS Development Wizard MCP Server

[![English](https://img.shields.io/badge/πŸ‡¬πŸ‡§-English-blue.svg)](README.md)
[![ν•œκ΅­μ–΄](https://img.shields.io/badge/πŸ‡°πŸ‡·-ν•œκ΅­μ–΄-orange.svg)](README.ko.md)

---

## 🎯 Overview

**🚚TMS Development WizardπŸ§™β€β™‚οΈ** helps you build a TMS(Transport Management System) by providing you with the tools to explore **[Omelet's Routing Engine](https://www.oaasis.cc/routing)** and **[iNavi's Maps API](https://mapsapi.inavisys.com/)**. 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

---

## ✨ Features

- πŸš€ **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`)
- πŸ› οΈ **Troubleshooting Guides** - Access diagnostic guides for common integration and runtime issues (`list_troubleshooting_guides`, `get_troubleshooting_guide`)

> **Note:** API keys from [Omelet](https://routing.oaasis.cc/) and [iNavi](https://mapsapi.inavisys.com/) 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.

---

## πŸš€ Quick Start

### MCP Server Installation

**Prerequisites:** Ensure you have **[uv](https://docs.astral.sh/uv/getting-started/installation/)** installed.

<details>
<summary><b>Cursor</b></summary>

Navigate to your MCP settings (Cursor > Settings > Cursor Settings > Tools & MCP) and add:

```json
{
   "mcpServers": {
      "TMS Development Wizard": {
         "command": "uvx",
         "args": ["tms-mcp"],
         "env": {
            "INAVI_API_KEY": "your_inavi_api_key",
            "OMELET_API_KEY": "your_omelet_api_key"
         }
      }
   }
}
```
</details>
<details>
<summary><b>Claude Desktop</b></summary>

⚠️ Claude Desktop cannot directly send requests to API servers. Use Claude Desktop only for exploring API endpoints and responses.

1. Check `uvx` installation path via terminal.
   - For MacOS/Linux: `which uvx`
   - For Windows: `where uvx`

2. Open MCP settings JSON file (Claude > Settings > Developer > Edit Config), and add:

```json
{
   "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"
         }
      }
   }
}
```

3. Save the JSON file and restart Claude Desktop.
</details>
<details>
<summary><b>Claude Code</b></summary>

Open a terminal at the project root and run:

```bash
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
```
</details>
<details>
<summary><b>Codex CLI</b></summary>

Open a terminal at the project root and run:

```bash
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
```
</details>
<details>
<summary><b>Gemini CLI</b></summary>

Open a terminal at the project root and run:

```bash
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
```
</details>

> **Reminder:** Replace the `your_inavi_api_key` and `your_omelet_api_key` placeholders with your actual API credentials before saving or running these commands.

### Usage Examples

<details>
<summary><b>πŸ” Exploring Available APIs</b></summary>

```
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
```

</details>

<details>
<summary><b>πŸ—οΈ Building a Feature</b></summary>

```
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
```

</details>

<details>
<summary><b>🧩 Following Integration Patterns</b></summary>

```
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?
```

</details>

<details>
<summary><b>πŸ› Debugging & Schema Validation</b></summary>

```
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?
```

</details>

---

## πŸ› οΈ Development

### Setup

If you want to contribute or customize the server:

1. **Install [uv](https://docs.astral.sh/uv/getting-started/installation/)**

2. **Clone and set up development environment:**
   ```bash
   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
   ```

3. **Install pre-commit hooks:**
   ```bash
   pre-commit install
   ```

4. **(Optional) Configure environment variables:**
   ```bash
   cp env.example .env
   # Edit .env with your configuration
   ```

---

### Installing Locally

Configure your MCP client to connect to the local MCP server. Replace `/path/to/tms-dev-mcp` with your actual installation path.

<details>
<summary><b>Cursor / Claude Desktop</b></summary>

Navigate to your MCP settings and add:

```json
{
   "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"
         }
      }
   }
}
```

</details>

<details>
<summary><b>Claude Code</b></summary>

Open a terminal at the project root and run:

```bash
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
```

</details>

<details>
<summary><b>Codex CLI</b></summary>

Open a terminal at the project root and run:

```bash
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
```

</details>

<details>
<summary><b>Gemini CLI</b></summary>

Open a terminal at the project root and run:

```bash
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
```

</details>

---

### Currently Implemented Tools

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 |
| `list_troubleshooting_guides()` | Browse catalog of troubleshooting guides for common errors |
| `get_troubleshooting_guide(guide_id)` | Retrieve a specific troubleshooting guide with diagnostic steps |
| `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 |


---

### Project Structure

```
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
    β”œβ”€β”€ troubleshooting/   # Troubleshooting guides for common issues
    β”œβ”€β”€ omelet/            # Omelet-specific docs
    β”‚   β”œβ”€β”€ openapi.json
    β”‚   β”œβ”€β”€ endpoints_summary.md
    β”‚   β”œβ”€β”€ overviews/
    β”‚   β”œβ”€β”€ schemas/
    β”‚   └── examples/
    └── inavi/             # iNavi-specific docs
        β”œβ”€β”€ openapi.json
        β”œβ”€β”€ endpoints_summary.md
        β”œβ”€β”€ overviews/
        └── schemas/
```

(Some folders/files are omitted for brevity)

---

### Document Generation Pipeline

The pipeline automatically processes OpenAPI specifications and generates structured documentation:

1. **Fetch** - Downloads OpenAPI specs from configured URLs
2. **Resolve** - Resolves all `$ref` references using jsonref for complete schemas
3. **Split** - Separates documentation by provider (Omelet/iNavi)
4. **Generate** - Creates integration patterns and guidelines from templates
5. **Structure** - Generates provider-specific documentation:
   - Request/response schemas
   - Endpoint summaries and detailed overviews
   - Request/response examples extracted from OpenAPI specs
6. **Deploy** - Atomically replaces old documentation to ensure consistency

---

### Authoring Integration Pattern Templates

Integration pattern templates live under `tms_mcp/pipeline/templates/integration_patterns/` and are written in Markdown with a required YAML front matter block. The front matter lets the pipeline index patterns accurately without guessing descriptions from body text.

Each template should start with:

```markdown
---
title: Descriptive Pattern Title
description: Short, one-sentence summary used in the generated list.
---
```

Keep summaries concise (a single sentence works best) because the pipeline copies the `description` field directly into `integration_patterns/list.md`. Additional metadata can be added in the front matter if needed; it will be ignored by the current tooling but preserved for future use.

After the front matter, write the guide in Markdown as usual. When you run the docs pipeline, templates are copied verbatim into `tms_mcp/docs/integration_patterns/`, and the list is regenerated from the parsed metadata, so the published content should match what you authored.

---

### Updating Documentation

Use the `update_docs.sh` script to refresh documentation from upstream APIs:

```bash
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
```

---

### Contributing

Contributions are welcome! Here's how you can help:

1. **Fork the repository**
2. **Create a feature branch** (`git checkout -b feature/amazing-feature`)
3. **Make your changes** (don't forget to run `pre-commit` hooks)
4. **Commit your changes** (`git commit -m 'Add amazing feature'`)
5. **Push to the branch** (`git push origin feature/amazing-feature`)
6. **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

---

## πŸ“„ License

This project is licensed under the MIT License.

---

<div align="center">

**[⬆ Back to Top](#tms-development-wizard-mcp-server)**

</div
>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tms-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.11",
    "maintainer_email": null,
    "keywords": "mcp, tms, routing, logistics, omelet, inavi, maps, api",
    "author": null,
    "author_email": "Omelet <dev.shared@omelet.ai>",
    "download_url": "https://files.pythonhosted.org/packages/e7/ec/c6aa42ccf6a4827e6749cff809e0b82963d4d6dc3978f21478335d6a1bec/tms_mcp-0.3.0.tar.gz",
    "platform": null,
    "description": "# TMS Development Wizard MCP Server\n\n[![English](https://img.shields.io/badge/\ud83c\uddec\ud83c\udde7-English-blue.svg)](README.md)\n[![\ud55c\uad6d\uc5b4](https://img.shields.io/badge/\ud83c\uddf0\ud83c\uddf7-\ud55c\uad6d\uc5b4-orange.svg)](README.ko.md)\n\n---\n\n## \ud83c\udfaf Overview\n\n**\ud83d\ude9aTMS Development Wizard\ud83e\uddd9\u200d\u2642\ufe0f** helps you build a TMS(Transport Management System) by providing you with the tools to explore **[Omelet's Routing Engine](https://www.oaasis.cc/routing)** and **[iNavi's Maps API](https://mapsapi.inavisys.com/)**. No more juggling between multiple API docs - vibe your way to your own customized TMS.\n\n**Perfect for:**\n- \ud83d\ude80 **Rapid API Exploration** - Quickly discover what's possible without reading through walls of documentation\n- \ud83e\uddea **Prototyping & Testing** - Spin up test implementations in minutes, not hours\n- \ud83c\udfd7\ufe0f **Production Systems** - Build complex TMS workflows with guided API integration patterns\n\n---\n\n## \u2728 Features\n\n- \ud83d\ude80 **Multi-Provider Support** - Unified access to both Omelet Routing Engine and iNavi Maps API documentation\n- \ud83d\udcda **Endpoint Discovery** - Browse and filter API endpoints by provider with detailed overviews (`list_endpoints`, `get_endpoint_overview`)\n- \ud83e\udde9 **Integration Patterns** - Pre-built workflow patterns with agentic coding guidelines for common TMS use cases (`list_integration_patterns`, `get_integration_pattern`)\n- \ud83d\udd0d **Schema Explorer** - Inspect request/response schemas for any endpoint and HTTP status code (`get_request_body_schema`, `get_response_schema`)\n- \ud83d\udca1 **Example Library** - Access real-world API request/response examples extracted from OpenAPI specs (`list_examples`, `get_example`)\n- \ud83d\udee0\ufe0f **Troubleshooting Guides** - Access diagnostic guides for common integration and runtime issues (`list_troubleshooting_guides`, `get_troubleshooting_guide`)\n\n> **Note:** API keys from [Omelet](https://routing.oaasis.cc/) and [iNavi](https://mapsapi.inavisys.com/) 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.\n\n---\n\n## \ud83d\ude80 Quick Start\n\n### MCP Server Installation\n\n**Prerequisites:** Ensure you have **[uv](https://docs.astral.sh/uv/getting-started/installation/)** installed.\n\n<details>\n<summary><b>Cursor</b></summary>\n\nNavigate to your MCP settings (Cursor > Settings > Cursor Settings > Tools & MCP) and add:\n\n```json\n{\n   \"mcpServers\": {\n      \"TMS Development Wizard\": {\n         \"command\": \"uvx\",\n         \"args\": [\"tms-mcp\"],\n         \"env\": {\n            \"INAVI_API_KEY\": \"your_inavi_api_key\",\n            \"OMELET_API_KEY\": \"your_omelet_api_key\"\n         }\n      }\n   }\n}\n```\n</details>\n<details>\n<summary><b>Claude Desktop</b></summary>\n\n\u26a0\ufe0f Claude Desktop cannot directly send requests to API servers. Use Claude Desktop only for exploring API endpoints and responses.\n\n1. Check `uvx` installation path via terminal.\n   - For MacOS/Linux: `which uvx`\n   - For Windows: `where uvx`\n\n2. Open MCP settings JSON file (Claude > Settings > Developer > Edit Config), and add:\n\n```json\n{\n   \"mcpServers\": {\n      \"TMS Development Wizard\": {\n         \"command\": \"[uvx installation path from step 1]\",\n         \"args\": [\"tms-mcp\"],\n         \"env\": {\n            \"INAVI_API_KEY\": \"your_inavi_api_key\",\n            \"OMELET_API_KEY\": \"your_omelet_api_key\"\n         }\n      }\n   }\n}\n```\n\n3. Save the JSON file and restart Claude Desktop.\n</details>\n<details>\n<summary><b>Claude Code</b></summary>\n\nOpen a terminal at the project root and run:\n\n```bash\nclaude mcp add TMS-Development-Wizard uvx tms-mcp --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key\n```\n</details>\n<details>\n<summary><b>Codex CLI</b></summary>\n\nOpen a terminal at the project root and run:\n\n```bash\ncodex mcp add TMS-Development-Wizard --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key uvx tms-mcp\n```\n</details>\n<details>\n<summary><b>Gemini CLI</b></summary>\n\nOpen a terminal at the project root and run:\n\n```bash\ngemini mcp add TMS-Development-Wizard uvx tms-mcp --env INAVI_API_KEY=your_inavi_api_key --env OMELET_API_KEY=your_omelet_api_key\n```\n</details>\n\n> **Reminder:** Replace the `your_inavi_api_key` and `your_omelet_api_key` placeholders with your actual API credentials before saving or running these commands.\n\n### Usage Examples\n\n<details>\n<summary><b>\ud83d\udd0d Exploring Available APIs</b></summary>\n\n```\nWhat routing APIs are available from Omelet?\n```\n\n```\nShow me all the iNavi endpoints for geocoding\n```\n\n```\nWhat's the difference between the VRP and Advanced VRP endpoints?\n```\n\n```\nList all the integration patterns available\n```\n\n</details>\n\n<details>\n<summary><b>\ud83c\udfd7\ufe0f Building a Feature</b></summary>\n\n```\nHelp me implement route optimization for 50 delivery addresses using Omelet's VRP API\n```\n\n```\nI need to calculate a distance matrix for 100 locations. Which endpoint should I use and how?\n```\n\n```\nBuild a function to convert addresses to coordinates using iNavi's geocoding API\n```\n\n```\nShow me how to implement a pickup-delivery problem with time windows\n```\n\n</details>\n\n<details>\n<summary><b>\ud83e\udde9 Following Integration Patterns</b></summary>\n\n```\nI want to build a last-mile delivery system. What integration pattern should I follow?\n```\n\n```\nShow me the high-precision routing pattern for navigation apps\n```\n\n```\nHow do I combine Omelet's routing with iNavi's maps for a complete TMS?\n```\n\n</details>\n\n<details>\n<summary><b>\ud83d\udc1b Debugging & Schema Validation</b></summary>\n\n```\nI'm getting a 400 error from the VRP endpoint. Show me the request schema\n```\n\n```\nWhat's the expected response format for the cost-matrix API?\n```\n\n```\nShow me valid examples of request bodies for the Advanced VRP endpoint\n```\n\n```\nWhat response codes can the route-time endpoint return?\n```\n\n</details>\n\n---\n\n## \ud83d\udee0\ufe0f Development\n\n### Setup\n\nIf you want to contribute or customize the server:\n\n1. **Install [uv](https://docs.astral.sh/uv/getting-started/installation/)**\n\n2. **Clone and set up development environment:**\n   ```bash\n   git clone https://github.com/omelet-ai/tms-dev-mcp.git\n   cd tms-dev-mcp\n   uv sync --all-groups\n   source .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n   ```\n\n3. **Install pre-commit hooks:**\n   ```bash\n   pre-commit install\n   ```\n\n4. **(Optional) Configure environment variables:**\n   ```bash\n   cp env.example .env\n   # Edit .env with your configuration\n   ```\n\n---\n\n### Installing Locally\n\nConfigure your MCP client to connect to the local MCP server. Replace `/path/to/tms-dev-mcp` with your actual installation path.\n\n<details>\n<summary><b>Cursor / Claude Desktop</b></summary>\n\nNavigate to your MCP settings and add:\n\n```json\n{\n   \"mcpServers\": {\n      \"TMS Development Wizard\": {\n         \"command\": \"/path/to/tms-dev-mcp/.venv/bin/python\",\n         \"args\": [\n            \"/path/to/tms-dev-mcp/tms_mcp/main.py\",\n            \"start-server\"\n         ],\n         \"env\": {\n            \"INAVI_API_KEY\": \"your_inavi_api_key\",\n            \"OMELET_API_KEY\": \"your_omelet_api_key\"\n         }\n      }\n   }\n}\n```\n\n</details>\n\n<details>\n<summary><b>Claude Code</b></summary>\n\nOpen a terminal at the project root and run:\n\n```bash\nclaude 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\n```\n\n</details>\n\n<details>\n<summary><b>Codex CLI</b></summary>\n\nOpen a terminal at the project root and run:\n\n```bash\ncodex 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\n```\n\n</details>\n\n<details>\n<summary><b>Gemini CLI</b></summary>\n\nOpen a terminal at the project root and run:\n\n```bash\ngemini 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\n```\n\n</details>\n\n---\n\n### Currently Implemented Tools\n\nHere is an overview of currently implemented tools:\n\n| Tool | Description |\n|------|-------------|\n| `get_basic_info()` | Get overview information about both Omelet Routing Engine and iNavi Maps APIs |\n| `list_endpoints(provider)` | List all available API endpoints, optionally filtered by provider (`omelet`/`inavi`) |\n| `list_integration_patterns()` | Browse catalog of integration patterns with descriptions |\n| `get_integration_pattern(pattern_id, simple)` | Retrieve a specific integration playbook with agentic coding guidelines |\n| `list_troubleshooting_guides()` | Browse catalog of troubleshooting guides for common errors |\n| `get_troubleshooting_guide(guide_id)` | Retrieve a specific troubleshooting guide with diagnostic steps |\n| `get_endpoint_overview(path, provider)` | Get detailed overview for a specific API endpoint |\n| `get_request_body_schema(path, provider)` | Get the request body schema for an endpoint |\n| `get_response_schema(path, response_code, provider)` | Get the response schema for an endpoint and status code |\n| `list_examples(path, example_type, provider)` | List available request/response examples for an endpoint |\n| `get_example(path, example_name, example_type, response_code, provider)` | Get a specific example for an endpoint |\n\n\n---\n\n### Project Structure\n\n```\ntms_mcp/\n\u251c\u2500\u2500 server.py              # FastMCP server instance\n\u251c\u2500\u2500 main.py                # Entry point with CLI\n\u251c\u2500\u2500 config.py              # Configuration management\n\u251c\u2500\u2500 pipeline/\n\u2502   \u251c\u2500\u2500 pipeline.py        # Document indexing pipeline\n\u2502   \u251c\u2500\u2500 models.py          # Data models\n\u2502   \u251c\u2500\u2500 utils.py           # Utility functions\n\u2502   \u251c\u2500\u2500 generators/        # Documentation generators\n\u2502   \u2514\u2500\u2500 templates/         # Documentation templates\n\u251c\u2500\u2500 tools/\n\u2502   \u2514\u2500\u2500 doc_tools.py       # MCP tools for documentation queries\n\u2514\u2500\u2500 docs/                  # Generated documentation\n    \u251c\u2500\u2500 basic_info.md      # Shared API overview\n    \u251c\u2500\u2500 integration_patterns/  # Integration patterns & guidelines\n    \u251c\u2500\u2500 troubleshooting/   # Troubleshooting guides for common issues\n    \u251c\u2500\u2500 omelet/            # Omelet-specific docs\n    \u2502   \u251c\u2500\u2500 openapi.json\n    \u2502   \u251c\u2500\u2500 endpoints_summary.md\n    \u2502   \u251c\u2500\u2500 overviews/\n    \u2502   \u251c\u2500\u2500 schemas/\n    \u2502   \u2514\u2500\u2500 examples/\n    \u2514\u2500\u2500 inavi/             # iNavi-specific docs\n        \u251c\u2500\u2500 openapi.json\n        \u251c\u2500\u2500 endpoints_summary.md\n        \u251c\u2500\u2500 overviews/\n        \u2514\u2500\u2500 schemas/\n```\n\n(Some folders/files are omitted for brevity)\n\n---\n\n### Document Generation Pipeline\n\nThe pipeline automatically processes OpenAPI specifications and generates structured documentation:\n\n1. **Fetch** - Downloads OpenAPI specs from configured URLs\n2. **Resolve** - Resolves all `$ref` references using jsonref for complete schemas\n3. **Split** - Separates documentation by provider (Omelet/iNavi)\n4. **Generate** - Creates integration patterns and guidelines from templates\n5. **Structure** - Generates provider-specific documentation:\n   - Request/response schemas\n   - Endpoint summaries and detailed overviews\n   - Request/response examples extracted from OpenAPI specs\n6. **Deploy** - Atomically replaces old documentation to ensure consistency\n\n---\n\n### Authoring Integration Pattern Templates\n\nIntegration pattern templates live under `tms_mcp/pipeline/templates/integration_patterns/` and are written in Markdown with a required YAML front matter block. The front matter lets the pipeline index patterns accurately without guessing descriptions from body text.\n\nEach template should start with:\n\n```markdown\n---\ntitle: Descriptive Pattern Title\ndescription: Short, one-sentence summary used in the generated list.\n---\n```\n\nKeep summaries concise (a single sentence works best) because the pipeline copies the `description` field directly into `integration_patterns/list.md`. Additional metadata can be added in the front matter if needed; it will be ignored by the current tooling but preserved for future use.\n\nAfter the front matter, write the guide in Markdown as usual. When you run the docs pipeline, templates are copied verbatim into `tms_mcp/docs/integration_patterns/`, and the list is regenerated from the parsed metadata, so the published content should match what you authored.\n\n---\n\n### Updating Documentation\n\nUse the `update_docs.sh` script to refresh documentation from upstream APIs:\n\n```bash\ncd scripts\n\n# Update all providers\n./update_docs.sh\n\n# Update only Omelet provider\n./update_docs.sh omelet\n\n# Update only iNavi provider\n./update_docs.sh inavi\n\n# Update multiple providers\n./update_docs.sh omelet inavi\n\n# Show usage information\n./update_docs.sh --help\n```\n\n---\n\n### Contributing\n\nContributions are welcome! Here's how you can help:\n\n1. **Fork the repository**\n2. **Create a feature branch** (`git checkout -b feature/amazing-feature`)\n3. **Make your changes** (don't forget to run `pre-commit` hooks)\n4. **Commit your changes** (`git commit -m 'Add amazing feature'`)\n5. **Push to the branch** (`git push origin feature/amazing-feature`)\n6. **Open a Pull Request**\n\nPlease ensure your code:\n- Passes all pre-commit hooks (ruff, mypy, etc.)\n- Includes appropriate tests\n- Follows the existing code style\n- Includes clear commit messages\n\n---\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License.\n\n---\n\n<div align=\"center\">\n\n**[\u2b06 Back to Top](#tms-development-wizard-mcp-server)**\n\n</div\n>\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "MCP server for exploring Omelet's Routing Engine and iNavi's Maps API to help build a TMS",
    "version": "0.3.0",
    "project_urls": {
        "Documentation": "https://github.com/omelet-ai/tms-dev-mcp#readme",
        "Homepage": "https://github.com/omelet-ai/tms-dev-mcp",
        "Issues": "https://github.com/omelet-ai/tms-dev-mcp/issues",
        "Repository": "https://github.com/omelet-ai/tms-dev-mcp.git"
    },
    "split_keywords": [
        "mcp",
        " tms",
        " routing",
        " logistics",
        " omelet",
        " inavi",
        " maps",
        " api"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fe8164e71e9da5b4e7cc772c0111f99e0896a93b5353535bbd78411c8d4ca2f",
                "md5": "7fc38a67a1b2a1ace8f639f6affa6836",
                "sha256": "59c02d7e4118777f94c52211cba1189c18a95c0b1664075a3ecb6898562371bf"
            },
            "downloads": -1,
            "filename": "tms_mcp-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7fc38a67a1b2a1ace8f639f6affa6836",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.11",
            "size": 372355,
            "upload_time": "2025-10-23T00:18:23",
            "upload_time_iso_8601": "2025-10-23T00:18:23.852268Z",
            "url": "https://files.pythonhosted.org/packages/7f/e8/164e71e9da5b4e7cc772c0111f99e0896a93b5353535bbd78411c8d4ca2f/tms_mcp-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e7ecc6aa42ccf6a4827e6749cff809e0b82963d4d6dc3978f21478335d6a1bec",
                "md5": "c395eb9b5bbffdaf1762cbdd67d135b5",
                "sha256": "961add0b45d5b196e0c604a6eb0d86d55491b34a04965e56155aaa6f5220f066"
            },
            "downloads": -1,
            "filename": "tms_mcp-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c395eb9b5bbffdaf1762cbdd67d135b5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.11",
            "size": 252731,
            "upload_time": "2025-10-23T00:18:24",
            "upload_time_iso_8601": "2025-10-23T00:18:24.979135Z",
            "url": "https://files.pythonhosted.org/packages/e7/ec/c6aa42ccf6a4827e6749cff809e0b82963d4d6dc3978f21478335d6a1bec/tms_mcp-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-23 00:18:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "omelet-ai",
    "github_project": "tms-dev-mcp#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tms-mcp"
}
        
Elapsed time: 4.10208s