Implementation of MCP for LLM Observability capture to PostHig
Some checks failed
CI - Semantic Release / Semantic Release (push) Failing after 7m48s

This commit is contained in:
2025-07-13 20:42:19 -05:00
commit 05af3880f6
45 changed files with 16894 additions and 0 deletions

116
package.json Normal file
View File

@@ -0,0 +1,116 @@
{
"name": "@sfiorini/llm-observability-mcp",
"version": "0.1.0",
"description": "A Model Context Protocol (MCP) server that provides a tool to capture LLM Observability events and send them to PostHog.",
"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",
"update:deps": "npx npm-check-updates -u && npm install --legacy-peer-deps",
"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",
"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"
]
}
}