forked from HomeLab/unraid-mcp
feat: consolidate 26 tools into 10 tools with 90 actions
Refactor the entire tool layer to use the consolidated action pattern (action: Literal[...] with QUERIES/MUTATIONS dicts). This reduces LLM context from ~12k to ~5k tokens while adding ~60 new API capabilities. New tools: unraid_info (19 actions), unraid_array (12), unraid_notifications (9), unraid_users (8), unraid_keys (5). Rewritten: unraid_docker (15), unraid_vm (9), unraid_storage (6), unraid_rclone (4), unraid_health (3). Includes 129 tests across 10 test files, code review fixes for 16 issues (severity ordering, PrefixedID regex, sensitive var redaction, etc.). Removes tools/system.py (replaced by tools/info.py). Version bumped to 0.2.0.
This commit is contained in:
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "unraid-mcp"
|
||||
version = "0.1.0"
|
||||
version = "0.2.0"
|
||||
description = "MCP Server for Unraid API - provides tools to interact with an Unraid server's GraphQL API"
|
||||
authors = [
|
||||
{name = "jmagar", email = "jmagar@users.noreply.github.com"}
|
||||
@@ -33,18 +33,6 @@ dependencies = [
|
||||
"websockets>=13.1,<14.0",
|
||||
"rich>=14.1.0",
|
||||
"pytz>=2025.2",
|
||||
"mypy>=1.17.1",
|
||||
"ruff>=0.12.8",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"pytest>=8.4.1",
|
||||
"pytest-asyncio>=1.1.0",
|
||||
"black>=25.1.0",
|
||||
"ruff>=0.12.8",
|
||||
"mypy>=1.17.1",
|
||||
"types-python-dateutil",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
@@ -151,5 +139,11 @@ exclude_lines = [
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"pytest>=8.4.2",
|
||||
"pytest-asyncio>=1.2.0",
|
||||
"pytest-cov>=7.0.0",
|
||||
"types-pytz>=2025.2.0.20250809",
|
||||
"mypy>=1.17.1",
|
||||
"ruff>=0.12.8",
|
||||
"black>=25.1.0",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user