PackRat MCP Connector

Plan trips, build packs, check weather.

PackRat runs a Model Context Protocol server at mcp.packratai.com. Connect Claude or any MCP-capable client, sign in with your PackRat account, and use natural language to manage your gear, plan trips, check conditions, and post to your feed.

Quickstart

PackRat is a custom connector in Claude.ai. The install:

  1. In Claude.ai, open Settings → Connectors → Add custom connector.
  2. Paste the connector URL: https://mcp.packratai.com/mcp
  3. Claude redirects you to PackRat to sign in. You'll briefly see api.packrat.world in your browser address bar — that's our authorization server, hosted on a separate origin from the MCP endpoint for security (a standard OAuth 2.1 + PKCE split-host pattern). Sign in with your PackRat account, or create one at packratai.com.
  4. Approve the requested scopes on the consent screen. Claude requests mcp:read and mcp:write by default. You can approve all, deny, or (in a future release) approve a subset. mcp:admin is only granted server-side based on your PackRat user role — non-admins never see it offered.
  5. You're returned to Claude.ai. The connector is now installed and the tool catalog is loaded.

Tokens are short-lived (60 minutes) and refresh automatically. Revoke the connection at any time from your PackRat account settings or by emailing [email protected].

If your install fails…

The cross-origin install above depends on Claude.ai's OAuth discovery client correctly following the link from the MCP resource server to the authorization server. A handful of failure modes can show up:

  • “Could not connect” or a CORS error in the browser console. The browser blocked Claude's probe of the authorization-server metadata. Verify api.packrat.world is reachable from your network and not filtered by a corporate proxy / VPN.
  • Sign-in succeeds but you bounce back to Claude with an error. Some browser extensions strip the Authorization header on cross-origin redirects. Try a fresh browser profile or disable third-party cookie restrictions for claude.ai + api.packrat.world.
  • The consent screen shows the wrong client name. Claude.ai has been pre-registered with the AS, so “Claude” should appear as the requesting app. If you see unknown or a different name, the install is pointed at the wrong URL — confirm you pasted https://mcp.packratai.com/mcp exactly.
  • Tools work for ~60 minutes then stop. Refresh-token rotation failed. Remove the connector in Claude.ai's settings and re-add it; if it recurs, email [email protected] with the timestamp and we'll check the AS logs.

Operators: deeper failure modes (including the reverse-proxy fallback for cross-origin AS issues) are in docs/mcp/runbook.md § Post-refactor dev verification.

OAuth scopes

PackRat advertises four coarse-grained scopes. Claude.ai requests mcp:read + mcp:write by default; mcp:admin is only granted to PackRat admin users and is the gate for destructive admin tooling.

ScopeGrants
mcp:readRead-only tools: get_*, list_*, search_*, find_*, whoami.
mcp:writeRead plus create/update/delete/submit tools.
mcp:adminRead + write + admin tools. Only granted to PackRat admin users.

Example prompts

Three prompts to try after connecting. Each exercises a different tool surface — a read-only query, a multi-tool plan, and a write that triggers an elicitation confirmation.

Read-only · packs & gear comparison

“What's in my Big 3 right now? Suggest one swap to drop a pound.”

Exercises packrat_list_packs, packrat_list_pack_items, packrat_similar_pack_items. Claude reads your current pack, finds the three heaviest items (shelter, sleep, pack), and proposes a single lighter substitute from the gear catalog.

Multi-tool plan · trip + weather + trail status + pack

“Plan a 3-day trip to the Wind River Range next weekend; build the pack, check the weather, and flag any trail closures.”

Exercises packrat_search_trails, packrat_get_weather, packrat_list_my_trail_reports, packrat_create_trip, packrat_create_pack. Claude composes a trip with the right gear for the forecast and surfaces any user-reported closures along the route.

Write with elicitation · TikTok URL → personal pack template

“Find a TikTok ultralight loadout I saw at <url> and import it as a personal template.”

