package.jsonโข10.1 kB
{
"name": "@toolprint/hypertool-mcp",
"version": "0.0.46",
"mcpName": "ai.toolprint/hypertool-mcp",
"description": "HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers",
"main": "./dist/index.js",
"bin": {
"hypertool-mcp": "./dist/bin.js"
},
"scripts": {
"start": "node dist/bin.js",
"start:stdio": "node dist/bin.js --mcp-config mcp.test.json --debug",
"start:http": "node dist/bin.js --transport http --port 7001 --mcp-config mcp.test.json --debug",
"dev": "npm run build && node dist/bin.js --debug",
"smithery:build": "tsc && npx @smithery/cli build src/server.ts --out dist/server.cjs --transport stdio",
"smithery:build:container": "npm run docker:build && echo 'Container build completed for Smithery'",
"smithery:dev": "tsc && npx @smithery/cli playground --port 3000 -- node dist/server.js --mcp-config mcp.minimal.json --transport http --port 3000",
"smithery:dev:container": "npm run docker:build:local && docker run --rm -p 3000:8080 -d --name smithery-test hypertool-mcp:latest && echo 'Container running on http://localhost:3000 - use Smithery playground' && echo 'Stop with: docker stop smithery-test'",
"smithery:test": "tsc && npx @smithery/cli playground --port 3001 -- node dist/server.js --mcp-config mcp.minimal.json --transport http --port 3001",
"smithery:test:container": "npm run docker:build:local && docker run --rm -p 3001:8080 --name smithery-test-alt hypertool-mcp:latest",
"smithery:playground:docker": "npm run smithery:dev:container && sleep 5 && npx @smithery/cli playground --port 3000",
"smithery:stop": "docker stop smithery-test smithery-test-alt 2>/dev/null || echo 'No Smithery test containers running'",
"inspector:stdio": "tsc && npx @modelcontextprotocol/inspector node dist/server.js --mcp-config mcp.container.json",
"inspector:http": "tsc && concurrently \"node dist/server.js --mcp-config mcp.container.json --transport http --port 3000\" \"sleep 2 && npx @modelcontextprotocol/inspector http://localhost:3000/mcp\"",
"service:start": "tsc && node dist/bin.js service start",
"service:start:dev": "tsc && node dist/bin.js service start --profile development",
"service:start:prod": "tsc && node dist/bin.js service start --profile production",
"service:stop": "tsc && node dist/bin.js service stop",
"service:restart": "tsc && node dist/bin.js service restart",
"service:status": "tsc && node dist/bin.js service status",
"service:logs": "tsc && node dist/bin.js service logs",
"service:health": "tsc && node dist/bin.js service health",
"test": "vitest run",
"test:unit": "vitest run src --exclude='**/integration/**' --exclude='**/*.integration.test.ts' --exclude='**/*.e2e.test.ts' --exclude='**/*.perf.test.ts'",
"test:integration": "vitest run src/integration test/integration",
"test:e2e": "vitest run test/e2e",
"test:perf": "vitest run src/**/*.perf.test.ts",
"test:all": "vitest run",
"test:fast": "vitest run src --exclude='**/integration/**' --exclude='**/*.perf.test.ts' --reporter=dot",
"test:watch": "vitest",
"test:watch:unit": "vitest src --exclude='**/integration/**' --exclude='**/*.perf.test.ts'",
"test:coverage": "vitest run --coverage",
"test:coverage:unit": "vitest run src --exclude='**/integration/**' --exclude='**/*.perf.test.ts' --coverage",
"test:ui": "vitest --ui",
"test:ci": "vitest run --reporter=json --reporter=junit",
"test:debug": "node --inspect-brk ./node_modules/.bin/vitest run",
"test:backup": "vitest run --grep 'backup|restore|BackupManager'",
"test:config": "vitest run src/config src/config-manager",
"test:toolset": "vitest run src/toolset",
"test:stdio": "vitest run src/integration/stdio-transport.test.ts --reporter=verbose",
"test:stdio:debug": "DEBUG=* vitest run src/integration/stdio-transport.test.ts --reporter=verbose --testTimeout=60000",
"build": "rm -rf dist && tsc && npm run copy-examples && chmod +x dist/bin.js",
"copy-examples": "mkdir -p dist/examples && cp -r examples/mcp dist/examples/",
"pack:hello-dxt": "cd examples/hello-dxt && npm install && cd ../.. && dxt pack examples/hello-dxt examples/hello-dxt.dxt",
"build:watch": "tsc --watch",
"lint": "eslint src --ext .ts",
"lint:fix": "eslint src --ext .ts --fix",
"format": "prettier --write \"src/**/*.ts\"",
"format:check": "prettier --check \"src/**/*.ts\"",
"pre-commit": "pre-commit run",
"pre-commit:all": "pre-commit run --all-files",
"pre-commit:install": "pip install pre-commit && pre-commit install",
"changeset": "changeset",
"changeset:version": "changeset version",
"changeset:publish": "changeset publish",
"changeset:status": "changeset status",
"prepublishOnly": "npm run format && npm run build && npm run test",
"restore": "npm run build && node dist/scripts/restore/restore-all.js",
"restore:dry-run": "npm run build && node dist/scripts/restore/restore-all.js --dry-run",
"docker:setup": "docker buildx create --name multiarch --use --bootstrap 2>/dev/null || docker buildx use multiarch",
"docker:build": "npm run docker:setup && docker buildx bake hypertool-mcp",
"docker:build:local": "npm run docker:setup && docker buildx bake hypertool-mcp-local",
"docker:build:dev": "npm run docker:setup && docker buildx bake hypertool-mcp-dev",
"docker:build:push": "npm run docker:setup && docker buildx bake --set '*.output=type=registry' hypertool-mcp",
"docker:inspect": "docker buildx imagetools inspect hypertool-mcp:latest",
"docker:test": "npm run docker:build:local && docker run --rm -p 8080:8080 -d --name hypertool-test hypertool-mcp:latest && sleep 10 && curl -f http://localhost:8080/health && docker stop hypertool-test",
"docker:clean": "docker buildx prune -f && docker system prune -f",
"docker:compose:test:up": "docker-compose -f docker-compose.test.yaml up -d",
"docker:compose:test:down": "docker-compose -f docker-compose.test.yaml down",
"docker:compose:test:build": "docker-compose -f docker-compose.test.yaml build",
"docker:compose:test:logs": "docker-compose -f docker-compose.test.yaml logs -f",
"docker:compose:test:bake": "docker buildx bake -f docker-compose.test.yaml",
"docker:compose:up": "docker-compose up -d",
"docker:compose:down": "docker-compose down",
"docker:compose:build": "docker-compose build",
"docker:compose:logs": "docker-compose logs -f",
"docker:compose:bake": "docker buildx bake -f docker-compose.yml",
"dev:docker": "npm run build && npm run docker:build:local && npm run docker:compose:up",
"dev:docker:test": "npm run build && npm run docker:build:local && npm run docker:compose:test:up",
"inspector:docker:production": "npm run docker:build:local && docker-compose up -d && echo '\\n๐ HyperTool MCP running in Docker (production config)\\n๐ Server: http://localhost:8080/mcp\\n๐ Run this in another terminal:\\n npm run inspector:connect\\n' && docker-compose logs -f",
"inspector:docker:test": "npm run docker:build:local && docker-compose -f docker-compose.test.yaml up -d && echo '\\n๐ HyperTool MCP running in Docker (test config)\\n๐ Server: http://localhost:8080/mcp\\n๐ Run this in another terminal:\\n npm run inspector:connect\\n' && docker-compose -f docker-compose.test.yaml logs -f",
"inspector:connect": "npx @modelcontextprotocol/inspector http://localhost:8080/mcp",
"inspector:docker:stop": "docker-compose down && docker-compose -f docker-compose.test.yaml down 2>/dev/null || true",
"inspector:docker:quick": "npm run inspector:docker:stop && npm run inspector:docker:production"
},
"keywords": [
"mcp",
"model-context-protocol",
"ai-tools",
"toolset",
"proxy",
"claude",
"cursor",
"ai-assistant",
"dynamic-toolset",
"mcp-server",
"mcp-client",
"mcp-proxy",
"toolprint",
"hypertool",
"smithery"
],
"author": "OneGrep, Inc.",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/toolprint/hypertool-mcp"
},
"homepage": "https://github.com/toolprint/hypertool-mcp#readme",
"bugs": {
"url": "https://github.com/toolprint/hypertool-mcp/issues"
},
"type": "module",
"engines": {
"node": ">=16.0.0"
},
"files": [
"dist/**/*",
"README.md",
"LICENSE",
"SECURITY.md",
"CODE_OF_CONDUCT.md",
"CONTRIBUTING.md",
"CHANGELOG.md",
"assets/toolprint.png"
],
"publishConfig": {
"access": "public",
"tag": "beta"
},
"devDependencies": {
"@changesets/cli": "^2.29.5",
"@types/node": "^24.0.12",
"@types/ora": "^3.1.0",
"@types/pino": "^7.0.4",
"@types/tar": "^6.1.13",
"@types/unzipper": "^0.10.11",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^8.36.0",
"@typescript-eslint/parser": "^8.36.0",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"concurrently": "^9.2.0",
"eslint": "^9.30.1",
"eslint-config-prettier": "^10.1.5",
"eslint-plugin-prettier": "^5.5.1",
"markdownlint-cli2": "^0.13.0",
"nodemon": "^3.1.10",
"prettier": "^3.6.2",
"ts-node": "^10.9.2",
"typescript": "^5.8.3",
"vitest": "^3.2.4"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.15.1",
"@toolprint/mcp-logger": "^0.0.7",
"@types/chalk": "^0.4.31",
"@types/express": "^5.0.3",
"@types/figlet": "^1.7.0",
"@types/inquirer": "^9.0.8",
"@types/node-cache": "^4.1.3",
"axios": "^1.7.7",
"chalk": "^5.4.1",
"commander": "^14.0.0",
"express": "^5.1.0",
"figlet": "^1.8.2",
"inquirer": "^12.7.0",
"memfs": "^4.24.0",
"node-cache": "^5.1.2",
"ora": "^8.2.0",
"pino": "^9.7.0",
"pino-pretty": "^13.1.1",
"tar": "^7.4.3",
"unzipper": "^0.12.3",
"uuid": "^11.0.2",
"yaml": "^2.8.0",
"zod": "^3.25.76",
"zod-to-json-schema": "^3.24.6"
}
}