@marcelo-ochoa/server-qnap
v1.0.6
Published
An MCP server for QNAP NAS API.
Downloads
573
Maintainers
Readme
QNAP MCP Server
An MCP server implementation for QNAP NAS devices, providing tools to monitor system status, manage files, and generate reports.
Tools
qnap-connect: Connect to a QNAP NAS and obtain a session ID.host: The QNAP NAS URL (e.g.,http://10.1.1.241:8080).username: Your admin username.password: Your admin password.
qnap-report: Generate a comprehensive Markdown system report including CPU, memory, powered bytoontables for disks and volumes. Perfect for both human reading and AI analysis.qnap-dir: List the contents of a directory in a professional tabular format, automatically sorted by modification date.path: The path to list (e.g.,/Public).
qnap-file-info: Get detailed information about a specific file.path: The directory path.filename: The name of the file.
Resources
The server exposes QNAP system components as MCP Resources, providing structured JSON data for monitoring:
- Disks:
qnap://[host]:[port]/disk/[disk-id]- Real-time disk health, model, serial, and temperature.
- Volumes:
qnap://[host]:[port]/volume/[volume-id]- Detailed storage usage, capacity, and volume names.
These resources allow AI models to monitor NAS health and storage levels without manually calling reporting tools.
Configuration
Environment Variables
The server can use environment variables and startup arguments for automatic connection:
QNAP_USER: QNAP admin username.QNAP_PASSWORD: QNAP admin password.
Startup Arguments
host: (Optional) URL of the QNAP NAS (e.g.,http://10.1.1.241:8080).
If the host and environment variables are provided, the server will attempt to connect automatically at startup.
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"qnap": {
"command": "npx",
"args": [
"-y",
"@marcelo-ochoa/server-qnap",
"http://10.1.1.241:8080"
],
"env": {
"QNAP_USER": "admin",
"QNAP_PASSWORD": "password"
}
}
}
}using docker image
{
"mcpServers": {
"qnap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"QNAP_USER=admin",
"-e",
"QNAP_PASSWORD=password",
"mochoa/mcp-qnap",
"http://10.1.1.241:8080"
]
}
}
}Development
cd src/qnap
npm install
npm run buildDemos
See Demos for usage examples with Claude Desktop, Gemini CLI, and Antigravity Code Editor.
Docker
Building the container:
docker build -t mochoa/mcp-qnap -f src/qnap/Dockerfile .Running the container:
docker run -i --rm -e QNAP_USER=admin -e QNAP_PASSWORD=password mochoa/mcp-qnap http://10.1.1.241:8080Change Log
See Change Log for the history of changes.
📜 License
This project is licensed under the Apache License, Version 2.0 for new contributions, with existing code under MIT - see the LICENSE file for details.