Exercises packrat_extract_url_content and packrat_generate_pack_template_from_url (admin-only — for non-admin users, Claude falls back to packrat_create_pack_template). The tool triggers an MCP elicitation asking you to type GENERATE before importing — this is the user-confirmation pattern Anthropic's reviewers should see firing on high-blast-radius writes.

Tool catalog

The connector exposes 93 tools grouped into 14 domains: 41 read-only, 26 write, 26 admin. Each tool carries explicit MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) so Claude can surface the right confirmation prompts.

Catalog list views and resource lists are capped at 25 items to keep context lean; reach deeper with packrat_search_gear_catalog.

Catalog generated 2026-08-29 from the live registration code — see packages/mcp/scripts/dump-catalog.ts.

Account (3)

  • packrat_get_profilemcp:readread-onlyidempotent

    Get My Profile — Get the authenticated user's profile (firstName, lastName, email, avatar).

  • packrat_update_profilemcp:writeidempotent

    Update My Profile — Update the authenticated user's profile fields.

  • packrat_whoamimcp:readread-onlyidempotent

    Who Am I — Return the currently authenticated PackRat user profile.

Packs (18)

  • packrat_add_pack_itemmcp:write

    Add Pack Item — Add a gear item to a pack. Provide either a catalog_item_id (from packrat_search_gear_catalog) or specify custom item details. Weight should be in grams.

  • packrat_admin_delete_packmcp:admindestructiveidempotent

    Admin: Delete Pack — Soft-delete a pack as admin (bypasses ownership). Prompts the user to type DELETE before proceeding.

  • packrat_admin_list_packsmcp:adminread-onlyidempotent

    Admin: List Packs — Search/list packs across all users (admin view). Page size is capped at 50 server-side; walk via the next `offset` field.

  • packrat_analyze_pack_gapsmcp:readread-onlyidempotent

    Analyze Pack Gaps — Identify missing essential gear categories for a specific trip context. Compares the pack's current categories against recommended essentials and returns what's missing. Only pack_id is required — when the user doesn't state a destination, trip type, or duration, this falls back to a general 2-day backpacking context rather than failing.

  • packrat_analyze_pack_weightmcp:readread-onlyidempotent

    Analyze Pack Weight — Return a detailed weight breakdown for a pack: total / base / worn / consumable grams plus a per-category aggregation sorted heaviest first.

  • packrat_create_packmcp:write

    Create Pack — Create a new packing list for the user. Returns the newly created pack with its ID.

  • packrat_delete_packmcp:writedestructiveidempotent

    Delete Pack — Soft-delete a pack. The pack will no longer appear in listings.

  • packrat_get_packmcp:readread-onlyidempotent

    Get Pack — Get complete details of a single pack including all items with weights, categories, and computed totals. Use this to analyze pack weight, find gear gaps, or suggest optimizations.

  • packrat_get_pack_itemmcp:readread-onlyidempotent

    Get Pack Item — Get full details of a single pack item.

  • packrat_get_pack_weight_historymcp:readread-onlyidempotent

    Get Pack Weight History — Get the weight history for all of the user's packs over time.

  • packrat_list_pack_itemsmcp:readread-onlyidempotent

    List Pack Items — List all items in a pack.

  • packrat_list_packsmcp:readread-onlyidempotent

    List My Packs — List all packs belonging to the authenticated user. Returns pack summaries including name, category, item count, and total weight. Paginated: results are capped at 50 items per call; the response includes a `nextOffset` value (or `null` at the end) to continue iterating.

  • packrat_record_pack_weightmcp:write

    Record Pack Weight — Record a weight measurement for a pack at a specific point in time.

  • packrat_remove_pack_itemmcp:writedestructiveidempotent

    Remove Pack Item — Remove an item from a pack (soft-delete).

  • packrat_similar_pack_itemsmcp:readread-onlyidempotent

    Find Similar Pack Items — Find catalog gear similar to a specific item in a pack (semantic similarity).

  • packrat_suggest_pack_itemsmcp:readread-onlyidempotent

    Suggest Pack Items — Return catalog item suggestions for a pack based on the items already in it.

  • packrat_update_packmcp:writeidempotent

    Update Pack — Update a pack's name, description, category, visibility, or tags.

  • packrat_update_pack_itemmcp:writeidempotent

    Update Pack Item — Update fields on an existing pack item.

Pack Templates (9)

  • packrat_add_pack_template_itemmcp:write

    Add Pack Template Item — Add an item to a pack template.

  • packrat_create_pack_templatemcp:write

    Create Pack Template — Create a personal pack template visible only to you. To create a curated app template, use packrat_create_app_pack_template (admin-only).

  • packrat_delete_pack_templatemcp:writedestructiveidempotent

    Delete Pack Template — Delete a pack template.

  • packrat_delete_pack_template_itemmcp:writedestructiveidempotent

    Delete Pack Template Item — Delete a pack template item.

  • packrat_get_pack_templatemcp:readread-onlyidempotent

    Get Pack Template — Get a pack template with its items.

  • packrat_list_pack_template_itemsmcp:readread-onlyidempotent

    List Pack Template Items — List items inside a pack template.

  • packrat_list_pack_templatesmcp:readread-onlyidempotent

    List Pack Templates — List both user-owned and app-curated pack templates.

  • packrat_update_pack_templatemcp:writeidempotent

    Update Pack Template — Update a pack template.

  • packrat_update_pack_template_itemmcp:writeidempotent

    Update Pack Template Item — Update a pack template item.

Trips (5)

  • packrat_create_tripmcp:write

    Create Trip — Create a new trip plan with destination, dates, and optional link to a pack. Returns the created trip with its ID.

  • packrat_delete_tripmcp:writedestructiveidempotent

    Delete Trip — Delete a trip. The trip will no longer appear in listings.

  • packrat_get_tripmcp:readread-onlyidempotent

    Get Trip — Get full details for a single trip including location coordinates, dates, notes, and linked pack information.

  • packrat_list_tripsmcp:readread-onlyidempotent

    List My Trips — List all of the user's planned trips. Returns trip summaries including name, destination, dates, and linked pack. Paginated: results are capped at 50 per call; the response includes a `nextOffset` value (or `null` at the end) for continuation.

  • packrat_update_tripmcp:writeidempotent

    Update Trip — Update an existing trip's details, dates, location, or linked pack.

Trails (7)

  • packrat_admin_get_trailmcp:adminread-onlyidempotent

    Admin: Get Trail — Get a trail by OSM relation ID (admin).

  • packrat_admin_get_trail_geometrymcp:adminread-onlyidempotent

    Admin: Get Trail Geometry — Get full GeoJSON geometry for a trail (admin).

  • packrat_admin_search_trailsmcp:adminread-onlyidempotent

    Admin: Search Trails — Search OSM trails by name/sport (admin view). Page size is capped at 50 server-side; the response carries an `offset` and a `hasMore` flag for continuation.

  • packrat_get_trailmcp:readread-onlyidempotent

    Get Trail — Get metadata for a specific trail by its OSM relation ID. Returns name, sport, difficulty, distance, and bounding box.

  • packrat_get_trail_geometrymcp:readread-onlyidempotent

    Get Trail Geometry — Get full GeoJSON geometry for a trail. May be slow for large routes with many segments.

  • packrat_preview_alltrails_urlmcp:readread-onlyopen-world

    Preview AllTrails URL — Fetch trail metadata (title, description, image) from an AllTrails URL using OpenGraph tags.

  • packrat_search_trailsmcp:readread-onlyidempotent

    Search Trails — Search outdoor trails and routes from OpenStreetMap. Filter by name, sport type, and/or proximity to a location. Returns { trails, hasMore } — paginate via offset.

