forked from HomeLab/unraid-mcp
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f89ed7275b | |||
| 3d23d3c5b4 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -57,3 +57,5 @@ client_secret_*.apps.googleusercontent.com.json
|
|||||||
web-ui/frontend/node_modules
|
web-ui/frontend/node_modules
|
||||||
web-ui/backend/.venv-backend/
|
web-ui/backend/.venv-backend/
|
||||||
.pnpm-store/
|
.pnpm-store/
|
||||||
|
|
||||||
|
.continue
|
||||||
11
HISTORY.md
11
HISTORY.md
@@ -5,11 +5,22 @@ Changelog
|
|||||||
(unreleased)
|
(unreleased)
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
Fix
|
||||||
|
~~~
|
||||||
|
- Adapt for supported GraphQL schema on 6.12.13. [Simon Diesenreiter]
|
||||||
|
|
||||||
|
|
||||||
|
0.0.2 (2026-02-21)
|
||||||
|
------------------
|
||||||
|
|
||||||
Fix
|
Fix
|
||||||
~~~
|
~~~
|
||||||
- Set scripts as executable, refs NOISSUE. [Simon Diesenreiter]
|
- Set scripts as executable, refs NOISSUE. [Simon Diesenreiter]
|
||||||
- Initial test release. [Simon Diesenreiter]
|
- Initial test release. [Simon Diesenreiter]
|
||||||
|
|
||||||
|
Other
|
||||||
|
~~~~~
|
||||||
|
|
||||||
|
|
||||||
0.0.1 (2026-02-21)
|
0.0.1 (2026-02-21)
|
||||||
------------------
|
------------------
|
||||||
|
|||||||
@@ -541,8 +541,6 @@ Possible error states for configuration
|
|||||||
- Fields (3):
|
- Fields (3):
|
||||||
- `api`: `String`
|
- `api`: `String`
|
||||||
- Unraid API version
|
- Unraid API version
|
||||||
- `kernel`: `String`
|
|
||||||
- Kernel version
|
|
||||||
- `unraid`: `String`
|
- `unraid`: `String`
|
||||||
- Unraid version
|
- Unraid version
|
||||||
|
|
||||||
@@ -1021,8 +1019,6 @@ The `ID` scalar type represents a unique identifier, often used to refetch an ob
|
|||||||
- `hostname`: `String`
|
- `hostname`: `String`
|
||||||
- Hostname
|
- Hostname
|
||||||
- `id`: `PrefixedID!`
|
- `id`: `PrefixedID!`
|
||||||
- `kernel`: `String`
|
|
||||||
- Kernel version
|
|
||||||
- `logofile`: `String`
|
- `logofile`: `String`
|
||||||
- OS logo name
|
- OS logo name
|
||||||
- `platform`: `String`
|
- `platform`: `String`
|
||||||
@@ -1426,8 +1422,6 @@ System metrics including CPU and memory utilization
|
|||||||
- Node.js version
|
- Node.js version
|
||||||
- `npm`: `String`
|
- `npm`: `String`
|
||||||
- npm version
|
- npm version
|
||||||
- `openssl`: `String`
|
|
||||||
- OpenSSL version
|
|
||||||
- `php`: `String`
|
- `php`: `String`
|
||||||
- PHP version
|
- PHP version
|
||||||
- `pm2`: `String`
|
- `pm2`: `String`
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ Every query type identified across all research documents, with their fields and
|
|||||||
|
|
||||||
| Query | Fields | Current MCP Coverage |
|
| Query | Fields | Current MCP Coverage |
|
||||||
|-------|--------|---------------------|
|
|-------|--------|---------------------|
|
||||||
| `info` | `time`, `baseboard { manufacturer, model, version, serial }`, `cpu { manufacturer, brand, vendor, family, model, stepping, revision, voltage, speed, speedmin, speedmax, threads, cores, processors, socket, cache, flags }`, `devices`, `display`, `machineId`, `memory { max, total, free, used, active, available, buffcache, swaptotal, swapused, swapfree, layout[] }`, `os { platform, distro, release, codename, kernel, arch, hostname, codepage, logofile, serial, build, uptime }`, `system { manufacturer, model, version, serial, uuid }`, `versions { kernel, docker, unraid, node }`, `apps { installed, started }` | **YES** - `get_system_info()` |
|
| `info` | `time`, `baseboard { manufacturer, model, version, serial }`, `cpu { manufacturer, brand, vendor, family, model, stepping, revision, voltage, speed, speedmin, speedmax, threads, cores, processors, socket, cache, flags }`, `devices`, `display`, `machineId`, `memory { max, total, free, used, active, available, buffcache, swaptotal, swapused, swapfree, layout[] }`, `os { platform, distro, release, codename, arch, hostname, logofile, serial, build, uptime }`, `system { manufacturer, model, version, serial, uuid }`, `versions { docker, unraid, node }` | **YES** - `get_system_info()` |
|
||||||
| `vars` | `id`, `version`, `name`, `timeZone`, `comment`, `security`, `workgroup`, `domain`, `useNtp`, `ntpServer1-4`, `useSsl`, `port`, `portssl`, `useTelnet`, `useSsh`, `portssh`, `startPage`, `startArray`, `spindownDelay`, `defaultFormat`, `defaultFsType`, `shutdownTimeout`, `shareDisk`, `shareUser`, `shareSmbEnabled`, `shareNfsEnabled`, `shareAfpEnabled`, `shareCacheEnabled`, `shareMoverSchedule`, `shareMoverLogging`, `safeMode`, `configValid`, `configError`, `deviceCount`, `flashGuid`, `flashProduct`, `flashVendor`, `regState`, `regTo`, `mdState`, `mdNumDisks`, `mdNumDisabled`, `mdNumInvalid`, `mdNumMissing`, `mdResync`, `mdResyncAction`, `fsState`, `fsProgress`, `fsCopyPrcnt`, `shareCount`, `shareSmbCount`, `shareNfsCount`, `csrfToken`, `maxArraysz`, `maxCachesz` | **YES** - `get_unraid_variables()` |
|
| `vars` | `id`, `version`, `name`, `timeZone`, `comment`, `security`, `workgroup`, `domain`, `useNtp`, `ntpServer1-4`, `useSsl`, `port`, `portssl`, `useTelnet`, `useSsh`, `portssh`, `startPage`, `startArray`, `spindownDelay`, `defaultFormat`, `defaultFsType`, `shutdownTimeout`, `shareDisk`, `shareUser`, `shareSmbEnabled`, `shareNfsEnabled`, `shareAfpEnabled`, `shareCacheEnabled`, `shareMoverSchedule`, `shareMoverLogging`, `safeMode`, `configValid`, `configError`, `deviceCount`, `flashGuid`, `flashProduct`, `flashVendor`, `regState`, `regTo`, `mdState`, `mdNumDisks`, `mdNumDisabled`, `mdNumInvalid`, `mdNumMissing`, `mdResync`, `mdResyncAction`, `fsState`, `fsProgress`, `fsCopyPrcnt`, `shareCount`, `shareSmbCount`, `shareNfsCount`, `csrfToken`, `maxArraysz`, `maxCachesz` | **YES** - `get_unraid_variables()` |
|
||||||
| `online` | `Boolean` | **NO** |
|
| `online` | `Boolean` | **NO** |
|
||||||
| `owner` | Server owner information | **NO** |
|
| `owner` | Server owner information | **NO** |
|
||||||
@@ -378,15 +378,14 @@ GRAPHQL_PUBSUB_CHANNEL {
|
|||||||
| `ContainerHostConfig` | JSON host configuration | |
|
| `ContainerHostConfig` | JSON host configuration | |
|
||||||
| `VmDomain` | `uuid/id`, `name`, `state` | Implements Node |
|
| `VmDomain` | `uuid/id`, `name`, `state` | Implements Node |
|
||||||
| `Vms` | `id`, `domain[]` | |
|
| `Vms` | `id`, `domain[]` | |
|
||||||
| `Info` | `time`, `baseboard`, `cpu`, `devices`, `display`, `machineId`, `memory`, `os`, `system`, `versions`, `apps` | Implements Node |
|
| `Info` | `time`, `baseboard`, `cpu`, `devices`, `display`, `machineId`, `memory`, `os`, `system`, `versions` | Implements Node |
|
||||||
| `InfoCpu` | `manufacturer`, `brand`, `vendor`, `family`, `model`, `stepping`, `revision`, `voltage`, `speed`, `speedmin`, `speedmax`, `threads`, `cores`, `processors`, `socket`, `cache`, `flags` | |
|
| `InfoCpu` | `manufacturer`, `brand`, `vendor`, `family`, `model`, `stepping`, `revision`, `voltage`, `speed`, `speedmin`, `speedmax`, `threads`, `cores`, `processors`, `socket`, `cache`, `flags` | |
|
||||||
| `InfoMemory` | `max`, `total`, `free`, `used`, `active`, `available`, `buffcache`, `swaptotal`, `swapused`, `swapfree`, `layout[]` | |
|
| `InfoMemory` | `max`, `total`, `free`, `used`, `active`, `available`, `buffcache`, `swaptotal`, `swapused`, `swapfree`, `layout[]` | |
|
||||||
| `MemoryLayout` | `bank`, `type`, `clockSpeed`, `manufacturer` | Missing `size` field (known bug) |
|
| `MemoryLayout` | `bank`, `type`, `clockSpeed`, `manufacturer` | Missing `size` field (known bug) |
|
||||||
| `Os` | `platform`, `distro`, `release`, `codename`, `kernel`, `arch`, `hostname`, `codepage`, `logofile`, `serial`, `build`, `uptime` | |
|
| `Os` | `platform`, `distro`, `release`, `codename`, `arch`, `hostname`, `logofile`, `serial`, `build`, `uptime` | |
|
||||||
| `Baseboard` | `manufacturer`, `model`, `version`, `serial` | |
|
| `Baseboard` | `manufacturer`, `model`, `version`, `serial` | |
|
||||||
| `SystemInfo` | `manufacturer`, `model`, `version`, `serial`, `uuid` | |
|
| `SystemInfo` | `manufacturer`, `model`, `version`, `serial`, `uuid` | |
|
||||||
| `Versions` | `kernel`, `docker`, `unraid`, `node` | |
|
| `Versions` | `docker`, `unraid`, `node` | |
|
||||||
| `InfoApps` | `installed`, `started` | |
|
|
||||||
| `Network` | `iface`, `ifaceName`, `ipv4`, `ipv6`, `mac`, `internal`, `operstate`, `type`, `duplex`, `mtu`, `speed`, `carrierChanges`, `id`, `accessUrls[]` | Implements Node |
|
| `Network` | `iface`, `ifaceName`, `ipv4`, `ipv6`, `mac`, `internal`, `operstate`, `type`, `duplex`, `mtu`, `speed`, `carrierChanges`, `id`, `accessUrls[]` | Implements Node |
|
||||||
| `AccessUrl` | `type`, `name`, `ipv4`, `ipv6` | |
|
| `AccessUrl` | `type`, `name`, `ipv4`, `ipv6` | |
|
||||||
| `Share` | `name`, `free`, `used`, `size`, `include[]`, `exclude[]`, `cache`, `nameOrig`, `comment`, `allocator`, `splitLevel`, `floor`, `cow`, `color`, `luksStatus` | |
|
| `Share` | `name`, `free`, `used`, `size`, `include[]`, `exclude[]`, `cache`, `nameOrig`, `comment`, `allocator`, `splitLevel`, `floor`, `cow`, `color`, `luksStatus` | |
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ Learn More about the Unraid API
|
|||||||
|
|
||||||
* Linux Kernel 6.12.54-Unraid
|
* Linux Kernel 6.12.54-Unraid
|
||||||
* Samba 4.23.2
|
* Samba 4.23.2
|
||||||
* Updated versions of openssl, mesa, kernel-firmware, git, exfatprogs, and more
|
* Updated versions of mesa, kernel-firmware, git, exfatprogs, and more
|
||||||
|
|
||||||
**Plugin Compatibility Notice**
|
**Plugin Compatibility Notice**
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|||||||
@@ -892,7 +892,6 @@ type DockerNetwork {
|
|||||||
|
|
||||||
```graphql
|
```graphql
|
||||||
type Info implements Node {
|
type Info implements Node {
|
||||||
apps: InfoApps
|
|
||||||
baseboard: Baseboard
|
baseboard: Baseboard
|
||||||
cpu: InfoCpu
|
cpu: InfoCpu
|
||||||
devices: Devices
|
devices: Devices
|
||||||
@@ -945,10 +944,8 @@ type Os {
|
|||||||
distro: String
|
distro: String
|
||||||
release: String
|
release: String
|
||||||
codename: String
|
codename: String
|
||||||
kernel: String
|
|
||||||
arch: String
|
arch: String
|
||||||
hostname: String
|
hostname: String
|
||||||
codepage: String
|
|
||||||
logofile: String
|
logofile: String
|
||||||
serial: String
|
serial: String
|
||||||
build: String
|
build: String
|
||||||
|
|||||||
@@ -220,13 +220,12 @@ Then access at `http://YOUR_SERVER_IP/graphql` to explore the schema via Apollo
|
|||||||
```graphql
|
```graphql
|
||||||
query {
|
query {
|
||||||
info {
|
info {
|
||||||
os { platform distro release uptime hostname arch kernel }
|
os { platform distro release uptime hostname arch }
|
||||||
cpu { manufacturer brand cores threads }
|
cpu { manufacturer brand cores threads }
|
||||||
memory { layout { bank type clockSpeed manufacturer } }
|
memory { layout { bank type clockSpeed manufacturer } }
|
||||||
baseboard { manufacturer model version serial }
|
baseboard { manufacturer model version serial }
|
||||||
system { manufacturer model version serial uuid }
|
system { manufacturer model version serial uuid }
|
||||||
versions { kernel docker unraid node }
|
versions { docker unraid node }
|
||||||
apps { installed started }
|
|
||||||
machineId
|
machineId
|
||||||
time
|
time
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -468,7 +468,6 @@ type Config implements Node {
|
|||||||
|
|
||||||
type CoreVersions {
|
type CoreVersions {
|
||||||
api: String
|
api: String
|
||||||
kernel: String
|
|
||||||
unraid: String
|
unraid: String
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -478,7 +477,6 @@ type PackageVersions {
|
|||||||
nginx: String
|
nginx: String
|
||||||
node: String
|
node: String
|
||||||
npm: String
|
npm: String
|
||||||
openssl: String
|
|
||||||
php: String
|
php: String
|
||||||
pm2: String
|
pm2: String
|
||||||
}
|
}
|
||||||
@@ -487,33 +485,6 @@ type InfoVersions implements Node {
|
|||||||
id: PrefixedID!
|
id: PrefixedID!
|
||||||
core: CoreVersions!
|
core: CoreVersions!
|
||||||
packages: PackageVersions
|
packages: PackageVersions
|
||||||
# Flattened fields used by the MCP tool queries (may exist in live API)
|
|
||||||
kernel: String
|
|
||||||
openssl: String
|
|
||||||
systemOpenssl: String
|
|
||||||
systemOpensslLib: String
|
|
||||||
node: String
|
|
||||||
v8: String
|
|
||||||
npm: String
|
|
||||||
yarn: String
|
|
||||||
pm2: String
|
|
||||||
gulp: String
|
|
||||||
grunt: String
|
|
||||||
git: String
|
|
||||||
tsc: String
|
|
||||||
mysql: String
|
|
||||||
redis: String
|
|
||||||
mongodb: String
|
|
||||||
apache: String
|
|
||||||
nginx: String
|
|
||||||
php: String
|
|
||||||
docker: String
|
|
||||||
postfix: String
|
|
||||||
postgresql: String
|
|
||||||
perl: String
|
|
||||||
python: String
|
|
||||||
gcc: String
|
|
||||||
unraid: String
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type InfoOs implements Node {
|
type InfoOs implements Node {
|
||||||
@@ -522,7 +493,6 @@ type InfoOs implements Node {
|
|||||||
distro: String
|
distro: String
|
||||||
release: String
|
release: String
|
||||||
codename: String
|
codename: String
|
||||||
kernel: String
|
|
||||||
arch: String
|
arch: String
|
||||||
hostname: String
|
hostname: String
|
||||||
logofile: String
|
logofile: String
|
||||||
@@ -532,7 +502,6 @@ type InfoOs implements Node {
|
|||||||
fqdn: String
|
fqdn: String
|
||||||
servicepack: String
|
servicepack: String
|
||||||
uefi: Boolean
|
uefi: Boolean
|
||||||
codepage: String
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type InfoCpu implements Node {
|
type InfoCpu implements Node {
|
||||||
@@ -714,11 +683,6 @@ type InfoDisplay implements Node {
|
|||||||
wwn: Boolean!
|
wwn: Boolean!
|
||||||
}
|
}
|
||||||
|
|
||||||
type Apps {
|
|
||||||
installed: Int
|
|
||||||
started: Int
|
|
||||||
}
|
|
||||||
|
|
||||||
type Info implements Node {
|
type Info implements Node {
|
||||||
id: PrefixedID!
|
id: PrefixedID!
|
||||||
os: InfoOs!
|
os: InfoOs!
|
||||||
@@ -729,7 +693,6 @@ type Info implements Node {
|
|||||||
versions: InfoVersions!
|
versions: InfoVersions!
|
||||||
devices: InfoDevices!
|
devices: InfoDevices!
|
||||||
display: InfoDisplay!
|
display: InfoDisplay!
|
||||||
apps: Apps
|
|
||||||
machineId: ID
|
machineId: ID
|
||||||
time: DateTime!
|
time: DateTime!
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1900,9 +1900,6 @@ type InfoOs implements Node {
|
|||||||
"""OS codename"""
|
"""OS codename"""
|
||||||
codename: String
|
codename: String
|
||||||
|
|
||||||
"""Kernel version"""
|
|
||||||
kernel: String
|
|
||||||
|
|
||||||
"""OS architecture"""
|
"""OS architecture"""
|
||||||
arch: String
|
arch: String
|
||||||
|
|
||||||
@@ -1987,15 +1984,9 @@ type CoreVersions {
|
|||||||
|
|
||||||
"""Unraid API version"""
|
"""Unraid API version"""
|
||||||
api: String
|
api: String
|
||||||
|
|
||||||
"""Kernel version"""
|
|
||||||
kernel: String
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type PackageVersions {
|
type PackageVersions {
|
||||||
"""OpenSSL version"""
|
|
||||||
openssl: String
|
|
||||||
|
|
||||||
"""Node.js version"""
|
"""Node.js version"""
|
||||||
node: String
|
node: String
|
||||||
|
|
||||||
|
|||||||
@@ -1900,9 +1900,6 @@ type InfoOs implements Node {
|
|||||||
"""OS codename"""
|
"""OS codename"""
|
||||||
codename: String
|
codename: String
|
||||||
|
|
||||||
"""Kernel version"""
|
|
||||||
kernel: String
|
|
||||||
|
|
||||||
"""OS architecture"""
|
"""OS architecture"""
|
||||||
arch: String
|
arch: String
|
||||||
|
|
||||||
@@ -1987,15 +1984,9 @@ type CoreVersions {
|
|||||||
|
|
||||||
"""Unraid API version"""
|
"""Unraid API version"""
|
||||||
api: String
|
api: String
|
||||||
|
|
||||||
"""Kernel version"""
|
|
||||||
kernel: String
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type PackageVersions {
|
type PackageVersions {
|
||||||
"""OpenSSL version"""
|
|
||||||
openssl: String
|
|
||||||
|
|
||||||
"""Node.js version"""
|
"""Node.js version"""
|
||||||
node: String
|
node: String
|
||||||
|
|
||||||
|
|||||||
@@ -18,15 +18,13 @@ QUERIES: dict[str, str] = {
|
|||||||
"overview": """
|
"overview": """
|
||||||
query GetSystemInfo {
|
query GetSystemInfo {
|
||||||
info {
|
info {
|
||||||
os { platform distro release codename kernel arch hostname codepage logofile serial build uptime }
|
os { platform distro release codename arch hostname logofile serial build uptime }
|
||||||
cpu { manufacturer brand vendor family model stepping revision voltage speed speedmin speedmax threads cores processors socket cache flags }
|
cpu { manufacturer brand vendor family model stepping revision voltage speed speedmin speedmax threads cores processors socket cache flags }
|
||||||
memory {
|
memory {
|
||||||
layout { bank type clockSpeed formFactor manufacturer partNum serialNum }
|
layout { bank type clockSpeed formFactor manufacturer partNum serialNum }
|
||||||
}
|
}
|
||||||
baseboard { manufacturer model version serial assetTag }
|
baseboard { manufacturer model version serial assetTag }
|
||||||
system { manufacturer model version serial uuid sku }
|
system { manufacturer model version serial uuid sku }
|
||||||
versions { kernel openssl systemOpenssl systemOpensslLib node v8 npm yarn pm2 gulp grunt git tsc mysql redis mongodb apache nginx php docker postfix postgresql perl python gcc unraid }
|
|
||||||
apps { installed started }
|
|
||||||
machineId
|
machineId
|
||||||
time
|
time
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user