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_compare_gear_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 103 tools grouped into 16 domains: 43 read-only, 30 write, 30 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 / packrat_semantic_gear_search.

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

Account (3)

  • packrat_get_profilemcp:readread-onlyidempotent

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

  • packrat_update_profilemcp:writeidempotent

    Update My ProfileUpdate the authenticated user's profile fields.

  • packrat_whoamimcp:readread-onlyidempotent

    Who Am IReturn the currently authenticated PackRat user profile.

Packs (18)

  • packrat_add_pack_itemmcp:write

    Add Pack ItemAdd 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 PackSoft-delete a pack as admin (bypasses ownership). Prompts the user to type DELETE before proceeding.

  • packrat_admin_list_packsmcp:adminread-onlyidempotent

    Admin: List PacksSearch/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 GapsIdentify missing essential gear categories for a specific trip context. Compares the pack's current categories against recommended essentials and returns what's missing.

  • packrat_analyze_pack_weightmcp:readread-onlyidempotent

    Analyze Pack WeightReturn 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 PackCreate a new packing list for the user. Returns the newly created pack with its ID.

  • packrat_delete_packmcp:writedestructiveidempotent

    Delete PackSoft-delete a pack. The pack will no longer appear in listings.

  • packrat_get_packmcp:readread-onlyidempotent

    Get PackGet 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 ItemGet full details of a single pack item.

  • packrat_get_pack_weight_historymcp:readread-onlyidempotent

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

  • packrat_list_pack_itemsmcp:readread-onlyidempotent

    List Pack ItemsList all items in a pack.

  • packrat_list_packsmcp:readread-onlyidempotent

    List My PacksList 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 WeightRecord a weight measurement for a pack at a specific point in time.

  • packrat_remove_pack_itemmcp:writedestructiveidempotent

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

  • packrat_similar_pack_itemsmcp:readread-onlyidempotent

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

  • packrat_suggest_pack_itemsmcp:readread-onlyidempotent

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

  • packrat_update_packmcp:writeidempotent

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

  • packrat_update_pack_itemmcp:writeidempotent

    Update Pack ItemUpdate fields on an existing pack item.

Pack Templates (11)

  • packrat_add_pack_template_itemmcp:write

    Add Pack Template ItemAdd an item to a pack template.

  • packrat_create_app_pack_templatemcp:admin

    Create App Pack Template (Admin)Create a curated app-level pack template visible to all users. Admin-only — requires the mcp:admin OAuth scope. Prompts for confirmation before creating (visible to every PackRat user). For personal templates use packrat_create_pack_template.

  • packrat_create_pack_templatemcp:write

    Create Pack TemplateCreate 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 TemplateDelete a pack template.

  • packrat_delete_pack_template_itemmcp:writedestructiveidempotent

    Delete Pack Template ItemDelete a pack template item.

  • packrat_generate_pack_template_from_urlmcp:adminopen-world

    Generate Pack Template From URL (Admin)Generate a pack template from a TikTok or YouTube link. Admin-only — requires the mcp:admin OAuth scope; the server also gates this on the authenticated user having role ADMIN. Prompts for confirmation before fetching and processing the URL content.

  • packrat_get_pack_templatemcp:readread-onlyidempotent

    Get Pack TemplateGet a pack template with its items.

  • packrat_list_pack_template_itemsmcp:readread-onlyidempotent

    List Pack Template ItemsList items inside a pack template.

  • packrat_list_pack_templatesmcp:readread-onlyidempotent

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

  • packrat_update_pack_templatemcp:writeidempotent

    Update Pack TemplateUpdate a pack template.

  • packrat_update_pack_template_itemmcp:writeidempotent

    Update Pack Template ItemUpdate a pack template item.

Trips (5)

  • packrat_create_tripmcp:write

    Create TripCreate 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 TripDelete a trip. The trip will no longer appear in listings.

  • packrat_get_tripmcp:readread-onlyidempotent

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

  • packrat_list_tripsmcp:readread-onlyidempotent

    List My TripsList 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 TripUpdate an existing trip's details, dates, location, or linked pack.

