{ "name": "swsd-mcp", "version": "2.3.1", "mcpName": "io.github.mikimatsub/swsd", "description": "MCP server for SolarWinds Service Desk (SWSD / Samanage). Dual transport: stdio for local agents, Streamable HTTP for Copilot Studio and hosted deployments. Not affiliated with SolarWinds.", "type": "module", "engines": { "node": ">=24.15.0 <25" }, "bin": { "swsd-mcp": "dist/cli.js" }, "main": "dist/cli.js", "files": [ "dist", "README.md", "LICENSE", "SECURITY.md", "CHANGELOG.md" ], "scripts": { "prebuild": "node -e \"if(process.env.CF_PAGES){throw new Error('Cloudflare Pages should build docs-site/, not the MCP server root. Set Root directory to docs-site in the Cloudflare Pages dashboard.');}\"", "build:ui": "node scripts/build-ui.mjs", "build": "npm run build:ui && tsc", "dev": "tsx src/cli.ts", "start": "node dist/cli.js", "pretest": "npm run build:ui", "test": "vitest run", "pretest:coverage": "npm run build:ui", "test:coverage": "vitest run --coverage", "test:watch": "vitest", "lint": "eslint .", "lint:fix": "eslint . --fix", "typecheck": "tsc --noEmit && tsc -p tsconfig.ui.json", "typecheck:ui": "tsc -p tsconfig.ui.json", "inspect:stdio": "npx -y @modelcontextprotocol/inspector node dist/cli.js --transport=stdio", "inspect:http": "npx -y @modelcontextprotocol/inspector", "generate:swagger": "tsx scripts/generate-copilot-swagger.ts", "dump:custom-fields": "tsx scripts/dump-custom-fields.ts", "prepublishOnly": "npm run lint && npm run typecheck && npm test && npm run build", "prepare": "husky || true" }, "lint-staged": { "*.{ts,js,mjs,cjs}": [ "eslint --fix --max-warnings=0 --no-warn-ignored" ] }, "keywords": [ "mcp", "model-context-protocol", "solarwinds", "samanage", "service-desk", "swsd", "itsm", "ticketing", "knowledge-base", "copilot-studio" ], "license": "MIT", "author": "MikiMatsub", "homepage": "https://mcp-swsd.pages.dev", "repository": { "type": "git", "url": "git+https://github.com/mikimatsub/swsd-mcp.git" }, "bugs": { "url": "https://github.com/mikimatsub/swsd-mcp/issues" }, "publishConfig": { "access": "public", "provenance": true }, "dependencies": { "@modelcontextprotocol/ext-apps": "^1.7.1", "@modelcontextprotocol/sdk": "^1.29.0", "dompurify": "^3.4.13", "express": "5.2.1", "express-rate-limit": "^8.5.1", "helmet": "^8.1.0", "zod": "4.4.3" }, "overrides": { "@hono/node-server": "2.1.1" }, "devDependencies": { "@eslint/js": "10.0.1", "@types/express": "5.0.6", "@types/node": "24.13.3", "@vitest/coverage-v8": "4.1.11", "eslint": "10.10.0", "globals": "17.7.0", "husky": "9.1.7", "jsdom": "29.1.1", "lint-staged": "17.0.8", "tsx": "4.23.12", "typescript": "6.0.3", "typescript-eslint": "8.63.0", "vite": "8.1.5", "vite-plugin-singlefile": "2.3.3", "vitest": "4.1.11" } }