133 lines
4.0 KiB
Markdown
133 lines
4.0 KiB
Markdown
|
|
# 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.*
|