@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
JSON
{
"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"
]
}
}