mcp-ts-template
Version:
A production-grade TypeScript template for building robust Model Context Protocol (MCP) servers, featuring built-in observability with OpenTelemetry, advanced error handling, comprehensive utilities, and a modular architecture.
156 lines (155 loc) • 4.98 kB
JSON
{
"name": "mcp-ts-template",
"version": "1.8.1",
"description": "A production-grade TypeScript template for building robust Model Context Protocol (MCP) servers, featuring built-in observability with OpenTelemetry, advanced error handling, comprehensive utilities, and a modular architecture.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"bin": {
"mcp-ts-template": "dist/index.js"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
}
},
"type": "module",
"repository": {
"type": "git",
"url": "git+https://github.com/cyanheads/mcp-ts-template.git"
},
"bugs": {
"url": "https://github.com/cyanheads/mcp-ts-template/issues"
},
"homepage": "https://github.com/cyanheads/mcp-ts-template#readme",
"scripts": {
"build": "tsc",
"postbuild": "tsx scripts/make-executable.ts dist/index.js",
"start": "node dist/index.js",
"start:stdio": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio node dist/index.js",
"start:http": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http node dist/index.js",
"start:agent": "MCP_LOG_LEVEL=debug node dist/agent/cli/boot.js",
"dev": "tsx --watch src/index.ts",
"dev:stdio": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio tsx --watch src/index.ts",
"dev:http": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http tsx --watch src/index.ts",
"dev:agent": "MCP_LOG_LEVEL=debug tsx --watch src/agent/cli/boot.ts",
"rebuild": "tsx scripts/clean.ts && npm run build",
"docs:generate": "typedoc --tsconfig ./tsconfig.typedoc.json",
"depcheck": "npx depcheck",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"typecheck": "tsc --noEmit",
"tree": "tsx scripts/tree.ts",
"fetch-spec": "tsx scripts/fetch-openapi-spec.ts",
"format": "prettier --write \"**/*.{ts,js,json,md,html,css}\"",
"inspector": "npx mcp-inspector --config mcp.json --server mcp-ts-template",
"db:duckdb-example": "MCP_LOG_LEVEL=debug tsc && node dist/storage/duckdbExample.js",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"audit": "npm audit --production",
"audit:fix": "npm audit fix --production",
"prepublishOnly": "npm run typecheck && npm run lint && npm run test && npm run build"
},
"dependencies": {
"@duckdb/node-api": "^1.3.2-alpha.25",
"@hono/node-server": "^1.17.1",
"@modelcontextprotocol/sdk": "^1.17.1",
"@opentelemetry/instrumentation-winston": "^0.48.0",
"@supabase/supabase-js": "^2.53.0",
"axios": "^1.11.0",
"chrono-node": "^2.8.0",
"dotenv": "^16.6.1",
"hono": "^4.8.9",
"ignore": "^7.0.5",
"jose": "^6.0.12",
"js-yaml": "^4.1.0",
"node-cron": "^4.2.1",
"openai": "^5.11.0",
"partial-json": "^0.1.7",
"reflect-metadata": "^0.2.2",
"sanitize-html": "^2.17.0",
"tiktoken": "^1.0.21",
"validator": "13.15.15",
"winston": "^3.17.0",
"winston-transport": "^4.9.0",
"zod": "^3.25.76"
},
"devDependencies": {
"@anatine/zod-mock": "^3.14.0",
"@eslint/js": "^9.32.0",
"@faker-js/faker": "^9.9.0",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/auto-instrumentations-node": "^0.62.0",
"@opentelemetry/exporter-metrics-otlp-http": "^0.203.0",
"@opentelemetry/exporter-trace-otlp-http": "^0.203.0",
"@opentelemetry/resources": "^2.0.1",
"@opentelemetry/sdk-metrics": "^2.0.1",
"@opentelemetry/sdk-node": "^0.203.0",
"@opentelemetry/sdk-trace-node": "^2.0.1",
"@opentelemetry/semantic-conventions": "^1.36.0",
"@types/js-yaml": "^4.0.9",
"@types/node": "^24.1.0",
"@types/node-cron": "^3.0.11",
"@types/sanitize-html": "^2.16.0",
"@types/validator": "13.15.2",
"@vitest/coverage-v8": "^3.2.4",
"depcheck": "^1.4.7",
"eslint": "^9.32.0",
"globals": "^16.3.0",
"msw": "^2.10.4",
"prettier": "^3.6.2",
"tsx": "^4.20.3",
"typedoc": "^0.28.8",
"typescript": "^5.8.3",
"typescript-eslint": "^8.38.0",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.4"
},
"keywords": [
"typescript",
"template",
"mcp",
"model-context-protocol",
"agent",
"autonomous-agent",
"agent-framework",
"architecture",
"error-handling",
"llm",
"ai-integration",
"mcp-server",
"mcp-client",
"hono",
"stdio",
"http",
"authentication",
"oauth",
"jwt",
"openrouter",
"duckdb",
"zod",
"opentelemetry",
"observability",
"tracing",
"metrics"
],
"author": "cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)",
"license": "Apache-2.0",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/cyanheads"
},
{
"type": "buy_me_a_coffee",
"url": "https://www.buymeacoffee.com/cyanheads"
}
],
"engines": {
"node": ">=20.0.0"
}
}