@posthog/mcp 0.11.6 → 0.12.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/README.md +29 -0
- package/dist/extensions/analytics-parameters.d.ts +22 -2
- package/dist/extensions/analytics-parameters.d.ts.map +1 -1
- package/dist/extensions/analytics-parameters.js +39 -0
- package/dist/extensions/analytics-parameters.mjs +37 -1
- package/dist/extensions/capture.d.ts.map +1 -1
- package/dist/extensions/capture.js +2 -0
- package/dist/extensions/capture.mjs +2 -0
- package/dist/extensions/constants.d.ts +3 -0
- package/dist/extensions/constants.d.ts.map +1 -1
- package/dist/extensions/constants.js +6 -0
- package/dist/extensions/constants.mjs +4 -1
- package/dist/extensions/context-parameters.d.ts +2 -2
- package/dist/extensions/context-parameters.d.ts.map +1 -1
- package/dist/extensions/context-parameters.js +1 -29
- package/dist/extensions/context-parameters.mjs +2 -30
- package/dist/extensions/conversation-id.d.ts.map +1 -1
- package/dist/extensions/conversation-id.js +3 -1
- package/dist/extensions/conversation-id.mjs +3 -1
- package/dist/extensions/instrument-highlevel.d.ts.map +1 -1
- package/dist/extensions/instrument-highlevel.js +4 -1
- package/dist/extensions/instrument-highlevel.mjs +5 -2
- package/dist/extensions/instrument-lowlevel.d.ts.map +1 -1
- package/dist/extensions/instrument-lowlevel.js +1 -0
- package/dist/extensions/instrument-lowlevel.mjs +2 -1
- package/dist/extensions/instrumentation.d.ts +16 -0
- package/dist/extensions/instrumentation.d.ts.map +1 -1
- package/dist/extensions/instrumentation.js +15 -2
- package/dist/extensions/instrumentation.mjs +11 -1
- package/dist/extensions/model-parameters.d.ts +48 -0
- package/dist/extensions/model-parameters.d.ts.map +1 -0
- package/dist/extensions/model-parameters.js +77 -0
- package/dist/extensions/model-parameters.mjs +28 -0
- package/dist/extensions/output-instructions.d.ts +0 -1
- package/dist/extensions/output-instructions.d.ts.map +1 -1
- package/dist/extensions/output-instructions.js +3 -8
- package/dist/extensions/output-instructions.mjs +3 -8
- package/dist/extensions/posthog-events.js +2 -0
- package/dist/extensions/posthog-events.mjs +2 -0
- package/dist/extensions/truncation.d.ts.map +1 -1
- package/dist/extensions/truncation.js +1 -0
- package/dist/extensions/truncation.mjs +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +28 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.mjs +1 -1
- package/package.json +24 -7
- package/src/extensions/analytics-parameters.ts +88 -2
- package/src/extensions/capture.ts +4 -0
- package/src/extensions/constants.ts +4 -0
- package/src/extensions/context-parameters.ts +10 -59
- package/src/extensions/conversation-id.ts +4 -1
- package/src/extensions/instrument-highlevel.ts +4 -0
- package/src/extensions/instrument-lowlevel.ts +2 -0
- package/src/extensions/instrumentation.ts +51 -0
- package/src/extensions/model-parameters.ts +94 -0
- package/src/extensions/output-instructions.ts +3 -9
- package/src/extensions/posthog-events.ts +8 -0
- package/src/extensions/truncation.ts +3 -0
- package/src/index.ts +2 -0
- package/src/types.ts +29 -1
- package/src/version.ts +1 -1
package/src/types.ts
CHANGED
|
@@ -129,6 +129,20 @@ export interface MCPAnalyticsOptions {
|
|
|
129
129
|
enableExceptionAutocapture?: boolean
|
|
130
130
|
/** Inject a required `context` parameter on every tool to capture user intent. */
|
|
131
131
|
context?: boolean | MCPAnalyticsContextOptions
|
|
132
|
+
/**
|
|
133
|
+
* Inject a required `llm_model` parameter on every tool so the calling agent
|
|
134
|
+
* self-reports the model it runs as, captured as `$mcp_llm_model` with
|
|
135
|
+
* `$mcp_llm_model_source = "self_reported"`. Off by default.
|
|
136
|
+
*
|
|
137
|
+
* The MCP wire deliberately carries no model identity, so self-report is the
|
|
138
|
+
* only capture path — harnesses inject the model id into the agent's system
|
|
139
|
+
* prompt, and agents restate it accurately. Like `clientInfo` in the MCP
|
|
140
|
+
* spec, the value is unverified: use it for per-model quality analytics, not
|
|
141
|
+
* billing or security. An honest `"unknown"` from the agent is dropped
|
|
142
|
+
* rather than captured. Reasoning effort is intentionally not collected —
|
|
143
|
+
* agents don't reliably know it, so it would only ever be noise.
|
|
144
|
+
*/
|
|
145
|
+
captureModel?: boolean | MCPAnalyticsModelOptions
|
|
132
146
|
/**
|
|
133
147
|
* Identify the calling user. Returning a non-null value sets `distinct_id` and `$set`
|
|
134
148
|
* on subsequent events for the session. Object form is treated as a static identity.
|
|
@@ -172,8 +186,13 @@ export interface MCPAnalyticsContextOptions {
|
|
|
172
186
|
description?: string
|
|
173
187
|
}
|
|
174
188
|
|
|
189
|
+
export interface MCPAnalyticsModelOptions {
|
|
190
|
+
description?: string
|
|
191
|
+
}
|
|
192
|
+
|
|
175
193
|
export type MaybePromise<T> = T | Promise<T>
|
|
176
194
|
export type MCPAnalyticsIntentSource = 'context_parameter' | 'inferred'
|
|
195
|
+
export type MCPAnalyticsModelSource = 'self_reported'
|
|
177
196
|
|
|
178
197
|
export type ToolCallback =
|
|
179
198
|
| ((
|
|
@@ -225,6 +244,14 @@ export interface Event {
|
|
|
225
244
|
eventId?: string
|
|
226
245
|
eventType: MCPAnalyticsEventType
|
|
227
246
|
groups?: Record<string, string>
|
|
247
|
+
/**
|
|
248
|
+
* The calling agent's self-reported model id → `$mcp_llm_model`. Read off
|
|
249
|
+
* the SDK-injected `llm_model` argument (`captureModel` option); unverified
|
|
250
|
+
* by design, like the MCP spec's own `clientInfo`.
|
|
251
|
+
*/
|
|
252
|
+
llmModel?: string
|
|
253
|
+
/** How the model id was obtained → `$mcp_llm_model_source`. Always `self_reported` today. */
|
|
254
|
+
llmModelSource?: MCPAnalyticsModelSource
|
|
228
255
|
/**
|
|
229
256
|
* Explicit PostHog event name. When set (via `capture(server, { event })`) it
|
|
230
257
|
* overrides the built-in name derived from `eventType`, so callers can emit any
|
|
@@ -380,6 +407,7 @@ export interface SessionInfo {
|
|
|
380
407
|
export interface AnalyticsParameterOwnership {
|
|
381
408
|
context: boolean
|
|
382
409
|
conversationId: boolean
|
|
410
|
+
llmModel: boolean
|
|
383
411
|
/**
|
|
384
412
|
* True when we declared `_mcp_instructions` on this tool's advertised output
|
|
385
413
|
* schema, so writing that key into `structuredContent` will validate. False
|
|
@@ -458,7 +486,7 @@ export interface McpCaptureCommon {
|
|
|
458
486
|
groups?: Record<string, string>
|
|
459
487
|
/** Extra event properties, spread onto the PostHog event verbatim. */
|
|
460
488
|
properties?: JsonRecord
|
|
461
|
-
/** Event timestamp. Defaults to the time
|
|
489
|
+
/** Event timestamp. Defaults to the capture time. UTC is preferred; non-UTC input is converted to UTC. */
|
|
462
490
|
timestamp?: Date
|
|
463
491
|
}
|
|
464
492
|
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '0.
|
|
1
|
+
export const version = '0.12.0'
|