Skip to main content

MCP Server — Redlist Practical Guide

Connect Claude to your Redlist account to query assets, routes, compliance, forms, and products in plain English; audit data gaps; run health checks; and bulk-import assets without a spreadsheet.

Written by Trevor Shaffer

What This Guide Is

The Redlist MCP lets you talk to your Redlist data in plain English through Claude. Instead of clicking through screens to spot missing images, overdue work orders, or routes without forms, you ask a question — Claude pulls the data and answers.

This guide has two parts:

  • Part 1 — For internal teams. Built for CSMs and account managers helping customers audit and build out their data. Includes every tool, ready-to-paste prompts, and a guided demo flow.

  • Part 2 — For Redlist customers. A plain-English explanation of what the MCP can do for them, how to get connected, and the questions they can ask on day one.

In a nutshell: The MCP is a bridge between Claude and your Redlist account. Claude can read your data (assets, routes, forms, compliance) and — with an admin's permission — help bulk-import new data.


PART 1 — For Internal Teams

Use this section when sitting with a customer (or prepping for a call) to demo what the MCP can surface, or run an audit against their environment to find gaps worth fixing.

Getting Connected

Two clients are supported: Claude Desktop (point-and-click, best for demos and customer-facing sessions) and Claude Code (CLI, best for power users and scripting).

Claude Desktop

  1. Open your Claude Desktop config file:
    - %APPDATA%\Claude\claude_desktop_config.json (Windows)
    - ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

  2. Add the Redlist MCP server under mcpServers:

    { "mcpServers": { "redlist": { "url": "https://mcp.yourredlist.com/mcp" } } }
  3. Restart Claude Desktop.

  4. On the first tool call, a browser window opens for the Redlist login. Sign in, complete MFA if prompted, and click Allow on consent.

  5. Consent is remembered for a year — subsequent sessions skip straight to the data.

Claude Code

  1. Add the MCP server through Claude Code's settings UI (or edit ~/.claude.json) with the URL pointing at /mcp on the MCP server.

  2. Run claude in your terminal.

  3. Pick Authenticate on the Redlist server card. A browser opens for OAuth.

  4. After "All set" appears, return to the terminal and select Reconnect.

  5. Run ping as a smoke test — Claude should return your user ID.

If something breaks:

  • "Connects then immediately 401s" — almost always an OAuth Issuer mismatch. The Issuer in App Configuration must exactly match the URL the client uses (no trailing slash, no /mcp suffix).

  • Self-signed dev cert with the Inspector — set NODE_TLS_REJECT_UNAUTHORIZED=0 in the same shell before running npx.

  • Stale OAuth state after restarting the MCP server — click "Clear OAuth State" in the Inspector before reconnecting.

How a Session Flows

Every session follows the same shape:

  1. Authenticate — happens automatically on first tool use.

  2. Pick your shards — call set_active_shards once near the start. Every downstream tool defaults to this scope, so you don't have to repeat shard IDs.

  3. Ask questions — Claude picks the right tool, runs it across your active shards, and brings the data back.

  4. For writes, stage then apply — imports stage in Redis first. Nothing hits the database until you say apply with confirm: true.

Pro tip for demos: For drift/comparison stories, pick two shards belonging to the same customer (different sites) or two tenants on the same template pack. The "one-page tenant health report" prompt (section 9 below) is the strongest single demo — it pulls from audit, overdue, submissions, and compliance tools in one reasoning pass.

Tool Inventory

Session setup

Tool

What it does

ping

Smoke test. Returns the user ID from the JWT so you can confirm auth is wired up.

list_accessible_shards

Shards the signed-in Redlist user has access to.

set_active_shards

Commit a session scope — which shards data tools should run against.

get_active_shards

Read the current active shard set.

Form templates

Tool

What it does

list_form_templates

Summary list of form templates per shard — id, name, title, description, version, timestamps.

get_form_template

Full content of one template (FormSections / FormSettings / DynamicFormSections JSON) fetched from every requested shard.

Products

Tool

What it does

list_products

Lightweight product summary per shard — id, name, number, description, pricing, stock levels, flags.

get_product

Full product record from each requested shard — inventory, pricing, vendor, categorization, location.

Routes

Tool

What it does

list_routes

Routes with recurrence summary plus counts of component tasks, total/open/completed/cancelled work orders.

get_route_details

Full route picture: recurrence, component tasks, open work orders, recent completed, recent cancelled.

Compliance

Tool

What it does

get_route_compliance

For a route in a window: bucketed counts (completedOnTime, completedLate, open, overdue, cancelled) plus sampled work orders per bucket.

list_overdue_work_orders

Open work orders with NextDue before the as-of date. Optional route/asset filter. Each sample includes daysOverdue.

Audits

Tool

What it does

audit_missing_images

Components and assets with no image attached.

audit_missing_form_templates

Component tasks with no FormTemplateID, plus routes whose component tasks are entirely without form templates.

audit_missing_component_tasks

Components that have no active component tasks.

audit_asset_configuration

Rollup audit: assets with no active components, assets with no responsible employee, components with no active tasks.

list_route_forms

Distinct form templates attached to a route via its component tasks — plus component tasks on the route with no form attached.

Asset hierarchy

Tool

What it does

list_asset_groups

Hierarchical AssetGroups with child-group and asset counts. Omit parentId for top level; pass parentId to drill down.

get_asset_hierarchy

Full snapshot of a single asset: the asset record, all AssetGroups, AssetSections, Components with ComponentTasks inline, and Custom.FieldValues.

list_custom_fields

Catalog of Custom.CustomFields definitions per shard — name, dataType, scanType, value count.

Form submissions

Tool

What it does

list_form_submissions

Counts (total, submitted, failed, uniqueSubmitters) plus sampled submissions per shard in a date range. Optional template filter.

form_submission_activity_by_day

Per-shard daily time series of submission counts and unique submitters.

Lookups

Tool

What it does

list_lookups

Returns id + label rows for a named lookup table (AssetType, AssetMake, AssetModel, AssetClass, AssetStatus, Location, Region, UnitOfMeasure, FieldRank, TaskType, MaintenanceMethodType, ApplicationType). Call before staging so the AI uses real ids instead of guessing.

Import (write) — admin only

Requires SystemAdmin, Administrator, ClientManager, or BrandAdmin role on the target shard. Imports follow a stage-then-apply pattern — nothing writes until you call import_session_apply with confirm: true.

Tool

What it does

import_session_start

Start a single-shard, 60-minute import session. Returns importSessionId.

import_session_get

Snapshot of a session — staged items with tempIds, kinds, and (after apply) realIds or errors.

import_session_preview

Ordered apply plan plus validation warnings. Does not write. Call this before apply.

import_session_apply

Applies staged items via Redlist.WebApi. Requires confirm: true. Partial failures are NOT rolled back.

import_session_discard

Delete the session and its staged plan without writing anything.

stage_asset

Stage a new Asset. tempId is caller-chosen; other staged items can reference this asset by tempId.

stage_asset_group

Stage a new AssetGroup. Parent can be an existing id or a tempId from earlier in the session.

stage_asset_group_asset

Stage the junction row placing an Asset into an AssetGroup.

stage_asset_section

Stage a subdivision of an asset.

stage_component

Stage a new Component on an Asset (and optionally an AssetSection).

stage_component_task

Stage a maintenance ComponentTask attached to a Component. Optionally attach a FormTemplate.

stage_component_task_product

Stage a Product attachment to a ComponentTask — the consumable used and how much per application point.

stage_lookup

Stage a new row in a simple lookup table when an FK value doesn't yet exist in the shard.

stage_asset_model

Stage a new AssetModel under an AssetMake.

stage_product

Stage a new Product (part / SKU / consumable).

Demo Prompts

1. Session setup (warm-up)

Ping the Redlist MCP server and tell me who I am authenticated as.

Show me which Redlist shards I can access, then pick two of them as my active set for this session.

2. Form templates across tenants

List all active form templates named something like "inspection" across my active shards and tell me how many each tenant has.

Take the first form template from shard A, find one with a similar name in shard B, get the full content of both, and tell me what is different between them.

3. Products

Find any oil-related products in my active shards and show me the difference in how each tenant prices them.

Pick a product id from shard A. Does that exact SKU exist in any other active shard? If so, compare the stock levels and bin locations.

4. Routes and drift

Which routes show up across multiple shards with similar names? List the top matches by name overlap.

For route {routeId}, give me the full details: recurrence, component tasks, open work orders, and recent history. Tell me if any of the recent work orders have tasks that are not in the template (ad-hoc work) or are missing template tasks (skipped work).

Compare the component-task list of route {routeId} across every shard it exists in. Where do they diverge?

5. Compliance and overdue

For route {routeId}, give me compliance for the last 90 days across my active shards. Tell me the on-time completion rate and highlight which shard is worst.

Show me all overdue work orders across my active shards, sorted by how many days late they are. Group the summary by shard and include anything more than 30 days overdue.

6. Audits

Audit my active shards for components and assets that do not have images attached. Give me a count per shard and call out anything with more than 100 missing.

Find component tasks and whole routes that do not have form templates assigned. For any route that is totally missing forms, try list_route_forms to confirm it is empty.

Run the asset configuration audit across my active shards. Summarize the three gap types and tell me which shard has the biggest configuration debt overall.

7. Forms a route uses

For route {routeId}, what forms would a technician actually fill out when running it? Include how many tasks on the route reference each form.

8a. Asset hierarchy

Across my active shards, list the top-level asset groups and show me how many assets and child groups each one contains.

I know an asset id in shard A. Fetch its full hierarchy: which groups it belongs to, its sections, components, and the component tasks on each component. Summarize what kind of equipment this is and what maintenance is configured for it.

List the custom fields defined in my active shards. Which ones are system-defined vs custom, and how many values exist for each? Flag any that are defined but have zero values — those are probably unused.

8b. Form submissions

Across my active shards, how many form submissions happened in the last 30 days? Break down by shard with total, submitted, failed, and unique submitters.

Show me the daily submission trend for form template {formTemplateId} in the last 60 days. Note any days with unusually high or low activity.

8c. Imports (writing data)

Start an import session targeting shard X with the label "demo asset import". Then stage three assets with unitIds ASSET-A, ASSET-B, ASSET-C (tempIds t1/t2/t3). Call preview to show me the plan before I approve.

Looks good. Apply the session with confirm: true and tell me which assets were created with which AssetIDs.

I realized I do not want to go through with the import. Discard the session.

Before staging, call list_lookups for AssetType and Location to get the ids I should use. Then stage an asset with a matching AssetTypeID and LocationID.

Build a full asset import in one session: stage AssetGroup g1 "Plant 3", Asset a1 "Pump-101" with TypeID/LocationID from list_lookups, AssetGroupAsset linking them, AssetSection s1 "Hydraulics" on a1, Component c1 on a1 in s1, ComponentTask ct1 (frequencyDays=30, taskDurationMinutes=15) on c1, and ComponentTaskProduct ctp1 attaching a product with volumePerPoint=2 pointsPerApplication=1. Preview, then apply.

9. Cross-tool reasoning (the strongest demo)

I want to understand PM compliance risk across my tenants. Pull overdue work orders, then for the route of each overdue WO, get its compliance numbers for the last 90 days. Tell me which routes are chronically late versus just late right now.

Do a health check on shard A: run all the audit tools, get the form submission count for the last 30 days, count overdue work orders, and give me a one-page tenant health report with actionable gaps.

Limits to know about:

  • Import sessions cap at 500 staged items. Larger imports need to chunk into multiple sessions.

  • Read tools sample up to 100 rows per shard (500 max, 1000 for lookups). Counts are reported separately so you can tell when a sample is truncated.

  • Active shard set persists for ~30 days. Set it once, forget it.

  • Partial failures on import are NOT rolled back. Each item reports its own success/error independently.


PART 2 — For Redlist Customers

This section is for the people who actually use Redlist day to day — managers, planners, supervisors, and admins. If you've ever wished you could just ask your Redlist account a question instead of clicking around for it, this is for you.

What Is the Redlist MCP?

The MCP ("Model Context Protocol") is a connection between Claude — Anthropic's AI assistant — and your Redlist account. Once connected, you can ask Claude questions about your data and it will pull the answer directly from Redlist.

Think of it as an extra teammate who can read everything in your Redlist account in seconds and summarize what they found. It does not replace Redlist — it works on top of it.

What It Can Do

  • Answer questions about your assets, routes, components, products, and forms

  • Audit your data — find assets without components, components without tasks, tasks without forms, missing images, and so on

  • Compare data across multiple sites to spot drift between locations using the same template

  • Track compliance — on-time vs. late completions, overdue work orders, who's submitting forms

  • Help admins bulk-import new data (assets, asset groups, components, tasks, products) with a preview-before-commit workflow

What It Can't Do (Today)

  • Edit or delete existing data — the MCP is read-only except for new imports

  • Upload files or images directly — that still happens in the Redlist app

  • Work without permission — imports require an admin role on the target site

Getting Connected

You'll need Claude Desktop installed and your Redlist credentials. The first connection takes about two minutes.

  1. Install Claude Desktop from the Anthropic website if you don't have it already.

  2. Your Redlist contact will share the MCP server URL. Add it to your Claude Desktop config — your contact will walk you through where the file lives.

  3. Restart Claude Desktop. The first time you ask it something about Redlist, a browser tab opens asking you to log in.

  4. Sign in with your normal Redlist credentials. If your account uses multi-factor authentication, you'll get the usual TOTP prompt.

  5. Click Allow on the consent screen. This is asking your permission to let Claude read your Redlist data.

  6. That's it. You won't see the consent screen again for a year. Your Redlist permissions still apply — Claude can only see what you can see.

On security and permissions:

  • Claude uses your Redlist account, not a shared service account. Everything it can see is what you can see — same roles, same site access.

  • All write actions (imports) require an admin role on the target site. Non-admins simply can't trigger them.

  • Nothing writes to Redlist without a clear confirmation step. Imports stage first, you preview, then you explicitly approve.

  • Your Redlist password is never re-transmitted after the initial login.

Step 1: Pick Your Scope

If you have access to multiple Redlist sites, start by telling Claude which ones you want to work with. This stays set for the rest of the conversation.