Trail Conditions (7)

  • packrat_admin_delete_trail_condition_reportmcp:admindestructiveidempotent

    Admin: Delete Trail Condition Report — Soft-delete a trail condition report as admin. Prompts the user to type DELETE before proceeding.

  • packrat_admin_list_trail_condition_reportsmcp:adminread-onlyidempotent

    Admin: List Trail Condition Reports — List trail condition reports across all users (admin). Page size is capped at 50 server-side; walk via the next `offset`.

  • packrat_delete_trail_conditionmcp:writedestructiveidempotent

    Delete Trail Condition Report — Soft-delete one of your trail condition reports.

  • packrat_get_trail_conditionsmcp:readread-onlyidempotent

    Get Trail Condition Reports — Get user-submitted trail condition reports. Filter by trail name to find reports for a specific trail or area.

  • packrat_list_my_trail_reportsmcp:readread-onlyidempotent

    List My Trail Reports — List trail condition reports authored by the signed-in user.

  • packrat_submit_trail_conditionmcp:write

    Submit Trail Condition Report — Submit a trail condition report to help the community. Requires user authentication.

  • packrat_update_trail_conditionmcp:writeidempotent

    Update Trail Condition Report — Update one of your own trail condition reports.

Weather (4)

  • packrat_get_weathermcp:readread-onlyidempotentopen-world

    Get Weather Forecast — Get current weather conditions and multi-day forecast for any location. Returns temperature, precipitation, wind, humidity, and outdoor conditions relevant to trip planning.

  • packrat_get_weather_forecastmcp:readread-onlyidempotentopen-world

    Get Weather Forecast By Location ID — Fetch a 10-day forecast given a WeatherAPI location ID (returned by packrat_search_weather_location).

  • packrat_search_weather_by_coordinatesmcp:readread-onlyidempotentopen-world

    Search Weather By Coordinates — Find weather locations near a latitude/longitude pair.

  • packrat_search_weather_locationmcp:readread-onlyidempotentopen-world

    Search Weather Locations — Search for weather locations by name. Returns matching locations with IDs.

Gear & Catalog (7)

  • packrat_admin_delete_catalog_itemmcp:admindestructiveidempotent

    Admin: Delete Catalog Item — Delete a catalog item as admin. Prompts the user to type DELETE before proceeding.

  • packrat_admin_list_catalogmcp:adminread-onlyidempotent

    Admin: List Catalog Items — Search/list catalog items across the platform. Page size is capped at 50 server-side; walk via the next `offset`.

  • packrat_admin_update_catalog_itemmcp:adminidempotent

    Admin: Update Catalog Item — Update a catalog item (name, brand, price, weight, etc.) as admin.

  • packrat_get_catalog_itemmcp:readread-onlyidempotent

    Get Catalog Item — Retrieve full details for a specific gear catalog item by ID. Returns specs, dimensions, weight, price, availability, user reviews, Q&A, and product URL.

  • packrat_list_gear_categoriesmcp:readread-onlyidempotent

    List Gear Categories — List all available gear categories in the catalog with item counts. Use this to explore what gear types are available before searching.

  • packrat_search_gear_catalogmcp:readread-onlyidempotent

    Search Gear Catalog — Search the PackRat gear catalog of outdoor products with specs, weights, prices, and reviews. Pass the user's natural-language phrasing directly — the search is semantic, so full descriptive queries like "ultralight 2-person tent under 1.5kg" or "warm but lightweight insulation layer for shoulder-season camping" work better than reduced keywords.

  • packrat_similar_catalog_itemsmcp:readread-onlyidempotent

    Find Similar Catalog Items — Find items similar to a given catalog item by embedding similarity.

