# NXOpen Documentation MCP Server - Setup TODO

**Created:** 2025-12-29
**Status:** PENDING - Waiting for manual configuration

---

## Current State

The NXOpen documentation MCP server exists on **dalidou** (192.168.86.50) but is not accessible from this Windows machine due to hostname resolution issues.

### What's Working
- ✅ Dalidou server is online and reachable at `192.168.86.50`
- ✅ Port 5000 (Documentation Proxy) is responding
- ✅ Port 3000 (Gitea) is responding
- ✅ MCP server code exists at `/srv/claude-assistant/` on dalidou

### What's NOT Working
- ❌ `dalidou.local` hostname doesn't resolve (mDNS not configured on this machine)
- ❌ MCP tools not integrated with Claude Code

---

## Steps to Complete

### Step 1: Fix Hostname Resolution (Manual - requires Admin)

**Option A: Run the script as Administrator**
```powershell
# Open PowerShell as Administrator, then:
C:\Users\antoi\Atomizer\add_dalidou_host.ps1
```

**Option B: Manually edit hosts file**
1. Open Notepad as Administrator
2. Open `C:\Windows\System32\drivers\etc\hosts`
3. Add this line at the end:
   ```
   192.168.86.50  dalidou.local dalidou
   ```
4. Save the file

**Verify:**
```powershell
ping dalidou.local
```

### Step 2: Verify MCP Server is Running on Dalidou

SSH into dalidou and check:
```bash
ssh root@dalidou

# Check documentation proxy
systemctl status siemensdocumentationproxyserver

# Check MCP server (if it's a service)
# Or check what's running on port 5000
ss -tlnp | grep 5000
```

### Step 3: Configure Claude Code MCP Integration

The MCP server on dalidou uses **stdio-based MCP protocol**, not HTTP. To connect from Claude Code, you'll need one of:

**Option A: SSH-based MCP (if supported)**
Configure in `.claude/settings.json` or MCP config to connect via SSH tunnel.

**Option B: Local Proxy**
Run a local MCP proxy that connects to dalidou's MCP server.

**Option C: HTTP Wrapper**
The current port 5000 service may already expose HTTP endpoints - need to verify once hostname is fixed.

---

## Server Documentation Reference

Full documentation is in the SERVtomaste repo:
- **URL:** http://192.168.86.50:3000/Antoine/SERVtomaste
- **File:** `docs/SIEMENS-DOCS-SERVER.md`

### Key Server Paths (on dalidou)
```
/srv/siemens-docs/proxy/          # Documentation Proxy (port 5000)
/srv/claude-assistant/            # MCP Server
/srv/claude-assistant/mcp-server/ # MCP server code
/srv/claude-assistant/tools/      # Tool implementations
  ├── siemens-auth.js            # Puppeteer authentication
  ├── siemens-docs.js            # Documentation fetching
  └── ...
/srv/claude-assistant/vault/      # Credentials (secured)
```

### Available MCP Tools (once connected)
| Tool | Description |
|------|-------------|
| `siemens_docs_search` | Search NX Open, Simcenter docs |
| `siemens_docs_fetch` | Fetch specific documentation page |
| `siemens_auth_status` | Check if auth session is active |
| `siemens_login` | Re-login if session expired |
| `siemens_docs_list` | List documentation categories |

---

## Files Created During Investigation

- `C:\Users\antoi\Atomizer\add_dalidou_host.ps1` - Script to add hosts entry (run as Admin)
- `C:\Users\antoi\Atomizer\test_mcp.py` - Test script for probing MCP server (can be deleted)

---

## Related Documentation

- `.claude/skills/modules/nx-docs-lookup.md` - How to use MCP tools once configured
- `docs/08_ARCHIVE/historical/NXOPEN_DOCUMENTATION_INTEGRATION_STRATEGY.md` - Full strategy doc
- `docs/05_API_REFERENCE/NXOPEN_RESOURCES.md` - Alternative NXOpen resources

---

## Workaround Until Fixed

Without the MCP server, you can still look up NXOpen documentation by:

1. **Using web search** - I can search for NXOpen API documentation online
2. **Using local stub files** - Python stubs at `C:\Program Files\Siemens\NX2412\UGOPEN\pythonStubs\`
3. **Using existing extractors** - Check `optimization_engine/extractors/` for patterns
4. **Recording NX journals** - Record operations in NX to learn the API calls

---

*To continue setup, run the hosts file fix and let me know when ready.*