Trails (7)

  • packrat_admin_get_trailmcp:adminread-onlyidempotent

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

  • packrat_admin_get_trail_geometrymcp:adminread-onlyidempotent

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

  • packrat_admin_search_trailsmcp:adminread-onlyidempotent

    Admin: Search TrailsSearch 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 TrailGet 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 GeometryGet full GeoJSON geometry for a trail. May be slow for large routes with many segments.

  • packrat_preview_alltrails_urlmcp:readread-onlyopen-world

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

  • packrat_search_trailsmcp:readread-onlyidempotent

    Search TrailsSearch 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 ReportSoft-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 ReportsList 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 ReportSoft-delete one of your trail condition reports.

  • packrat_get_trail_conditionsmcp:readread-onlyidempotent

    Get Trail Condition ReportsGet 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 ReportsList trail condition reports authored by the signed-in user.

  • packrat_submit_trail_conditionmcp:write

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

  • packrat_update_trail_conditionmcp:writeidempotent

    Update Trail Condition ReportUpdate one of your own trail condition reports.

Weather (4)

  • packrat_get_weathermcp:readread-onlyidempotentopen-world

    Get Weather ForecastGet 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 IDFetch 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 CoordinatesFind weather locations near a latitude/longitude pair.

  • packrat_search_weather_locationmcp:readread-onlyidempotentopen-world

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

Gear & Catalog (11)

  • packrat_admin_delete_catalog_itemmcp:admindestructiveidempotent

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

  • packrat_admin_list_catalogmcp:adminread-onlyidempotent

    Admin: List Catalog ItemsSearch/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 ItemUpdate a catalog item (name, brand, price, weight, etc.) as admin.

  • packrat_analyze_pack_imagemcp:writeread-onlyopen-world

    Analyze Pack ImageSubmit a gear image (R2 key from packrat_upload_image_url) for item detection. Returns detected items with catalog matches.

  • packrat_compare_gear_itemsmcp:readread-onlyidempotent

    Compare Gear ItemsCompare multiple gear items side-by-side on weight, price, and rating. Provide 2–10 catalog item IDs.

  • packrat_create_catalog_itemmcp:write

    Create Catalog ItemSubmit a new gear item to the catalog. The API will embed and dedupe automatically. Use this for custom items not yet in the catalog.

  • packrat_get_catalog_itemmcp:readread-onlyidempotent

    Get Catalog ItemRetrieve 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 CategoriesList 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 CatalogSearch the PackRat gear catalog of outdoor products with specs, weights, prices, and user reviews. Use this to find specific gear, compare products, or browse categories. Paginated via `page` (1-indexed); page size is capped at 50 server-side.

  • packrat_semantic_gear_searchmcp:readread-onlyidempotent

    Semantic Gear SearchSearch the gear catalog using vector/semantic search. Good for natural-language queries like "warm but lightweight insulation layer for cold shoulder-season camping" or "minimalist trail running shoe for rocky terrain".

  • packrat_similar_catalog_itemsmcp:readread-onlyidempotent

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

Knowledge & Search (2)

  • packrat_extract_url_contentmcp:readread-onlyopen-world

    Extract URL ContentExtract 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 SearchSearch 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 (9)

  • packrat_create_feed_commentmcp:write

    Create Feed CommentAdd a comment to a feed post (or reply to a parent comment).

  • packrat_create_feed_postmcp:write

    Create Feed PostCreate a feed post with a caption and optional image keys.

  • packrat_delete_feed_commentmcp:writedestructiveidempotent

    Delete Feed CommentDelete one of your own feed comments.

  • packrat_delete_feed_postmcp:writedestructiveidempotent

    Delete Feed PostDelete one of your own feed posts.

  • packrat_get_feed_postmcp:readread-onlyidempotent

    Get Feed PostGet a specific feed post by ID.

  • packrat_list_feedmcp:readread-onlyidempotent

    List Feed PostsList social feed posts (paginated).

  • packrat_list_feed_commentsmcp:readread-onlyidempotent

    List Feed CommentsList comments on a feed post.

  • packrat_toggle_feed_comment_likemcp:write

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

  • packrat_toggle_feed_post_likemcp:write

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

