@posthog/mcp 0.4.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -28,6 +28,25 @@ import type { McpAnalytics, MCPAnalyticsOptions } from './types';
28
28
  * ```
29
29
  */
30
30
  declare function instrument(server: unknown, posthog: PostHog, options?: MCPAnalyticsOptions): McpAnalytics;
31
+ /**
32
+ * A point-free `(server) => server` helper for framework server-mutation hooks (e.g.
33
+ * `@rekog/mcp-nest`'s `serverMutator`). It instruments the server and returns it, so you
34
+ * don't trip over {@link instrument} returning the analytics handle rather than the server —
35
+ * the bare `(s) => instrument(s, posthog)` would replace the server with the handle.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * McpModule.forRoot({ serverMutator: instrumentMutator(posthog) })
40
+ * ```
41
+ *
42
+ * Need the handle for custom events? Call {@link instrument} directly inside your own mutator
43
+ * and return the server. See https://posthog.com/docs/mcp-analytics/installation.
44
+ *
45
+ * @param posthog - A `posthog-node` client you construct and own.
46
+ * @param options - Optional configuration. See `MCPAnalyticsOptions`.
47
+ * @returns A `(server) => server` mutator that instruments the server and returns it.
48
+ */
49
+ declare function instrumentMutator<TServer>(posthog: PostHog, options?: MCPAnalyticsOptions): (server: TServer) => TServer;
31
50
  export { deriveSessionIdFromMCPSession };
32
51
  export { POSTHOG_MCP_ANALYTICS_SOURCE, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, } from './extensions/constants';
33
52
  export { PostHogMCP, type PostHogMCPOptions } from './extensions/posthog-mcp';
@@ -36,5 +55,5 @@ export { setLogger } from './extensions/logger';
36
55
  export { PostHog, type PostHogOptions } from 'posthog-node';
37
56
  export type { BeforeSendFn, CaptureEventData, InitializeCaptureData, McpAnalytics, McpCaptureCommon, MCPAnalyticsContextOptions, MCPAnalyticsIntentSource, MCPAnalyticsOptions, MissingCapabilityCaptureData, PreparedToolCall, PrepareToolListOptions, ToolCallCaptureData, ToolsListCaptureData, UserIdentity, } from './types';
38
57
  export type IdentifyFunction = MCPAnalyticsOptions['identify'];
39
- export { instrument };
58
+ export { instrument, instrumentMutator };
40
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAO3C,OAAO,EAAE,6BAA6B,EAAgC,MAAM,sBAAsB,CAAA;AAGlG,OAAO,KAAK,EAGV,YAAY,EAEZ,mBAAmB,EAGpB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CA6BtG;AAmFD,OAAO,EAAE,6BAA6B,EAAE,CAAA;AACxC,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,GACb,MAAM,SAAS,CAAA;AAChB,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAO3C,OAAO,EAAE,6BAA6B,EAAgC,MAAM,sBAAsB,CAAA;AAGlG,OAAO,KAAK,EAGV,YAAY,EAEZ,mBAAmB,EAGpB,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CA6BtG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAKjH;AAmFD,OAAO,EAAE,6BAA6B,EAAE,CAAA;AACxC,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAI/C,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,GACb,MAAM,SAAS,CAAA;AAChB,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAA"}
package/dist/index.js CHANGED
@@ -29,6 +29,7 @@ __webpack_require__.d(__webpack_exports__, {
29
29
  deriveSessionIdFromMCPSession: ()=>session_js_namespaceObject.deriveSessionIdFromMCPSession,
30
30
  POSTHOG_MCP_ANALYTICS_SOURCE: ()=>constants_js_namespaceObject.POSTHOG_MCP_ANALYTICS_SOURCE,
31
31
  instrument: ()=>instrument,
32
+ instrumentMutator: ()=>instrumentMutator,
32
33
  setLogger: ()=>logger_js_namespaceObject.setLogger,
33
34
  PostHogMCPAnalyticsEvent: ()=>constants_js_namespaceObject.PostHogMCPAnalyticsEvent,
34
35
  getMoreToolsResult: ()=>tools_js_namespaceObject.getMoreToolsResult,
@@ -69,6 +70,12 @@ function instrument(server, posthog, options = {}) {
69
70
  };
70
71
  }
71
72
  }