Knowledge & Search (2)

  • packrat_extract_url_contentmcp:readread-onlyopen-world

    Extract URL Content — Extract the readable article content from any URL using Readability. Useful for ingesting blog posts, trip reports, or gear reviews.

  • packrat_web_searchmcp:readread-onlyopen-world

    Web Search — Search the public web for current, real-time information. Use this for current trail conditions, recent news, current gear prices and deals, permit availability, or anything requiring up-to-date info not in the PackRat knowledge base.

Feed (8)

  • packrat_create_feed_commentmcp:write

    Create Feed Comment — Add a comment to a feed post (or reply to a parent comment).

  • packrat_delete_feed_commentmcp:writedestructiveidempotent

    Delete Feed Comment — Delete one of your own feed comments.

  • packrat_delete_feed_postmcp:writedestructiveidempotent

    Delete Feed Post — Delete one of your own feed posts.

  • packrat_get_feed_postmcp:readread-onlyidempotent

    Get Feed Post — Get a specific feed post by ID.

  • packrat_list_feedmcp:readread-onlyidempotent

    List Feed Posts — List social feed posts (paginated).

  • packrat_list_feed_commentsmcp:readread-onlyidempotent

    List Feed Comments — List comments on a feed post.

  • packrat_toggle_feed_comment_likemcp:write

    Toggle Feed Comment Like — Like or unlike a feed comment (toggle).

  • packrat_toggle_feed_post_likemcp:write

    Toggle Feed Post Like — Like or unlike a feed post (toggle).

Guides (5)

  • packrat_get_guidemcp:readread-onlyidempotent

    Get Guide — Get a specific guide by ID. Returns MDX/Markdown content.

  • packrat_list_guide_categoriesmcp:readread-onlyidempotent

    List Guide Categories — List all guide categories.

  • packrat_list_guidesmcp:readread-onlyidempotent

    List Outdoor Guides — List PackRat outdoor guides (paginated, filterable by category).

  • packrat_search_guidesmcp:readread-onlyidempotent

    Search Outdoor Guides — Full-text search across PackRat outdoor guides.

  • packrat_search_outdoor_guidesmcp:readread-onlyidempotent

    Search Outdoor Knowledge Base — Search the PackRat outdoor knowledge base using retrieval-augmented search. Contains expert guides on outdoor skills, safety, Leave No Trace principles, gear techniques, navigation, first aid, and outdoor activities. Use this for "how-to" questions, technique guidance, or safety information.

Seasons (1)

  • packrat_get_season_suggestionsmcp:readread-onlyidempotent

    Get Season Suggestions — Generate season-appropriate pack suggestions for a location + date. Requires at least 20 inventory items on the signed-in user.

Wildlife (1)

  • packrat_identify_wildlifemcp:writeread-onlyopen-world

    Identify Wildlife From Image — Identify the plant or animal species in an uploaded image (provide the R2 image key from packrat_upload_image_url).

