Cox's Bazar AI Itinerary MCP Server
This MCP server provides AI-powered travel planning tools specifically for Cox's Bazar, Bangladesh, combining weather data with intelligent itinerary generation.
Capabilities:
Generate AI-powered travel itineraries - Create detailed multi-day trip plans by specifying trip duration and start date (supports flexible formats like "2025-01-15", "15 Jan 2025", or "today"). The system automatically fetches daily temperature forecasts and generates comprehensive itineraries.
Get weather-based activity suggestions - Receive personalized activity recommendations tailored to specific temperature conditions and time of day (morning, afternoon, or evening).
Access weather forecasts - Retrieve temperature and detailed weather information for informed travel planning.
Use pre-configured travel prompts - Leverage built-in prompts for consistent and streamlined itinerary generation workflows.
Supports authentication provider integration with Auth0, enabling enterprise-grade authentication and authorization for MCP server access.
Provides optional authentication via Clerk OAuth provider, allowing secure access to MCP server tools and resources with configurable authentication settings.
Includes production-ready Docker configuration for containerized deployment, enabling easy deployment and scaling of the MCP server in containerized environments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cox's Bazar AI Itinerary MCP Servergenerate a 3-day itinerary for Cox's Bazar with beach activities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Production Ready MCP Boilerplate
Cox's Bazar AI Itinerary MCP Server
A Model Context Protocol (MCP) server that provides travel planning tools and weather information for Cox's Bazar, Bangladesh. Built with FastMCP and managed by uv.
Features
Weather Resources: Temperature forecasts and detailed weather information
Itinerary Tools: AI-powered travel itinerary generation
Travel Prompts: Pre-configured prompts for travel planning
Auth Support: Optional authentication via Clerk (configurable via env)
Rate Limiting: Built-in rate limiting middleware
Docker Ready: Production Dockerfile included
Linting & Formatting: Ruff + pre-commit hooks (see
_docs/lint-formatting.md)
Requirements
Python 3.13+
uv (package manager)
Node.js 20+ (only for MCP Inspector)
Getting Started
# Install dependencies
uv sync
# Copy environment variables and configure
cp .env.example .env
# (Optional) Install pre-commit git hooks
uv run pre-commit-installCLI Commands
All commands are registered in pyproject.toml and available via uv run:
Command | Description |
| Start the MCP server |
| Start the MCP server in dev mode (auto-reload) |
| Launch the MCP Inspector UI (requires Node.js 20+) |
| Run pre-commit hooks (lint + format) on all files |
| Install pre-commit hooks into the git repo |
Dev Server
Start the MCP server with auto-reload via watchdog:
uv run mcp-server-dev
# or
./scripts/run-mcp-server.shMCP Inspector
Launch the interactive MCP Inspector UI to test tools, resources, and prompts:
uv run mcp-inspector
# or
./scripts/run-inspector.shLinting & Formatting
# Run lint + format via pre-commit
uv run lint
# Or run individually
./scripts/lint.sh # ruff check . --fix
./scripts/format.sh # ruff format .See _docs/lint-formatting.md for full configuration details.
Testing
./scripts/test.shSee _docs/testing.md for test conventions and fixtures.
Docker
docker build -t mcp-server .
docker run mcp-serverThe server runs via uv run mcp-server inside the container. Transport and port are configurable through environment variables (TRANSPORT_NAME, SERVER_PORT, SERVER_HOST).
Project Structure
.
├── src/mcp_server/
│ ├── server.py # Main server entry point
│ ├── mcp_instance.py # FastMCP instance & auth config
│ ├── cli.py # CLI command definitions
│ ├── config/
│ │ ├── auth_provider.py # Auth provider factory
│ │ └── custom_routes.py # Custom HTTP routes
│ ├── handlers/ # MCP handler registrations (auto-discovered)
│ │ ├── tools/
│ │ │ ├── auth_additional.py
│ │ │ └── itinerary.py
│ │ ├── resources/
│ │ │ └── weather.py
│ │ └── prompts/
│ │ └── travel_prompts.py
│ ├── models/
│ │ └── itinerary_models.py # Pydantic models & schemas
│ ├── services/
│ │ └── itenerary_service.py # Business logic
│ ├── lib/
│ │ ├── clerk_auth_provider.py # Clerk OAuth provider
│ │ └── httpx_client.py # Async HTTP client wrapper
│ ├── prompt_templates/
│ │ └── travel.py # Prompt text builders
│ └── utils/
│ ├── elicitation.py
│ ├── get_weather_forecast.py
│ ├── helpers.py
│ └── http.py
├── tests/
│ ├── conftest.py
│ ├── fixtures/
│ │ ├── context.py
│ │ └── weather.py
│ ├── unit/
│ │ ├── test_auth_additional_tools.py
│ │ ├── test_auth_provider.py
│ │ ├── test_elicitation.py
│ │ ├── test_helpers.py
│ │ ├── test_itinerary_service_extra.py
│ │ ├── test_itinerary_tool_handler.py
│ │ ├── test_models.py
│ │ ├── test_server.py
│ │ ├── test_travel_prompts.py
│ │ ├── test_travel_prompts_handler.py
│ │ ├── test_weather_forecast.py
│ │ └── test_weather_resource.py
│ └── integration/
│ ├── test_itinerary_tool.py
│ └── test_weather_api.py
├── scripts/
│ ├── run-mcp-server.sh # Dev server with auto-reload
│ ├── run-inspector.sh # MCP Inspector launcher
│ ├── test.sh # Test runner
│ ├── lint.sh # Ruff lint --fix
│ ├── format.sh # Ruff format
│ └── generate-secrets.sh # Secret key generator
├── _docs/ # Documentation & ADRs
│ ├── adr/
│ │ ├── 001-choose-fastmcp.md
│ │ ├── 002-choose-httpx.md
│ │ └── ADR-template.md
│ ├── auth-provider-auth0.md
│ ├── httpx-client.md
│ ├── lint-formatting.md
│ ├── remote-mcp-connect.md
│ └── testing.md
├── .env.example # Environment variables template
├── .pre-commit-config.yaml # Pre-commit hook config
├── Dockerfile # Production Docker image
├── pyproject.toml # Project config & dependencies
├── ruff.toml # Ruff linter/formatter config
├── pytest.ini # Pytest configuration
├── glama.json # Glama registry config
└── LICENSE # MIT LicenseDocumentation
Document | Description |
Ruff & pre-commit configuration | |
Test setup, fixtures, and conventions | |
Async HTTP client usage | |
Auth provider integration | |
Remote MCP connection guide | |
Architecture Decision Records |
License
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/code4mk/coxs-bazar-itinerary-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server