FANUC 0i-F Plus Parameters MCP Server
README.md
# FANUC 0i-F Plus Parameters MCP Server
這是一個可直接執行的 Python MCP Server,包含目前對話中整理的 FANUC 參數:
`1660`、`1735`、`1769`、`1783`、`19539`。
> 資料完整性說明:目前工作區沒有原始 PDF 或先前產生的 JSON,因此專案只保留
> 對話中已明確整理的內容;資料型態、單位、範圍、頁碼等未確認欄位為 `null`。
> `19539` 明確保留為 `unresolved`,沒有推測或補寫定義。
## 需求
- Python 3.10 或更新版本
## 安裝
Windows PowerShell:
```powershell
cd fanuc-mcp-server
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
```
macOS / Linux:
```bash
cd fanuc-mcp-server
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
```
## 執行
伺服器使用 stdio transport:
```powershell
python server.py
```
直接執行時等待 MCP Client 從標準輸入連線是正常行為。
## MCP Client 設定
`mcp.json` 提供從專案目錄啟動的範例。若 Client 不支援 `cwd`,請把
`args` 中的 `server.py` 改成其絕對路徑;建議也改用虛擬環境內 Python 的絕對路徑。
```json
{
"mcpServers": {
"fanuc-parameters": {
"command": "C:\\完整路徑\\fanuc-mcp-server\\.venv\\Scripts\\python.exe",
"args": ["C:\\完整路徑\\fanuc-mcp-server\\server.py"]
}
}
}
```
## 提供的 Tools
- `get_fanuc_parameter(parameter_no)`:取得單一參數
- `list_fanuc_parameters(include_unresolved=true)`:列出參數
- `search_fanuc_parameters(query, include_unresolved=true)`:文字搜尋
- `compare_fanuc_parameters(parameter_numbers)`:比較多個參數
範例提問:
- `請查詢 FANUC 1769`
- `比較 FANUC 1660、1735、1769`
- `搜尋「時間常數」`
- `19539 的解析狀態是什麼?`
## 提供的 Resources
- `fanuc://manuals/b64700ct-01`
- `fanuc://parameters/{parameter_no}`
## 測試
在專案根目錄執行:
```powershell
python -m unittest discover -s tests -v
```
測試會確認:
- 恰好包含 5 個指定參數
- `19539` 保持 `unresolved` 且沒有名稱或摘要
- 關鍵字搜尋正常
- 每筆 JSONL 都符合 JSON Schema
也可用官方 MCP Inspector 做互動測試(需要 Node.js):
```powershell
npx -y @modelcontextprotocol/inspector python server.py
```
## 專案結構
```text
fanuc-mcp-server/
├── data/
│ └── fanuc_parameters.jsonl
├── schema/
│ └── parameter.schema.json
├── tests/
│ ├── test_repository.py
│ └── test_schema.py
├── repository.py
├── resources.py
├── tools.py
├── server.py
├── requirements.txt
├── mcp.json
└── README.md
```
## 後續擴充
新增資料時,每行加入一個符合 `schema/parameter.schema.json` 的 JSON 物件,然後重新
執行測試。對尚未從手冊確認的參數,請使用 `status: "unresolved"` 並保留未知欄位為
`null`。
# FANUC_MCP
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues