diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index 58b553d..21f8e62 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -43,3 +43,21 @@ jobs: --title "Release $GITHUB_REF_NAME" \ --generate-notes \ dist/* + + - name: Install mcp-publisher + run: | + curl -fsSL "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher + + - name: Set version in server.json + run: | + VERSION="${GITHUB_REF_NAME#v}" + jq --arg v "$VERSION" ' + .version = $v | + .packages = [.packages[] | if .registryType == "pypi" then .version = $v else . end] + ' server.json > server.tmp && mv server.tmp server.json + + - name: Authenticate to MCP Registry + run: ./mcp-publisher login dns --domain tootie.tv --private-key ${{ secrets.MCP_PRIVATE_KEY }} + + - name: Publish to MCP Registry + run: ./mcp-publisher publish diff --git a/README.md b/README.md index 79f77f1..ddfc7b6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Unraid MCP + + [![PyPI](https://img.shields.io/pypi/v/unraid-mcp)](https://pypi.org/project/unraid-mcp/) [![ghcr.io](https://img.shields.io/badge/ghcr.io-jmagar%2Funraid--mcp-blue?logo=docker)](https://github.com/jmagar/unraid-mcp/pkgs/container/unraid-mcp) GraphQL-backed MCP server for Unraid. Exposes a unified `unraid` tool for system inspection, management operations, live telemetry, and destructive actions gated by explicit confirmation. diff --git a/server.json b/server.json new file mode 100644 index 0000000..e4a146b --- /dev/null +++ b/server.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", + "name": "tv.tootie/unraid-mcp", + "title": "Unraid MCP", + "description": "MCP server for Unraid API — provides tools to interact with an Unraid server's GraphQL API.", + "repository": { + "url": "https://github.com/jmagar/unraid-mcp", + "source": "github" + }, + "version": "1.2.2", + "packages": [ + { + "registryType": "pypi", + "registryBaseUrl": "https://pypi.org", + "identifier": "unraid-mcp", + "version": "1.2.2", + "runtimeHint": "uvx", + "transport": { + "type": "stdio" + }, + "environmentVariables": [ + { + "name": "UNRAID_API_URL", + "description": "Base URL of your Unraid server, e.g. http://192.168.1.100.", + "isRequired": true, + "isSecret": false + }, + { + "name": "UNRAID_API_KEY", + "description": "Unraid API key for authentication.", + "isRequired": true, + "isSecret": true + } + ] + } + ] +}