Admin & Analytics (16)

  • packrat_admin_analytics_active_usersmcp:adminread-onlyidempotent

    Admin: Active Users — Daily/weekly/monthly active user counts.

  • packrat_admin_analytics_activitymcp:adminread-onlyidempotent

    Admin: Analytics Activity — Platform activity metrics over a time period.

  • packrat_admin_analytics_catalog_embeddingsmcp:adminread-onlyidempotent

    Admin: Catalog Embedding Stats — Catalog embedding coverage stats.

  • packrat_admin_analytics_catalog_overviewmcp:adminread-onlyidempotent

    Admin: Catalog Overview — Catalog-wide overview: item count, brands, price ranges, embedding coverage.

  • packrat_admin_analytics_catalog_pricesmcp:adminread-onlyidempotent

    Admin: Catalog Prices — Price distribution across the catalog.

  • packrat_admin_analytics_etl_failure_summarymcp:adminread-onlyidempotent

    Admin: ETL Failure Summary — Top recent ETL failure patterns. Page size is capped at 50 server-side.

  • packrat_admin_analytics_etl_job_failuresmcp:adminread-onlyidempotent

    Admin: ETL Job Failures — Per-job ETL failure drill-down. Page size is capped at 50 server-side.

  • packrat_admin_analytics_etl_jobsmcp:adminread-onlyidempotent

    Admin: ETL Jobs — Recent ETL pipeline jobs. Page size is capped at 50 server-side.

  • packrat_admin_analytics_growthmcp:adminread-onlyidempotent

    Admin: Analytics Growth — Platform user/pack growth metrics.

  • packrat_admin_analytics_pack_breakdownmcp:adminread-onlyidempotent

    Admin: Pack Breakdown — Distribution of packs by category.

  • packrat_admin_analytics_top_brandsmcp:adminread-onlyidempotent

    Admin: Top Brands — Top gear brands in the catalog by item count. Page size is capped at 50 server-side.

  • packrat_admin_etl_reset_stuckmcp:adminidempotent

    Admin: ETL Reset Stuck Jobs — Mark stuck-running ETL jobs as failed (admin maintenance).

  • packrat_admin_etl_retry_jobmcp:adminidempotent

    Admin: ETL Retry Job — Retry a specific failed ETL job.

  • packrat_admin_hard_delete_usermcp:admindestructiveidempotent

    Admin: Hard-Delete User — GDPR-style hard-delete of a user. Irrevocable. Requires a non-empty `reason` for the audit log. Prompts the user to retype the target user_id before proceeding.

  • packrat_admin_list_usersmcp:adminread-onlyidempotent

    Admin: List Users — Search/list users (paginated). Use `q` to filter by email or name. Page size is capped at 50 server-side; the API returns a `{ data, total, limit, offset }` envelope which the model can walk via the next `offset`.

  • packrat_admin_statsmcp:adminread-onlyidempotent

    Admin: Platform Stats — Get high-level platform stats: user, pack, and catalog counts.

Resources

PackRat publishes six MCP resources alongside the tool catalog. Templated resources carry list providers so MCP clients can enumerate the signed-in user's data via resources/list without guessing IDs.

  • packrat://packs/{packId} — a pack and its items. List provider returns the user's packs.
  • packrat://trips/{tripId} — a trip's plan, destination, and dates. List provider returns the user's trips.
  • packrat://catalog/{itemId} — a gear catalog item. List provider returns the first 25 items (use packrat_search_gear_catalog for deeper access).
  • packrat://catalog/categories — the gear category tree.
  • packrat://search?q={query} — free-text query against the gear catalog.
  • packrat://glossary — domain vocabulary (pack/trip/weight/trail/scope terms) as markdown. Reading this once at session start saves Claude tool calls re-learning terminology.

Privacy & security

  • Tokens. OAuth access tokens are short-lived JWTs (60 minutes) signed by our authorization server on api.packrat.world. Refresh tokens last 30 days and rotate on every use. Token state is held on the authorization-server side; the MCP endpoint itself is stateless and verifies tokens against the AS's public JWKS.
  • Passwords. Your PackRat password is never visible to the MCP client; sign-in happens entirely on api.packrat.world and only an opaque OAuth code is returned to Claude.
  • Conversations. We do not log the conversation content you send to MCP clients — only the tool calls those clients make against PackRat.
  • Audience-bound tokens. Per RFC 8707, every issued access token is bound to https://mcp.packratai.com/mcp so a stolen token can't be replayed against another service.

Read the full MCP section of the privacy policy, the terms of service, or email [email protected] for support.

Reviewer test account

Anthropic reviewers: test-account credentials are provided separately via the submission form. The packet doc (docs/mcp/submission-packet.md in the PackRat repo) lists what's populated in the account: a few packs with realistic items, a sample multi-day trip, and a public feed post. First-run instructions are in the same doc.

We do not publish credentials on this page.

Developer docs: packages/mcp/README.md.

Implementation plan: docs/plans/2026-05-22-001-feat-mcp-connector-store-readiness-plan.md.

Operator runbook: docs/mcp/runbook.md.