Skip to content

skywall34/trip-tracker-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trip Tracker MCP Server

A Model Context Protocol (MCP) server that provides access to a trip tracking SQLite database. This server enables AI assistants to query and manage flight trip information including users, airports, and flight details.

Description

This MCP server exposes a SQLite database for the trip-tracker application through a set of tools and resources. It provides structured access to:

  • Users: User account information and profiles
  • Trips: Flight records including departure/arrival airports, times, airline info, flight numbers, reservations, terminals, and gates
  • Airports: Airport data with IATA codes, names, cities, countries, and geographic coordinates

The server uses FastMCP and SQLAlchemy for async database operations, with input sanitization for security.

Features

Tools

Trip Management:

  • get_trip - Get detailed trip information by ID
  • list_trips - List trips with optional filtering by user, departure/arrival airports, or airline
  • get_user_trips - Get all trips for a specific user
  • search_trips_by_route - Search trips by departure and arrival airports

User Management:

  • get_user - Get user information by ID
  • list_users - List all users with pagination
  • search_users - Search users by email or name

Airport Information:

  • get_airport - Get airport details by IATA code
  • list_airports - List all airports with pagination
  • search_airports - Search airports by name, city, or country

Resources

  • trip://{trip_id} - Access trip information as a resource

Installation

Ensure you have Python 3.11 or higher installed.

Install dependencies using uv:

uv sync

Or using pip:

pip install -r requirements.txt

Configuration

The server connects to a SQLite database.

You can override this location by setting the TRIP_TRACKER_DB environment variable:

export TRIP_TRACKER_DB=/path/to/your/database.db

Running the Server

Using Python directly

python main.py

Using uv

uv run main.py

The server will:

  1. Initialize the database (create tables if they don't exist)
  2. Start the HTTP server on http://127.0.0.1:9000

MCP Client Configuration

To use this server with an MCP client (like Claude Desktop), add it to your MCP settings:

{
  "mcpServers": {
    "trip-tracker": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/user/trip-tracker-mcp",
        "run",
        "main.py"
      ],
      "env": {
        "TRIP_TRACKER_DB": "/path/to/your/database.db"
      }
    }
  }
}

Or using Python directly:

{
  "mcpServers": {
    "trip-tracker": {
      "command": "python",
      "args": ["/home/user/trip-tracker-mcp/main.py"],
      "env": {
        "TRIP_TRACKER_DB": "/path/to/your/database.db"
      }
    }
  }
}

About

MCP Server to Trip Tracker Data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages