Connect AI Agents

How to access PSI machine intelligence — from zero-setup web chat to full developer tool integration.


Ask the Fleet (Zero Setup)

The easiest way to query PSI machine data. No installation, no configuration — just open a web browser.

Go to explorer.progressivesurface.com and click the “Ask the Fleet” button (bottom-right corner), or press Ctrl+K.

Ask anything about PSI machines in plain English:

  • “What is project 2399?”
  • “Show me the BOM for job 2386”
  • “Diagnose the low air pressure fault on 2399”
  • “Check inventory for part 069995”
  • “What machines are similar to 2224?”

How it works: PSI Explorer’s Express.js backend connects to the PSI Machine Intelligence MCP Server (37 tools on PS-PROXY:3100), passes all tools to Azure OpenAI GPT 5.2, and streams the AI’s response back to your browser. The AI can call any combination of tools — project lookup, BOM queries, PLC analysis, fault diagnosis, inventory checks, drawing searches — and returns results with rich cards you can click to navigate.

Requirements: VPN or on the PSI network. That’s it.

For full details on the chat architecture, see PSI Explorer — Ask the Fleet.


Developer Tools: Machine Intelligence Server

For developers using Claude Code, Claude Desktop, or building custom agents — connect directly to the MCP server for full tool access in your development environment.

One-time setup — add to ~/.claude/.mcp.json (or any project’s .mcp.json):

{
  "mcpServers": {
    "psi-machine": {
      "url": "http://ps-proxy:3100/mcp"
    }
  }
}

That’s it. Restart Claude Code and you now have 37 tools for querying any PSI machine.

What you can ask

  • “What is project 2399? Who’s on the team?”
  • “Show me the BOM for job 2399 — any obsolete parts?”
  • “What does the low air pressure fault mean on machine 2399?”
  • “Find the electrical drawings for project 2399”
  • “What other machines are similar to 2399?”
  • “Who manufactures part 039496?”
  • “Show me the Redbook RFCs for project 2337”
  • “Analyze the PLC program for project 2386”
  • “What’s the inventory status for part 069995?”
  • “Why does part 048754 keep showing overage on cycle counts?”

Verify it works

In Claude Code, type /mcp to see connected servers, or just ask:

Use the psi-machine tools to tell me about project 2399

Claude Desktop

Add to your claude_desktop_config.json (Settings > Developer):

{
  "mcpServers": {
    "psi-machine": {
      "url": "http://ps-proxy:3100/mcp",
      "transport": "streamable-http"
    }
  }
}

Available tools (37)

CategoryToolsWhat they do
Project Identityget_project_info, find_similar_machines, get_project_lineage, list_machine_typesProject metadata, machine type matching, lineage
BOM & Supply Chainget_bom, get_part_details, get_part_manufacturer, get_part_vendors, search_partsParts, manufacturers, vendors, open POs
PLC & Controlsget_plc_analysis, analyze_acd, lookup_fault, get_io_map, lookup_plc_tag, lookup_pc_read_write, get_robot_interfacePLC programs, faults, I/O mapping, robot signals
Engineering Fileslist_project_files, check_commissioning_readiness, find_drawing, get_electrical_drawing_index, read_drawing_pdf, read_bom_file, get_drawing_metadataK: drive files, X: drive drawings, PDF reading, BOM files
Change Trackingget_rfcs, get_vendor_history, get_work_ordersRedbook RFCs, AP history, work orders
Diagnosticsdiagnose_fault, compare_projects, assess_obsolescence_riskFault tracing, project comparison, lifecycle risk
Digital Threadget_digital_threadFull project report (BOM + WOs + RFCs + schedule)
ACD Discoveryfind_acd_filesFind PLC program files across 467 projects
Inventoryget_inventory_status, get_inventory_transactions, get_inventory_history, analyze_inventory_discrepancyOn-hand/bin detail, INVHIST transactions, 24-month trends, root cause analysis

For full tool documentation, see MCP Server.

Network requirements

The server runs on PS-PROXY (port 3100). You must be on the PSI network (office or VPN) to connect.


Wiki Context

Beyond machine data, AI agents benefit from PSI business context — terminology, processes, schemas. The wiki provides this through several mechanisms:

MethodWhat It DoesSetup Required
CLAUDE.mdWiki access instructions always loaded in contextAdd snippet to your project
Structured DataJSON exports for programmatic lookupsNone (in wiki repo)
MCP ServersModel Context Protocol for tool-based accessManual config
llms.txtStructured index for navigationNone (built into wiki)

