Odometry Mileage Log

Mileage log and reimbursement

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
90%
Qualität der Benennung
90%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'calculate_mileage_reimbursement' name length outside 3-30 rangein calculate_mileage_reimbursement

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,942Tokens (Tool-Definitionen)
~13.7 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.30% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "odometry-mileage-log": {
      "url": "https://mileage-log.zovo.one/mcp"
    }
  }
}

Remote-Endpunkte

https://mileage-log.zovo.one/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (2)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢generate_mileage_log(trips, recurring, file, custom_rate_per_mile, log_title, ...)

Use this when the user wants a mileage log, mileage log template, mileage log for taxes, printable mileage log, mileage log in Excel, or mileage reimbursement report from trips they drove ("turn these trips into a mileage log for my taxes", "reconstruct my mileage log from my calendar"). Takes typed trips (date, from, to, purpose, miles or odometer start/end), recurring trips (for example weekdays in a month) and/or an attached CSV/XLSX file. Applies the IRS standard mileage rate for each trip's date (2025: 70 cents; Jan-Jun 2026: 72.5 cents; Jul-Dec 2026: 76 cents per business mile; medical, moving and charity rates) or a custom employer rate, checks odometer continuity, flags commuting and missing purposes, and totals by month, purpose and client. Returns a PDF mileage log and an XLSX file. Does not look up distances between addresses, track GPS, or give tax advice. Do not use for a single quick mileage total with no trip list (use calculate_mileage_reimbursement).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "trips": {
      "description": "Typed trips, one per drive, e.g. [{\"date\":\"2026-10-05\",\"from\":\"Office\",\"to\":\"Client A\",\"purpose\":\"Sales meeting\",\"miles\":12.4}].",
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "maxLength": 40,
            "description": "Date of the trip, YYYY-MM-DD, e.g. \"2026-10-05\". Turn weekdays like \"Mon\" into real dates from the conversation."
          },
          "from": {
            "description": "Start location, e.g. \"Office\" or \"Home\".",
            "type": "string",
            "maxLength": 120
          },
          "to": {
            "description": "Destination (the IRS requires it), e.g. \"Client A - 410 Main St, Austin TX\".",
            "type": "string",
            "maxLength": 120
          },
          "purpose": {
            "description": "Business purpose (the IRS requires it), e.g. \"Quarterly review meeting\" or \"Home visit, patient care\".",
            "type": "string",
            "maxLength": 200
          },
          "client": {
            "description": "Optional client, customer, project or property for totals by client, e.g. \"Acme Corp\" or \"123 Oak Ln listing\".",
            "type": "string",
            "maxLength": 80
          },
          "miles": {
            "description": "Miles driven as the user gives them, e.g. 12.4. If the user says \"12.4 mi round trip\", 12.4 is already the total: pass 12.4 with round_trip false. Leave out when odometer readings are given.",
            "type": "number",
            "minimum": 0,
            "maximum": 100000
          },
          "odometer_start": {
            "description": "Odometer reading at the start of the trip, e.g. 41230.",
            "type": "number",
            "minimum": 0,
            "maximum": 9999999
          },
          "odometer_end": {
            "description": "Odometer reading at the end of the trip, e.g. 41254.8. Miles = end - start.",
            "type": "number",
            "minimum": 0,
            "maximum": 9999999
          },
          "round_trip": {
            "description": "true only when miles is the ONE-WAY distance and the driver came back the same way (\"6.2 mi each way\"): miles are doubled. Ignored when odometer readings are given.",
            "type": "boolean"
          },
          "category": {
            "description": "business (default), medical, moving (Armed Forces only), charity, commute (logged, not reimbursed) or personal (logged, not reimbursed).",
            "type": "string",
            "enum": [
              "business",
              "medical",
              "moving",
              "charity",
              "commute",
              "personal"
            ]
          }
        },
        "required": [
          "date"
        ]
      }
    },
    "recurring": {
      "description": "Repeating trips, e.g. \"every weekday in October, 18 mi to the clinic\" -> [{\"start_date\":\"2026-10-01\",\"end_date\":\"2026-10-31\",\"to\":\"Clinic\",\"purpose\":\"Patient visits\",\"miles\":18}].",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "start_date": {
            "type": "string",
            "maxLength": 20,
            "description": "First date of the repeat, YYYY-MM-DD, e.g. \"2026-10-01\"."
          },
          "end_date": {
            "type": "string",
            "maxLength": 20,
            "description": "Last date of the repeat (inclusive), YYYY-MM-DD, e.g. \"2026-10-31\"."
          },
          "weekdays": {
            "description": "Days of the week it happens, default Monday-Friday, e.g. [\"mon\",\"wed\",\"fri\"].",
            "maxItems": 7,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "sun",
                "mon",
                "tue",
                "wed",
                "thu",
                "fri",
                "sat"
              ]
            }
          },
          "from": {
            "description": "Start location, e.g. \"Office\".",
            "type": "string",
            "maxLength": 120
          },
          "to": {
            "description": "Destination, e.g. \"Riverside Clinic\".",
            "type": "string",
            "maxLength": 120
          },
          "purpose": {
            "description": "Business purpose, e.g. \"Patient home visits\".",
            "type": "string",
            "maxLength": 200
          },
          "client": {
            "description": "Optional client or project, e.g. \"Riverside Clinic\".",
            "type": "string",
            "maxLength": 80
          },
          "miles": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000,
            "description": "Miles per occurrence as given, e.g. 18 (the round-trip total if the user says \"18 mi round trip\")."
          },
          "round_trip": {
            "description": "true only if miles is one-way and should be doubled.",
            "type": "boolean"
          },
          "category": {
            "description": "business (default), medical, moving, charity, commute or personal.",
            "type": "string",
            "enum": [
              "business",
              "medical",
              "moving",
              "charity",
              "commute",
              "personal"
            ]
          }
        },
        "required": [
          "start_date",
          "end_date",
          "miles"
        ]
      }
    },
    "file": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "description": "Temporary download link for the file, supplied by ChatGPT."
        },
        "file_id": {
          "type": "string",
          "description": "ChatGPT file id, e.g. file_abc123."
        },
        "mime_type": {
          "description": "Media type if known, e.g. application/pdf.",
          "type": "string"
        },
        "file_name": {
          "description": "Original file name if known, e.g. statement.pdf.",
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "description": "Optional trip spreadsheet the user attached (CSV, TSV or XLSX) with columns such as Date, From, To, Purpose, Miles, or Odometer start and Odometer end, e.g. trips.xlsx."
    },
    "custom_rate_per_mile": {
      "description": "Employer or contract reimbursement rate in US dollars per mile for business trips, e.g. 0.60. Leave out to use the IRS standard mileage rate for each trip date.",
      "type": "number",
      "minimum": 0,
      "maximum": 5
    },
    "log_title": {
      "description": "Title printed on the log, e.g. \"October 2026 mileage\".",
      "type": "string",
      "maxLength": 80
    },
    "driver_name": {
      "description": "Optional driver name printed on the log, e.g. \"Dana Lee\".",
      "type": "string",
      "maxLength": 80
    },
    "vehicle": {
      "description": "Optional vehicle description printed on the log, e.g. \"2021 Toyota Camry\". No VIN or plate needed.",
      "type": "string",
      "maxLength": 80
    },
    "year_start_odometer": {
      "description": "Odometer at the start of the year (or of the log period), e.g. 38500. With year_end_odometer it gives total miles and business-use percentage.",
      "type": "number",
      "minimum": 0,
      "maximum": 9999999
    },
    "year_end_odometer": {
      "description": "Odometer at the end of the year (or of the log period), e.g. 52120.",
      "type": "number",
      "minimum": 0,
      "maximum": 9999999
    },
    "regular_workplace": {
      "description": "Name of the user's regular office or workplace, e.g. \"Main St office\", to flag home-to-office commuting.",
      "type": "string",
      "maxLength": 80
    },
    "home_office_is_principal_place": {
      "description": "true if the user's home office is their principal place of business (then trips from home are not flagged as commuting).",
      "type": "boolean"
    },
    "skip_dates": {
      "description": "Dates to leave out of recurring trips (holidays, PTO), YYYY-MM-DD, e.g. [\"2026-10-12\"].",
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 20
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "period": {
      "type": "string"
    },
    "rate_basis": {
      "type": "string"
    },
    "totals": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "vehicle_use": {},
    "rates_used": {
      "type": "array",
      "items": {}
    },
    "by_month": {
      "type": "array",
      "items": {}
    },
    "by_purpose": {
      "type": "array",
      "items": {}
    },
    "by_client": {
      "type": "array",
      "items": {}
    },
    "flags": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "preview": {
      "type": "array",
      "items": {}
    },
    "source": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "downloads": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "kind",
    "title",
    "period",
    "rate_basis",
    "totals",
    "vehicle_use",
    "rates_used",
    "by_month",
    "by_purpose",
    "by_client",
    "flags",
    "preview",
    "source",
    "notes",
    "downloads"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢calculate_mileage_reimbursement(miles, date, segments, category, custom_rate_per_mile, ...)

Use this when the user asks for a mileage reimbursement calculator, mileage deduction, or the IRS mileage rate 2026 applied to a number of miles ("how much can I deduct for 4,200 business miles", "my employer pays 0.70 a mile how much do I get", "odometer 41230 to 46890 how many business miles"). Applies the IRS standard mileage rate for the date driven (2025: 70 cents; Jan-Jun 2026: 72.5 cents; Jul-Dec 2026: 76 cents per business mile; medical/moving 21, 20.5, 23.5 cents; charity 14 cents), splits miles across the July 1, 2026 rate change, compares a custom employer rate with the IRS rate, and turns odometer readings into miles. Does not build a trip-by-trip log (use generate_mileage_log), look up distances, or give tax advice.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "miles": {
      "description": "Miles to reimburse or deduct, e.g. 4200. Leave out when odometer_start and odometer_end are given.",
      "type": "number",
      "minimum": 0,
      "maximum": 1000000
    },
    "date": {
      "description": "When the miles were driven, YYYY-MM-DD or YYYY-MM, e.g. \"2026-08-15\" or \"2026-03\". Picks the IRS rate for that date. Default: today.",
      "type": "string",
      "maxLength": 20
    },
    "segments": {
      "description": "Miles split by date when they straddle a rate change, e.g. [{\"miles\":1800,\"date\":\"2026-05\"},{\"miles\":2400,\"date\":\"2026-09\"}].",
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "miles": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Miles in this part, e.g. 1800."
          },
          "date": {
            "type": "string",
            "maxLength": 20,
            "description": "Date or month of these miles, e.g. \"2026-05\" or \"2026-09-30\"."
          }
        },
        "required": [
          "miles",
          "date"
        ]
      }
    },
    "category": {
      "description": "business (default), medical, moving (Armed Forces only) or charity.",
      "type": "string",
      "enum": [
        "business",
        "medical",
        "moving",
        "charity"
      ]
    },
    "custom_rate_per_mile": {
      "description": "Employer or contract rate in US dollars per mile, e.g. 0.70 or 0.60. The IRS amount is shown next to it.",
      "type": "number",
      "minimum": 0,
      "maximum": 5
    },
    "odometer_start": {
      "description": "Odometer reading at the start, e.g. 41230.",
      "type": "number",
      "minimum": 0,
      "maximum": 9999999
    },
    "odometer_end": {
      "description": "Odometer reading at the end, e.g. 46890.",
      "type": "number",
      "minimum": 0,
      "maximum": 9999999
    },
    "personal_miles": {
      "description": "Personal or commuting miles inside the odometer range to subtract, e.g. 900.",
      "type": "number",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "miles": {
      "type": "number"
    },
    "amount": {
      "type": "number"
    },
    "amount_text": {
      "type": "string"
    },
    "rate_basis": {
      "type": "string"
    },
    "lines": {
      "type": "array",
      "items": {}
    },
    "irs_amount": {
      "type": "number"
    },
    "custom": {},
    "odometer": {},
    "alternatives": {
      "type": "array",
      "items": {}
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "kind",
    "category",
    "miles",
    "amount",
    "amount_text",
    "rate_basis",
    "lines",
    "irs_amount",
    "custom",
    "odometer",
    "alternatives",
    "notes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet2 Tools