73
+ function instrumentMutator(posthog, options) {
74
+ return (server)=>{
75
+ instrument(server, posthog, options);
76
+ return server;
77
+ };
78
+ }
72
79
  function createAnalyticsHandle(lowLevelServer) {
73
80
  return {
74
81
  capture: (eventData)=>captureCustomEvent(lowLevelServer, eventData)
@@ -131,6 +138,7 @@ exports.PostHogMCPAnalyticsProperty = __webpack_exports__.PostHogMCPAnalyticsPro
131
138
  exports.deriveSessionIdFromMCPSession = __webpack_exports__.deriveSessionIdFromMCPSession;
132
139
  exports.getMoreToolsResult = __webpack_exports__.getMoreToolsResult;
133
140
  exports.instrument = __webpack_exports__.instrument;
141
+ exports.instrumentMutator = __webpack_exports__.instrumentMutator;
134
142
  exports.setLogger = __webpack_exports__.setLogger;
135
143
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
136
144
  "POSTHOG_MCP_ANALYTICS_SOURCE",
@@ -141,6 +149,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
141
149
  "deriveSessionIdFromMCPSession",
142
150
  "getMoreToolsResult",
143
151
  "instrument",
152
+ "instrumentMutator",
144
153
  "setLogger"
145
154
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
146
155
  Object.defineProperty(exports, '__esModule', {
package/dist/index.mjs CHANGED
@@ -33,6 +33,12 @@ function instrument(server, posthog, options = {}) {
33
33
  };
34
34
  }
35
35
  }
36
+ function instrumentMutator(posthog, options) {
37
+ return (server)=>{
38
+ instrument(server, posthog, options);
39
+ return server;
40
+ };
41
+ }
36
42
  function createAnalyticsHandle(lowLevelServer) {
37
43
  return {
38
44
  capture: (eventData)=>captureCustomEvent(lowLevelServer, eventData)
@@ -87,4 +93,4 @@ async function captureCustomEvent(lowLevelServer, eventData) {
87
93
  await captureEvent(lowLevelServer, event);
88
94
  log(`Captured event "${eventData.event}" for session ${trackingData.sessionId}`);
89
95
  }
90
- export { POSTHOG_MCP_ANALYTICS_SOURCE, PostHog, PostHogMCP, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, deriveSessionIdFromMCPSession, getMoreToolsResult, instrument, setLogger };
96
+ export { POSTHOG_MCP_ANALYTICS_SOURCE, PostHog, PostHogMCP, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, deriveSessionIdFromMCPSession, getMoreToolsResult, instrument, instrumentMutator, setLogger };
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "0.4.4";
1
+ export declare const version = "0.5.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -26,7 +26,7 @@ __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
27
  version: ()=>version
28
28
  });
29
- const version = '0.4.4';
29
+ const version = '0.5.0';
30
30
  exports.version = __webpack_exports__.version;
31
31
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
32
32
  "version"
package/dist/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- const version = '0.4.4';
1
+ const version = '0.5.0';
2
2
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/mcp",
3
- "version": "0.4.4",
3
+ "version": "0.5.0",
4
4
  "bugs": {
5
5
  "url": "https://github.com/PostHog/posthog-js/issues"
6
6
  },
package/src/index.ts CHANGED
@@ -79,6 +79,31 @@ function instrument(server: unknown, posthog: PostHog, options: MCPAnalyticsOpti
79
79
  }
80
80
  }
81
81
 
82
+ /**
83
+ * A point-free `(server) => server` helper for framework server-mutation hooks (e.g.
84
+ * `@rekog/mcp-nest`'s `serverMutator`). It instruments the server and returns it, so you
85
+ * don't trip over {@link instrument} returning the analytics handle rather than the server —
86
+ * the bare `(s) => instrument(s, posthog)` would replace the server with the handle.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * McpModule.forRoot({ serverMutator: instrumentMutator(posthog) })
91
+ * ```
92
+ *
93
+ * Need the handle for custom events? Call {@link instrument} directly inside your own mutator
94
+ * and return the server. See https://posthog.com/docs/mcp-analytics/installation.
95
+ *
96
+ * @param posthog - A `posthog-node` client you construct and own.
97
+ * @param options - Optional configuration. See `MCPAnalyticsOptions`.
98
+ * @returns A `(server) => server` mutator that instruments the server and returns it.
99
+ */
100
+ function instrumentMutator<TServer>(posthog: PostHog, options?: MCPAnalyticsOptions): (server: TServer) => TServer {
101
+ return (server: TServer): TServer => {
102
+ instrument(server, posthog, options)
103
+ return server
104
+ }
105
+ }
106
+
82
107
  function createAnalyticsHandle(lowLevelServer: MCPServerLike): McpAnalytics {
83
108
  return {
84
109
  capture: (eventData) => captureCustomEvent(lowLevelServer, eventData),
@@ -190,4 +215,4 @@ export type {
190
215
  UserIdentity,
191
216
  } from './types'
192
217
  export type IdentifyFunction = MCPAnalyticsOptions['identify']
193
- export { instrument }
218
+ export { instrument, instrumentMutator }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.4.4'
1
+ export const version = '0.5.0'