Non-Developer Access (AI Explorers)

Non-developer PSI employees in the AI Explorers group get PSI context via organization skills, not CLAUDE.md or MCP servers. This is the recommended path for Controls, Quality, Mechanical Engineering, and Proposal team members.

What You Get

  • 5 org skills loaded automatically into every Claude session — no setup required
  • Skills cover: PSI terminology, cowork best practices, quality workflows, controls & engineering context, and proposal writing
  • Managed centrally by admins and deployed to all org members via the Claude Enterprise admin console

What’s Different from Developer Setup

  • Org skills are a sanitized subset of developer context — no infrastructure details are exposed
  • The Machine Intelligence MCP server (psi-machine) remains developer-only until Wave 2 hardening is complete
  • A managed settings.json applies moderate guardrails org-wide (blocks destructive operations, transparent to users)

Getting Started

  • If you are in the AI Explorers group, org skills are already active — just open Claude and start working
  • For the non-dev onboarding guide, contact ADevereaux
  • For the full rollout design, see the design spec in the psi-claude-org-skills repo in the main git org

Add PSI context to your global ~/.claude/CLAUDE.md so Claude has wiki access, terminology, and update instructions in every project automatically.

Setup Steps

  1. Create (or open) ~/.claude/CLAUDE.md
    • Windows: %USERPROFILE%\.claude\CLAUDE.md
    • Mac/Linux: ~/.claude/CLAUDE.md
  2. Copy the template below into the file
  3. Update the wiki repo path to match your local clone location (two places marked with ← UPDATE THIS)

Tip: If you also want project-specific instructions, add a CLAUDE.md in that project’s root. Both files are loaded — global applies everywhere, project-level only in that repo.

Template

Copy everything between the lines into ~/.claude/CLAUDE.md:

# PSI Global Instructions
 
You are working on software for **Progressive Surface Inc. (PSI)**, a custom industrial machine manufacturer in Grand Rapids, MI.
 
## PSI Wiki — Keep Documentation Current
 
The PSI Knowledge Base wiki contains living documentation for all projects. **After making significant changes to any PSI project, update the corresponding wiki page.**
 
- **Wiki repo**: `C:\GIT\PSI-Wiki-Site`  ← UPDATE THIS to your local clone path
- **Wiki site**: https://wiki.progressivesurface.com
- **Content root**: `content/` in the wiki repo
- **Branch**: `v4`
 
### Application → Wiki Page Map
 
| Repository | Wiki Page |
|------------|-----------|
| PSI.UniData.API | `content/applications/unidata-api.md` |
| psi-explorer-web | `content/applications/psi-explorer.md` |
| redbook-web | `content/applications/redbook-web.md` |
| psi-portal | `content/applications/psi-portal.md` |
| PSI-Wiki-Site | `content/applications/wiki-site.md` |
 
### When to update the wiki
 
- Adding or changing features, endpoints, or UI
- Changing authentication, deployment, or architecture
- Bug fixes that change documented behavior
- New dependencies or technology changes
 
### How to update the wiki
 
1. Edit the page directly in the wiki repo
2. Update `content/llms.txt` if adding a new page or changing a description
3. **Commit and push:**
   ```bash
   cd "C:\GIT\PSI-Wiki-Site"  # ← UPDATE THIS to your local clone path
   git add content/<changed-files>
   git commit -m "Update <page>: <brief description>"
   git push origin v4
   ```
 
### GitHub API Fallback (No Local Clone)
 
Use these commands when working from a repo that doesn't have a local clone of the wiki.
 
**Read a page:**
```bash
gh api repos/ProgressiveSurface/PSI-Wiki-Site/contents/content/{path}?ref=v4 --jq '.content' | base64 -d
```
 
**List a directory:**
```bash
gh api repos/ProgressiveSurface/PSI-Wiki-Site/contents/content/{path}?ref=v4 --jq '.[].name'
```
 
**Search wiki content:**
```bash
gh api "search/code?q={query}+repo:ProgressiveSurface/PSI-Wiki-Site+path:content+extension:md" --jq '.items[] | {path, name}'
```
 
### Wiki structure (where things go)
 