Show me which Redlist sites I can access, then pick the ones for Plant A and Plant B as my active set for this session.

Questions to Ask

"What's in my account?"

Across my active sites, list the top-level asset groups and tell me how many assets and child groups each one contains.

List all active form templates in my account. Group them by site and show me how many each one has.

How many products are in my account, and what's the total inventory value if I add up stock × price?

"Where are the gaps?"

Audit my account for components and assets that don't have images attached. Give me a count per site and call out anything with more than 100 missing.

Find component tasks and entire routes that don't have form templates assigned. For any route that is totally missing forms, double-check it's actually empty.

Run the asset configuration audit. Tell me which assets don't have components yet, which components don't have tasks, and which assets don't have a responsible employee assigned.

List custom fields that are defined but have zero values across my sites — those are probably unused and worth removing.

"How are we doing on compliance?"

Show me all overdue work orders sorted by how many days late they are. Group by site and highlight anything more than 30 days overdue.

For my main inspection route, give me the compliance numbers for the last 90 days. What's the on-time completion rate?

Which routes are chronically behind? Pull overdue work orders and tell me which routes show up repeatedly versus the ones that are just one-off late.

"Are my sites set up consistently?"

Which routes show up across multiple sites with similar names? List the top matches by name overlap.

Compare the component-task list of my Daily PM route across every site it exists in. Where do they diverge?

Take an inspection form template from Site A, find the matching one in Site B, and tell me what's different between them.

"What's my form activity look like?"

How many form submissions happened in the last 30 days? Break down by site with total, submitted, failed, and how many unique submitters.

Show me the daily submission trend for the daily inspection form over the last 60 days. Note any days with unusually high or low activity.

"Give me a health check."

Do a health check on my main site: run all the audit tools, get the form submission count for the last 30 days, count overdue work orders, and give me a one-page health report with actionable gaps.

Bulk Imports (Admins Only)

If you have an admin role on a site, the MCP can help you build out new data quickly — without spreadsheet uploads or manual clicking.

Imports follow a stage → preview → apply pattern. You describe what you want, Claude stages it, you review the plan, and then you explicitly approve. Nothing writes until you say confirm.

Simple example: import three assets

Start an import session for my main site with the label "Q2 new assets". Stage three assets with unitIds PUMP-201, PUMP-202, PUMP-203. Use the AssetType and Location ids you already know exist in the site. Preview the plan before I approve.

Claude will show you a preview. If it looks right: Looks good. Apply the session with confirm: true and tell me what asset IDs were created.

Changed your mind? Just say so: I realized I don't want to go through with the import. Discard the session.

Important caveats for imports:

  • Sessions cap at 500 staged items. Bigger imports need to be chunked.

  • Sessions expire after 60 minutes. Plan accordingly.

  • Partial failures are NOT rolled back. If 9 of 10 items succeed and 1 fails, you keep the 9 — Claude will tell you which one failed so you can fix and retry.

  • Imports always run against one site at a time, not across multiple sites.

Tips for Getting the Best Results

  • Set your scope once. Call out which sites you want to work with at the start of the conversation. Everything else defaults to that scope.

  • Be specific about the time window. "The last 30 days" beats "recently."

  • Ask for grouping. "Group by site" or "sorted by days overdue" turns a raw count into something you can act on.

  • Stack questions. Claude is good at chaining tools. "Find overdue work orders, then for each route show me the compliance for the last 90 days" works in one prompt.

  • Use it as a sanity check. Before a big template rollout or audit, ask Claude to compare two sites and tell you what's different.

Frequently Asked Questions

Can Claude see my password?
No. You log in through Redlist's normal login screen in your browser. The MCP never sees or stores your password — only short-lived tokens that prove you've authenticated.

What happens if I'm not an admin?
You can use every read and audit tool. Import tools require an admin role on the target site. Non-admins get a clean error message instead of being able to trigger an import.

Will Claude accidentally delete or change my data?
No. The MCP cannot delete or edit existing records — it's read-only except for new imports. Imports themselves require an explicit confirmation step, so accidental writes aren't possible.

How long do I stay logged in?
Your session lasts about 30 days of activity. If you use it weekly, you'll basically never have to log in again. After 30 days of inactivity you'll be prompted to re-authenticate.

Does it work on mobile?
Today, the MCP works with desktop Claude clients (Claude Desktop on Mac/Windows, Claude Code in a terminal). Mobile Claude support is on the roadmap but not available yet.

Can my team share one connection?
Each person connects with their own Redlist credentials. This is by design — it means audit logs in Redlist always show who did what, and each person only sees the sites their account has access to.

Who do I contact if something breaks?
Reach out to your Redlist account team or CSM. The most common issue is a login problem on the first connection — they can usually resolve it in a couple of minutes.

Did this answer your question?