UNPKG

@aashari/boilerplate-mcp-server

Version:

TypeScript MCP server boilerplate with STDIO and HTTP transport support, CLI tools, and extensible architecture

141 lines (140 loc) 3.44 kB
{ "name": "@aashari/boilerplate-mcp-server", "version": "3.2.0", "description": "TypeScript MCP server boilerplate with STDIO and HTTP transport support, CLI tools, and extensible architecture", "main": "dist/index.js", "types": "dist/index.d.ts", "type": "commonjs", "repository": { "type": "git", "url": "https://github.com/aashari/boilerplate-mcp-server.git" }, "bin": { "mcp-server": "./dist/index.js" }, "scripts": { "build": "tsc", "clean": "rm -rf dist coverage", "prepare": "npm run build && node scripts/ensure-executable.js", "postinstall": "node scripts/ensure-executable.js", "lint": "eslint src --ext .ts --config eslint.config.mjs", "format": "prettier --write 'src/**/*.ts' 'scripts/**/*.js'", "test": "jest", "test:coverage": "jest --coverage", "test:cli": "jest src/cli/.*\\.cli\\.test\\.ts --runInBand --testTimeout=60000", "cli": "npm run build && node dist/index.js", "mcp:stdio": "TRANSPORT_MODE=stdio npm run build && node dist/index.js", "mcp:http": "TRANSPORT_MODE=http npm run build && node dist/index.js", "mcp:inspect": "TRANSPORT_MODE=http npm run build && (node dist/index.js &) && sleep 2 && npx @modelcontextprotocol/inspector http://localhost:3000/mcp" }, "keywords": [ "mcp", "model-context-protocol", "typescript", "claude", "anthropic", "ai", "llm", "boilerplate", "server", "stdio", "http", "streamable", "cli", "mcp-server" ], "author": "Andi Ashari", "license": "ISC", "engines": { "node": ">=20.0.0" }, "devDependencies": { "@eslint/js": "^10.0.1", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^12.0.6", "@semantic-release/npm": "^13.1.4", "@types/cors": "^2.8.19", "@types/express": "^5.0.6", "@types/jest": "^30.0.0", "@types/jmespath": "^0.15.2", "@types/node": "^25.2.3", "@typescript-eslint/eslint-plugin": "^8.56.0", "@typescript-eslint/parser": "^8.56.0", "eslint": "^10.0.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-filenames": "^1.3.2", "eslint-plugin-prettier": "^5.5.5", "jest": "^30.2.0", "nodemon": "^3.1.11", "npm-check-updates": "^19.3.2", "prettier": "^3.8.1", "semantic-release": "^25.0.3", "ts-jest": "^29.4.6", "ts-node": "^10.9.2", "typescript": "^5.9.3", "typescript-eslint": "^8.56.0" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.26.0", "@toon-format/toon": "^2.1.0", "commander": "^14.0.3", "cors": "^2.8.6", "dotenv": "^17.3.1", "express": "^5.2.1", "jmespath": "^0.16.0", "zod": "^4.3.6" }, "publishConfig": { "registry": "https://registry.npmjs.org/", "access": "public" }, "jest": { "preset": "ts-jest", "testEnvironment": "node", "setupFilesAfterEnv": [ "<rootDir>/src/utils/jest.setup.ts" ], "testMatch": [ "**/src/**/*.test.ts" ], "collectCoverageFrom": [ "src/**/*.ts", "!src/**/*.test.ts", "!src/**/*.spec.ts" ], "coveragePathIgnorePatterns": [ "/node_modules/", "/dist/", "/coverage/" ], "coverageReporters": [ "text", "lcov", "json-summary" ], "transform": { "^.+\\.tsx?$": [ "ts-jest", { "useESM": true } ] }, "moduleNameMapper": { "(.*)\\.(js|jsx)$": "$1" }, "extensionsToTreatAsEsm": [ ".ts" ], "moduleFileExtensions": [ "ts", "tsx", "js", "jsx", "json", "node" ] } }