| Section | Question it answers |
|---------|---------------------|
| `company/` | "What does PSI do? How does the business work?" |
| `applications/` | "What software do we have? How does app X work?" |
| `development/` | "How do we build and deploy software?" |
| `data/` | "What data do we have? What are the schemas?" |
| `reference/aftec/` | "What subroutines/APIs exist?" |
| `analytics/` | "What metrics do we track?" |
| `guides/` | "How do I do X?" |
 
## Key PSI Terminology
 
- **Redbook** = quality issue ticket (not a physical book)
- **AFTEC** = core ERP database (UniData)
- **BOM** = Bill of Materials (hierarchical parts list)
- **ECN** = Engineering Change Notice; **NCN** = Non-Conformance Notice
- **PHYS.** = Physical-level part (lowest reusable design unit)
- **GTCode** = Group Technology Code (FACILITY > ASSEMBLY > MODULE > PHYS.)
- Job numbers: 4-digit = new build, 5-digit (>=10000) = retrofit
 
For full glossary: `content/company/terminology.md` in the wiki repo.
 
## Technology Stack
 
- **Web frontend**: React 19 + TypeScript + Vite + TailwindCSS
- **API**: .NET 8 Minimal APIs + U2 Toolkit for .NET
- **Database**: UniData (AFTEC ERP on MRP-PROD)
- **Auth**: Azure AD / MSAL.js
- **Hosting**: Azure App Service or Static Web Apps
- **Desktop**: .NET Framework 4.8 / WPF (PSI.All monorepo)

What You Get

With this in your global CLAUDE.md, Claude will automatically in every project:

  • Know PSI terminology — won’t confuse “Redbook” or “AFTEC”
  • Update the wiki after significant code changes
  • Find the right wiki page for each app/repo
  • Read and search wiki content via local files or GitHub API
  • Follow PSI conventions for tech stack and architecture

Why CLAUDE.md Instead of a Skill

Skills are loaded on-demand when invoked. CLAUDE.md is loaded automatically every session. For wiki access — something Claude needs constantly for PSI context — always-on beats on-demand.

Per-Project Setup (Optional)

If a specific project needs additional Claude instructions beyond the global ones, add a CLAUDE.md in that project’s root. Common additions:

  • Project-specific conventions or patterns
  • Extra terminology unique to that project
  • Custom build/test commands

Option 2: obsidian-mcp-server

Full read/write/search access to the wiki via MCP.

claude mcp add obsidian-wiki -- npx -y @cyanheads/obsidian-mcp-server \
  --vault "/path/to/PSI-Wiki"
ToolCapability
read_noteRead any wiki page
search_notesFull-text search
list_notesBrowse structure
create_noteAdd new pages
update_noteEdit existing pages
get_tagsFind pages by tag

Option 3: mcpdoc (Read-Only)

Lightweight read-only access via the llms.txt standard:

claude mcp add psi-docs -- uvx mcpdoc \
  --local-paths "/path/to/PSI-Wiki/llms.txt"

Best for: simple setup where read-only is sufficient.


Verifying Setup

Check MCP Servers

/mcp

Test Access

Ask Claude Code:

Use the wiki to tell me what a Redbook is

If working, Claude will read from the wiki and give a PSI-specific answer.


How AI Agents Use the Wiki

When working in PSI projects, Claude Code can:

  1. Look up terms it doesn’t recognize
  2. Find data schemas when working with data
  3. Reference processes for business logic
  4. Check methodology for calculations

Key Entry Points

FilePurpose
CLAUDE_CONTEXT.mdAI briefing with essential context and reading order
llms.txtStructured index of all wiki content
company/terminology.mdThe vocabulary backbone

Best Practices

For Wiki Authors

  1. Use clear headings — AI parses document structure
  2. Define terms — Don’t assume knowledge
  3. Include examples — Concrete beats abstract
  4. Cross-link — Help AI find related content
  5. Update llms.txt — Keep the index current

For AI Users

  1. Be specific — “Look up the PSI term ‘ECN’” works better than “What’s ECN?”
  2. Reference wiki — “According to the wiki…” prompts a lookup
  3. Ask for sources — “What wiki page has this info?”

Troubleshooting

”Server not found"

claude mcp list
# Re-add if missing

"Cannot read file”

Check the vault/repo path is correct and the file exists.

”Permission denied”

Close Obsidian if it has the vault open exclusively. Check file permissions.


  • MCP Server - Full documentation for the Machine Intelligence server (architecture, tools, deployment)
  • dev-setup - Install Claude Code and PSI tools
  • getting-started - Wiki orientation
  • edit-wiki - Contributing content

Last updated: March 2026