125 lines
3.5 KiB
JSON
125 lines
3.5 KiB
JSON
{
|
|
"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"
|
|
]
|
|
}
|
|
}
|