{ "name": "@sfiorini/llm-observability-mcp", "version": "0.1.0", "description": "A Model Context Protocol (MCP) server that provides comprehensive LLM observability tools supporting both PostHog and OpenTelemetry backends.", "main": "dist/index.js", "types": "dist/index.d.ts", "type": "commonjs", "repository": { "type": "git", "url": "https://git.fiorinis.com/Home/llm-observability-mcp.git" }, "bin": { "mcp-server": "./dist/index.js" }, "scripts": { "build": "tsc", "prepare": "npm run build && node scripts/ensure-executable.js", "postinstall": "node scripts/ensure-executable.js", "clean": "rm -rf dist coverage", "test": "jest", "test:coverage": "jest --coverage", "lint": "eslint src --ext .ts --config eslint.config.mjs", "format": "prettier --write 'src/**/*.ts' 'scripts/**/*.js'", "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", "dev:stdio": "npm run build && npx @modelcontextprotocol/inspector -e TRANSPORT_MODE=stdio -e DEBUG=true node dist/index.js", "dev:http": "DEBUG=true TRANSPORT_MODE=http npm run build && node dist/index.js" }, "keywords": [ "mcp", "model-context-protocol", "typescript", "claude", "anthropic", "ai", "llm", "llm-observability", "server", "stdio", "http", "streamable", "cli", "mcp-server" ], "author": "Stefano Fiorini", "license": "MIT", "engines": { "node": ">=18.0.0" }, "devDependencies": { "@eslint/js": "^9.31.0", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^11.0.3", "@semantic-release/npm": "^12.0.2", "@types/cors": "^2.8.19", "@types/express": "^5.0.3", "@types/jest": "^30.0.0", "@types/node": "^24.0.13", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^8.36.0", "@typescript-eslint/parser": "^8.36.0", "eslint": "^9.31.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-prettier": "^5.5.1", "jest": "^30.0.4", "prettier": "^3.6.2", "semantic-release": "^24.2.7", "ts-jest": "^29.4.0", "typescript": "^5.8.3", "typescript-eslint": "^8.36.0" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.15.1", "@opentelemetry/api": "^1.9.0", "@opentelemetry/exporter-otlp-grpc": "^0.26.0", "@opentelemetry/exporter-otlp-http": "^0.26.0", "@opentelemetry/instrumentation": "^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", "commander": "^14.0.0", "cors": "^2.8.5", "dotenv": "^17.2.0", "express": "^5.1.0", "posthog-node": "^5.5.0", "uuid": "^11.1.0", "zod": "^3.25.67" }, "publishConfig": { "registry": "https://registry.npmjs.org/", "access": "public" }, "jest": { "preset": "ts-jest", "testEnvironment": "node", "testMatch": [ "**/src/**/*.test.ts" ], "collectCoverageFrom": [ "src/**/*.ts", "!src/**/*.test.ts" ], "transform": { "^.+\\.tsx?$": [ "ts-jest", { "useESM": true } ] }, "moduleNameMapper": { "(.*)\\.(js|jsx)$": "$1" }, "extensionsToTreatAsEsm": [ ".ts" ] } }