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)
| Category | Tools | What they do |
|---|---|---|
| Project Identity | get_project_info, find_similar_machines, get_project_lineage, list_machine_types | Project metadata, machine type matching, lineage |
| BOM & Supply Chain | get_bom, get_part_details, get_part_manufacturer, get_part_vendors, search_parts | Parts, manufacturers, vendors, open POs |
| PLC & Controls | get_plc_analysis, analyze_acd, lookup_fault, get_io_map, lookup_plc_tag, lookup_pc_read_write, get_robot_interface | PLC programs, faults, I/O mapping, robot signals |
| Engineering Files | list_project_files, check_commissioning_readiness, find_drawing, get_electrical_drawing_index, read_drawing_pdf, read_bom_file, get_drawing_metadata | K: drive files, X: drive drawings, PDF reading, BOM files |
| Change Tracking | get_rfcs, get_vendor_history, get_work_orders | Redbook RFCs, AP history, work orders |
| Diagnostics | diagnose_fault, compare_projects, assess_obsolescence_risk | Fault tracing, project comparison, lifecycle risk |
| Digital Thread | get_digital_thread | Full project report (BOM + WOs + RFCs + schedule) |
| ACD Discovery | find_acd_files | Find PLC program files across 467 projects |
| Inventory | get_inventory_status, get_inventory_transactions, get_inventory_history, analyze_inventory_discrepancy | On-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:
| Method | What It Does | Setup Required |
|---|---|---|
| CLAUDE.md | Wiki access instructions always loaded in context | Add snippet to your project |
| Structured Data | JSON exports for programmatic lookups | None (in wiki repo) |
| MCP Servers | Model Context Protocol for tool-based access | Manual config |
| llms.txt | Structured index for navigation | None (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-skillsrepo in the main git org
Option 1: Global CLAUDE.md (Recommended)
Add PSI context to your global ~/.claude/CLAUDE.md so Claude has wiki access, terminology, and update instructions in every project automatically.
Setup Steps
- Create (or open)
~/.claude/CLAUDE.md- Windows:
%USERPROFILE%\.claude\CLAUDE.md - Mac/Linux:
~/.claude/CLAUDE.md
- Windows:
- Copy the template below into the file
- 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.mdin 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"| Tool | Capability |
|---|---|
read_note | Read any wiki page |
search_notes | Full-text search |
list_notes | Browse structure |
create_note | Add new pages |
update_note | Edit existing pages |
get_tags | Find 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:
- Look up terms it doesn’t recognize
- Find data schemas when working with data
- Reference processes for business logic
- Check methodology for calculations
Key Entry Points
| File | Purpose |
|---|---|
CLAUDE_CONTEXT.md | AI briefing with essential context and reading order |
llms.txt | Structured index of all wiki content |
company/terminology.md | The vocabulary backbone |
Best Practices
For Wiki Authors
- Use clear headings — AI parses document structure
- Define terms — Don’t assume knowledge
- Include examples — Concrete beats abstract
- Cross-link — Help AI find related content
- Update llms.txt — Keep the index current
For AI Users
- Be specific — “Look up the PSI term ‘ECN’” works better than “What’s ECN?”
- Reference wiki — “According to the wiki…” prompts a lookup
- 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.
Related Pages
- 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