Guides (5)

  • packrat_get_guidemcp:readread-onlyidempotent

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

  • packrat_list_guide_categoriesmcp:readread-onlyidempotent

    List Guide CategoriesList all guide categories.

  • packrat_list_guidesmcp:readread-onlyidempotent

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

  • packrat_search_guidesmcp:readread-onlyidempotent

    Search Outdoor GuidesFull-text search across PackRat outdoor guides.

  • packrat_search_outdoor_guidesmcp:readread-onlyidempotent

    Search Outdoor Knowledge BaseSearch 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 SuggestionsGenerate 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 ImageIdentify the plant or animal species in an uploaded image (provide the R2 image key from packrat_upload_image_url).

Uploads (1)

  • packrat_upload_image_urlmcp:write

    Create Image Upload URLGenerate a presigned R2 URL the caller can PUT an image to (jpeg/png/webp, ≤10MB). Returns { uploadUrl, key } — use `key` in downstream tools (packrat_analyze_pack_image, packrat_identify_wildlife, etc.).

Admin & Analytics (16)

  • packrat_admin_analytics_active_usersmcp:adminread-onlyidempotent

    Admin: Active UsersDaily/weekly/monthly active user counts.

  • packrat_admin_analytics_activitymcp:adminread-onlyidempotent

    Admin: Analytics ActivityPlatform activity metrics over a time period.

  • packrat_admin_analytics_catalog_embeddingsmcp:adminread-onlyidempotent

    Admin: Catalog Embedding StatsCatalog embedding coverage stats.

  • packrat_admin_analytics_catalog_overviewmcp:adminread-onlyidempotent

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

  • packrat_admin_analytics_catalog_pricesmcp:adminread-onlyidempotent

    Admin: Catalog PricesPrice distribution across the catalog.

  • packrat_admin_analytics_etl_failure_summarymcp:adminread-onlyidempotent

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

  • packrat_admin_analytics_etl_job_failuresmcp:adminread-onlyidempotent

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

  • packrat_admin_analytics_etl_jobsmcp:adminread-onlyidempotent

    Admin: ETL JobsRecent ETL pipeline jobs. Page size is capped at 50 server-side.

  • packrat_admin_analytics_growthmcp:adminread-onlyidempotent

    Admin: Analytics GrowthPlatform user/pack growth metrics.

  • packrat_admin_analytics_pack_breakdownmcp:adminread-onlyidempotent

    Admin: Pack BreakdownDistribution of packs by category.

  • packrat_admin_analytics_top_brandsmcp:adminread-onlyidempotent

    Admin: Top BrandsTop 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 JobsMark stuck-running ETL jobs as failed (admin maintenance).

  • packrat_admin_etl_retry_jobmcp:adminidempotent

    Admin: ETL Retry JobRetry a specific failed ETL job.

  • packrat_admin_hard_delete_usermcp:admindestructiveidempotent

    Admin: Hard-Delete UserGDPR-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 UsersSearch/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 StatsGet high-level platform stats: user, pack, and catalog counts.

Database (Admin) (2)

  • packrat_execute_sql_querymcp:adminread-onlyidempotent

    Execute Read-Only SQL QueryExecute a read-only SQL SELECT query against the PackRat database for advanced analytics. Only SELECT statements are allowed. Admin-only.

  • packrat_get_database_schemamcp:adminread-onlyidempotent

    Get Database SchemaGet the PackRat DB schema — table names, columns, types. Admin-only.

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.