Skip to main content
Glama

MCP TypeScript Template

package.json5.75 kB
{ "name": "mcp-ts-template", "version": "2.3.5", "mcpName": "io.github.cyanheads/mcp-ts-template", "description": "The definitive, production-grade template for building powerful and scalable Model Context Protocol (MCP) servers with TypeScript, featuring built-in observability (OpenTelemetry), declarative tooling, robust error handling, and a modular, DI-driven 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" }, "./*": "./dist/*" }, "type": "module", "sideEffects": false, "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": "bun build ./src/index.ts --outdir ./dist --target node", "build:worker": "bun build ./src/worker.ts --outdir ./dist --target bun --no-external", "deploy:dev": "MCP_TRANSPORT_TYPE=http bunx wrangler dev", "deploy:prod": "MCP_TRANSPORT_TYPE=http bunx wrangler deploy", "start": "bun ./dist/index.js", "start:stdio": "MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js", "start:http": "MCP_TRANSPORT_TYPE=http bun ./dist/index.js", "dev": "bun --watch src/index.ts", "dev:stdio": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts", "dev:http": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts", "devdocs": "bun run scripts/devdocs.ts", "devcheck": "bun run scripts/devcheck.ts", "rebuild": "bun run scripts/clean.ts && bun run build", "docs:generate": "bunx typedoc", "depcheck": "bunx depcheck", "lint": "bunx eslint .", "lint:fix": "bunx eslint . --fix", "typecheck": "bunx tsc --noEmit", "tree": "bun run scripts/tree.ts", "fetch-spec": "bun run scripts/fetch-openapi-spec.ts", "format": "bunx prettier --write \"**/*.{ts,js,json,md,html,css}\"", "prepare": "bunx husky", "inspector": "bunx mcp-inspector --config mcp.json --server mcp-ts-template", "test": "bun test --config vitest.config.ts", "test:coverage": "bun test --coverage", "audit": "bun audit", "audit:fix": "bun audit --fix", "publish-mcp": "bun scripts/validate-mcp-publish-schema.ts" }, "resolutions": { "@hono/node-server": "1.19.5", "chrono-node": "2.9.0", "dotenv": "17.2.3", "hono": "4.9.9", "zod": "3.23.8", "typescript": "5.9.3" }, "dependencies": { "@hono/mcp": "^0.1.4", "@hono/node-server": "^1.19.5", "@modelcontextprotocol/sdk": "^1.19.1", "@supabase/supabase-js": "^2.58.0", "axios": "^1.12.2", "chrono-node": "^2.9.0", "dotenv": "^17.2.3", "fast-xml-parser": "^5.3.0", "hono": "^4.9.9", "ignore": "^7.0.5", "jose": "^6.1.0", "js-yaml": "^4.1.0", "node-cron": "^4.2.1", "openai": "^6.1.0", "papaparse": "^5.5.3", "partial-json": "^0.1.7", "pdf-lib": "^1.17.1", "pino": "^10.0.0", "pino-pretty": "^13.1.1", "reflect-metadata": "^0.2.2", "repomix": "^1.6.1", "sanitize-html": "^2.17.0", "tslib": "^2.8.1", "tsyringe": "^4.10.0", "validator": "13.15.15", "zod": "^3.23.8", "@opentelemetry/api": "^1.9.0", "@opentelemetry/auto-instrumentations-node": "^0.64.6", "@opentelemetry/exporter-metrics-otlp-http": "^0.205.0", "@opentelemetry/exporter-trace-otlp-http": "^0.205.0", "@opentelemetry/instrumentation-pino": "^0.52.3", "@opentelemetry/resources": "^2.1.0", "@opentelemetry/sdk-metrics": "^2.1.0", "@opentelemetry/sdk-node": "^0.205.0", "@opentelemetry/sdk-trace-node": "^2.1.0", "@opentelemetry/semantic-conventions": "^1.37.0" }, "devDependencies": { "@cloudflare/workers-types": "^4.20251004.0", "@eslint/js": "^9.37.0", "@types/bun": "^1.2.23", "@types/js-yaml": "^4.0.9", "@types/node": "^24.6.2", "@types/node-cron": "^3.0.11", "@types/papaparse": "^5.3.16", "@types/sanitize-html": "^2.16.0", "@types/validator": "13.15.3", "@vitest/coverage-v8": "3.2.4", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "bun-types": "^1.2.23", "clipboardy": "^5.0.0", "depcheck": "^1.4.7", "eslint": "^9.37.0", "execa": "^9.6.0", "globals": "^16.4.0", "husky": "^9.1.7", "msw": "^2.11.3", "prettier": "^3.6.2", "typedoc": "^0.28.13", "typescript": "^5.9.3", "typescript-eslint": "8.45.0", "vite": "^7.1.9", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.2.4" }, "keywords": [ "agent", "ai", "ai-agent", "authentication", "cloudflare-workers", "declarative-tools", "dependency-injection", "error-handling", "hono", "llm-integration", "mcp", "model-context-protocol", "mcp-server", "elicitation", "observability", "opentelemetry", "otel", "server-template", "template", "typescript", "zod" ], "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" } ], "packageManager": "bun@1.2.21", "engines": { "bun": ">=1.2.0", "node": ">=20.0.0" }, "depcheck": { "ignores": [ "bun", "repomix", "mcp-ts-template" ] }, "publishConfig": { "access": "public" } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mintedmaterial/mcp-ts-template'

If you have feedback or need assistance with the MCP directory API, please join our Discord server