@posthog/mcp 0.3.0 → 0.4.1
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/extensions/conversation-id.d.ts +2 -2
- package/dist/extensions/conversation-id.d.ts.map +1 -1
- package/dist/extensions/conversation-id.js +4 -4
- package/dist/extensions/conversation-id.mjs +4 -4
- package/dist/extensions/instrument-highlevel.d.ts.map +1 -1
- package/dist/extensions/instrument-highlevel.js +4 -3
- package/dist/extensions/instrument-highlevel.mjs +5 -4
- package/dist/extensions/instrument-lowlevel.js +1 -1
- package/dist/extensions/instrument-lowlevel.mjs +2 -2
- package/dist/extensions/instrumentation.d.ts.map +1 -1
- package/dist/extensions/instrumentation.js +5 -4
- package/dist/extensions/instrumentation.mjs +6 -5
- package/dist/extensions/posthog-mcp.d.ts +80 -2
- package/dist/extensions/posthog-mcp.d.ts.map +1 -1
- package/dist/extensions/posthog-mcp.js +57 -3
- package/dist/extensions/posthog-mcp.mjs +57 -3
- package/dist/extensions/sanitization.d.ts +3 -1
- package/dist/extensions/sanitization.d.ts.map +1 -1
- package/dist/extensions/sanitization.js +1 -0
- package/dist/extensions/sanitization.mjs +1 -0
- package/dist/extensions/tools.d.ts +16 -1
- package/dist/extensions/tools.d.ts.map +1 -1
- package/dist/extensions/tools.js +18 -6
- package/dist/extensions/tools.mjs +11 -5
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.mjs +3 -1
- package/dist/types.d.ts +78 -0
- 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 +3 -3
- package/src/extensions/conversation-id.ts +8 -4
- package/src/extensions/instrument-highlevel.ts +7 -4
- package/src/extensions/instrument-lowlevel.ts +2 -2
- package/src/extensions/instrumentation.ts +7 -5
- package/src/extensions/posthog-mcp.ts +168 -2
- package/src/extensions/sanitization.ts +10 -1
- package/src/extensions/tools.ts +23 -5
- package/src/index.ts +11 -1
- package/src/types.ts +82 -0
- package/src/version.ts +1 -1
package/dist/extensions/tools.js
CHANGED
|
@@ -26,13 +26,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
27
|
getReportMissingToolDescriptor: ()=>getReportMissingToolDescriptor,
|
|
28
28
|
GET_MORE_TOOLS_NAME: ()=>GET_MORE_TOOLS_NAME,
|
|
29
|
-
handleReportMissing: ()=>handleReportMissing
|
|
29
|
+
handleReportMissing: ()=>handleReportMissing,
|
|
30
|
+
resolveMissingCapabilityToolName: ()=>resolveMissingCapabilityToolName,
|
|
31
|
+
getMoreToolsResult: ()=>getMoreToolsResult
|
|
30
32
|
});
|
|
31
33
|
const external_logger_js_namespaceObject = require("./logger.js");
|
|
32
34
|
const GET_MORE_TOOLS_NAME = 'get_more_tools';
|
|
33
|
-
function
|
|
35
|
+
function resolveMissingCapabilityToolName(options) {
|
|
36
|
+
return options?.missingCapabilityToolName ?? GET_MORE_TOOLS_NAME;
|
|
37
|
+
}
|
|
38
|
+
function getReportMissingToolDescriptor(name = GET_MORE_TOOLS_NAME) {
|
|
34
39
|
return {
|
|
35
|
-
name
|
|
40
|
+
name,
|
|
36
41
|
description: 'Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.',
|
|
37
42
|
inputSchema: {
|
|
38
43
|
type: 'object',
|
|
@@ -55,8 +60,7 @@ function getReportMissingToolDescriptor() {
|
|
|
55
60
|
}
|
|
56
61
|
};
|
|
57
62
|
}
|
|
58
|
-
function
|
|
59
|
-
(0, external_logger_js_namespaceObject.log)(`Missing tool reported: ${JSON.stringify(args)}`);
|
|
63
|
+
function getMoreToolsResult() {
|
|
60
64
|
return {
|
|
61
65
|
content: [
|
|
62
66
|
{
|
|
@@ -66,13 +70,21 @@ function handleReportMissing(args) {
|
|
|
66
70
|
]
|
|
67
71
|
};
|
|
68
72
|
}
|
|
73
|
+
function handleReportMissing(args) {
|
|
74
|
+
(0, external_logger_js_namespaceObject.log)(`Missing tool reported: ${JSON.stringify(args)}`);
|
|
75
|
+
return getMoreToolsResult();
|
|
76
|
+
}
|
|
69
77
|
exports.GET_MORE_TOOLS_NAME = __webpack_exports__.GET_MORE_TOOLS_NAME;
|
|
78
|
+
exports.getMoreToolsResult = __webpack_exports__.getMoreToolsResult;
|
|
70
79
|
exports.getReportMissingToolDescriptor = __webpack_exports__.getReportMissingToolDescriptor;
|
|
71
80
|
exports.handleReportMissing = __webpack_exports__.handleReportMissing;
|
|
81
|
+
exports.resolveMissingCapabilityToolName = __webpack_exports__.resolveMissingCapabilityToolName;
|
|
72
82
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
73
83
|
"GET_MORE_TOOLS_NAME",
|
|
84
|
+
"getMoreToolsResult",
|
|
74
85
|
"getReportMissingToolDescriptor",
|
|
75
|
-
"handleReportMissing"
|
|
86
|
+
"handleReportMissing",
|
|
87
|
+
"resolveMissingCapabilityToolName"
|
|
76
88
|
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
77
89
|
Object.defineProperty(exports, '__esModule', {
|
|
78
90
|
value: true
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { log } from "./logger.mjs";
|
|
2
2
|
const GET_MORE_TOOLS_NAME = 'get_more_tools';
|
|
3
|
-
function
|
|
3
|
+
function resolveMissingCapabilityToolName(options) {
|
|
4
|
+
return options?.missingCapabilityToolName ?? GET_MORE_TOOLS_NAME;
|
|
5
|
+
}
|
|
6
|
+
function getReportMissingToolDescriptor(name = GET_MORE_TOOLS_NAME) {
|
|
4
7
|
return {
|
|
5
|
-
name
|
|
8
|
+
name,
|
|
6
9
|
description: 'Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.',
|
|
7
10
|
inputSchema: {
|
|
8
11
|
type: 'object',
|
|
@@ -25,8 +28,7 @@ function getReportMissingToolDescriptor() {
|
|
|
25
28
|
}
|
|
26
29
|
};
|
|
27
30
|
}
|
|
28
|
-
function
|
|
29
|
-
log(`Missing tool reported: ${JSON.stringify(args)}`);
|
|
31
|
+
function getMoreToolsResult() {
|
|
30
32
|
return {
|
|
31
33
|
content: [
|
|
32
34
|
{
|
|
@@ -36,4 +38,8 @@ function handleReportMissing(args) {
|
|
|
36
38
|
]
|
|
37
39
|
};
|
|
38
40
|
}
|
|
39
|
-
|
|
41
|
+
function handleReportMissing(args) {
|
|
42
|
+
log(`Missing tool reported: ${JSON.stringify(args)}`);
|
|
43
|
+
return getMoreToolsResult();
|
|
44
|
+
}
|
|
45
|
+
export { GET_MORE_TOOLS_NAME, getMoreToolsResult, getReportMissingToolDescriptor, handleReportMissing, resolveMissingCapabilityToolName };
|
package/dist/index.d.ts
CHANGED
|
@@ -30,8 +30,11 @@ import type { McpAnalytics, MCPAnalyticsOptions } from './types';
|
|
|
30
30
|
declare function instrument(server: unknown, posthog: PostHog, options?: MCPAnalyticsOptions): McpAnalytics;
|
|
31
31
|
export { deriveSessionIdFromMCPSession };
|
|
32
32
|
export { POSTHOG_MCP_ANALYTICS_SOURCE, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, } from './extensions/constants';
|
|
33
|
-
export { PostHogMCP } from './extensions/posthog-mcp';
|
|
34
|
-
export
|
|
33
|
+
export { PostHogMCP, type PostHogMCPOptions } from './extensions/posthog-mcp';
|
|
34
|
+
export { getMoreToolsResult } from './extensions/tools';
|
|
35
|
+
export { setLogger } from './extensions/logger';
|
|
36
|
+
export { PostHog, type PostHogOptions } from 'posthog-node';
|
|
37
|
+
export type { BeforeSendFn, CaptureEventData, InitializeCaptureData, McpAnalytics, McpCaptureCommon, MCPAnalyticsContextOptions, MCPAnalyticsIntentSource, MCPAnalyticsOptions, MissingCapabilityCaptureData, PreparedToolCall, PrepareToolListOptions, ToolCallCaptureData, ToolsListCaptureData, UserIdentity, } from './types';
|
|
35
38
|
export type IdentifyFunction = MCPAnalyticsOptions['identify'];
|
|
36
39
|
export { instrument };
|
|
37
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,MAAM,0BAA0B,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;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"}
|
package/dist/index.js
CHANGED
|
@@ -24,11 +24,14 @@ var __webpack_require__ = {};
|
|
|
24
24
|
var __webpack_exports__ = {};
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
|
|
28
|
-
instrument: ()=>instrument,
|
|
27
|
+
PostHog: ()=>external_posthog_node_namespaceObject.PostHog,
|
|
29
28
|
PostHogMCP: ()=>posthog_mcp_js_namespaceObject.PostHogMCP,
|
|
29
|
+
deriveSessionIdFromMCPSession: ()=>session_js_namespaceObject.deriveSessionIdFromMCPSession,
|
|
30
30
|
POSTHOG_MCP_ANALYTICS_SOURCE: ()=>constants_js_namespaceObject.POSTHOG_MCP_ANALYTICS_SOURCE,
|
|
31
|
+
instrument: ()=>instrument,
|
|
32
|
+
setLogger: ()=>logger_js_namespaceObject.setLogger,
|
|
31
33
|
PostHogMCPAnalyticsEvent: ()=>constants_js_namespaceObject.PostHogMCPAnalyticsEvent,
|
|
34
|
+
getMoreToolsResult: ()=>tools_js_namespaceObject.getMoreToolsResult,
|
|
32
35
|
PostHogMCPAnalyticsProperty: ()=>constants_js_namespaceObject.PostHogMCPAnalyticsProperty
|
|
33
36
|
});
|
|
34
37
|
const compatibility_js_namespaceObject = require("./extensions/compatibility.js");
|
|
@@ -42,6 +45,8 @@ const instrument_lowlevel_js_namespaceObject = require("./extensions/instrument-
|
|
|
42
45
|
const instrument_highlevel_js_namespaceObject = require("./extensions/instrument-highlevel.js");
|
|
43
46
|
const constants_js_namespaceObject = require("./extensions/constants.js");
|
|
44
47
|
const posthog_mcp_js_namespaceObject = require("./extensions/posthog-mcp.js");
|
|
48
|
+
const tools_js_namespaceObject = require("./extensions/tools.js");
|
|
49
|
+
const external_posthog_node_namespaceObject = require("posthog-node");
|
|
45
50
|
function instrument(server, posthog, options = {}) {
|
|
46
51
|
try {
|
|
47
52
|
if (options.logger) (0, logger_js_namespaceObject.setLogger)(options.logger);
|
|
@@ -119,18 +124,24 @@ async function captureCustomEvent(lowLevelServer, eventData) {
|
|
|
119
124
|
(0, logger_js_namespaceObject.log)(`Captured event "${eventData.event}" for session ${trackingData.sessionId}`);
|
|
120
125
|
}
|
|
121
126
|
exports.POSTHOG_MCP_ANALYTICS_SOURCE = __webpack_exports__.POSTHOG_MCP_ANALYTICS_SOURCE;
|
|
127
|
+
exports.PostHog = __webpack_exports__.PostHog;
|
|
122
128
|
exports.PostHogMCP = __webpack_exports__.PostHogMCP;
|
|
123
129
|
exports.PostHogMCPAnalyticsEvent = __webpack_exports__.PostHogMCPAnalyticsEvent;
|
|
124
130
|
exports.PostHogMCPAnalyticsProperty = __webpack_exports__.PostHogMCPAnalyticsProperty;
|
|
125
131
|
exports.deriveSessionIdFromMCPSession = __webpack_exports__.deriveSessionIdFromMCPSession;
|
|
132
|
+
exports.getMoreToolsResult = __webpack_exports__.getMoreToolsResult;
|
|
126
133
|
exports.instrument = __webpack_exports__.instrument;
|
|
134
|
+
exports.setLogger = __webpack_exports__.setLogger;
|
|
127
135
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
128
136
|
"POSTHOG_MCP_ANALYTICS_SOURCE",
|
|
137
|
+
"PostHog",
|
|
129
138
|
"PostHogMCP",
|
|
130
139
|
"PostHogMCPAnalyticsEvent",
|
|
131
140
|
"PostHogMCPAnalyticsProperty",
|
|
132
141
|
"deriveSessionIdFromMCPSession",
|
|
133
|
-
"
|
|
142
|
+
"getMoreToolsResult",
|
|
143
|
+
"instrument",
|
|
144
|
+
"setLogger"
|
|
134
145
|
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
135
146
|
Object.defineProperty(exports, '__esModule', {
|
|
136
147
|
value: true
|
package/dist/index.mjs
CHANGED
|
@@ -9,6 +9,8 @@ import { instrumentLowLevelServer } from "./extensions/instrument-lowlevel.mjs";
|
|
|
9
9
|
import { instrumentHighLevelServer } from "./extensions/instrument-highlevel.mjs";
|
|
10
10
|
import { POSTHOG_MCP_ANALYTICS_SOURCE, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty } from "./extensions/constants.mjs";
|
|
11
11
|
import { PostHogMCP } from "./extensions/posthog-mcp.mjs";
|
|
12
|
+
import { getMoreToolsResult } from "./extensions/tools.mjs";
|
|
13
|
+
import { PostHog } from "posthog-node";
|
|
12
14
|
function instrument(server, posthog, options = {}) {
|
|
13
15
|
try {
|
|
14
16
|
if (options.logger) setLogger(options.logger);
|
|
@@ -85,4 +87,4 @@ async function captureCustomEvent(lowLevelServer, eventData) {
|
|
|
85
87
|
await captureEvent(lowLevelServer, event);
|
|
86
88
|
log(`Captured event "${eventData.event}" for session ${trackingData.sessionId}`);
|
|
87
89
|
}
|
|
88
|
-
export { POSTHOG_MCP_ANALYTICS_SOURCE, PostHogMCP, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, deriveSessionIdFromMCPSession, instrument };
|
|
90
|
+
export { POSTHOG_MCP_ANALYTICS_SOURCE, PostHog, PostHogMCP, PostHogMCPAnalyticsEvent, PostHogMCPAnalyticsProperty, deriveSessionIdFromMCPSession, getMoreToolsResult, instrument, setLogger };
|
package/dist/types.d.ts
CHANGED
|
@@ -40,6 +40,12 @@ export interface MCPAnalyticsOptions {
|
|
|
40
40
|
logger?: LoggerFn;
|
|
41
41
|
/** Enable the `get_more_tools` virtual tool so agents can report missing functionality. */
|
|
42
42
|
reportMissing?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Rename the `get_more_tools` virtual tool (the `reportMissing` feature).
|
|
45
|
+
* Defaults to `get_more_tools`. Set once here so the tool is advertised and
|
|
46
|
+
* detected under the same name.
|
|
47
|
+
*/
|
|
48
|
+
missingCapabilityToolName?: string;
|
|
43
49
|
/** Enables the `conversation_id` tool parameter + prompt-back loop. */
|
|
44
50
|
enableConversationId?: boolean;
|
|
45
51
|
/**
|
|
@@ -252,6 +258,19 @@ export interface ToolCallCaptureData extends McpCaptureCommon {
|
|
|
252
258
|
toolDescription?: string;
|
|
253
259
|
/** Product category the tool belongs to (e.g. "Logs") → `$mcp_tool_category`. */
|
|
254
260
|
category?: string;
|
|
261
|
+
/**
|
|
262
|
+
* The agent's stated intent for this call → `$mcp_intent`. On the custom
|
|
263
|
+
* dispatcher path, read it off the incoming call with
|
|
264
|
+
* {@link PostHogMCP.prepareToolCall} (which pulls the injected `context`
|
|
265
|
+
* argument). Omitted when no intent was captured.
|
|
266
|
+
*/
|
|
267
|
+
intent?: string;
|
|
268
|
+
/**
|
|
269
|
+
* Where {@link ToolCallCaptureData.intent} came from → `$mcp_intent_source`.
|
|
270
|
+
* `context_parameter` when the client supplied it on the call, `inferred` when
|
|
271
|
+
* the host derived it. Defaults to `context_parameter` when an intent is set.
|
|
272
|
+
*/
|
|
273
|
+
intentSource?: MCPAnalyticsIntentSource;
|
|
255
274
|
/** Captured call arguments → `$mcp_parameters` (sanitized + truncated). */
|
|
256
275
|
parameters?: unknown;
|
|
257
276
|
/** Captured tool result → `$mcp_response` (sanitized + truncated). */
|
|
@@ -281,4 +300,63 @@ export interface InitializeCaptureData extends McpCaptureCommon {
|
|
|
281
300
|
/** Wall-clock duration → `$mcp_duration_ms`. */
|
|
282
301
|
durationMs?: number;
|
|
283
302
|
}
|
|
303
|
+
/** Payload for {@link PostHogMCP.captureToolsList}. Emits `$mcp_tools_list`. */
|
|
304
|
+
export interface ToolsListCaptureData extends McpCaptureCommon {
|
|
305
|
+
/**
|
|
306
|
+
* Names of the tools advertised in this `tools/list` response →
|
|
307
|
+
* `$mcp_listed_tool_names`. Powers "advertised but never called" analysis.
|
|
308
|
+
*/
|
|
309
|
+
toolNames?: string[];
|
|
310
|
+
/** Captured request params → `$mcp_parameters` (sanitized + truncated). */
|
|
311
|
+
parameters?: unknown;
|
|
312
|
+
/** Captured listing result → `$mcp_response` (sanitized + truncated). */
|
|
313
|
+
response?: unknown;
|
|
314
|
+
/** Wall-clock duration → `$mcp_duration_ms`. */
|
|
315
|
+
durationMs?: number;
|
|
316
|
+
/** Whether building the listing failed → `$mcp_is_error`. */
|
|
317
|
+
isError?: boolean;
|
|
318
|
+
/** The thrown value when `isError` is true → fans out an `$exception` sibling. */
|
|
319
|
+
error?: unknown;
|
|
320
|
+
}
|
|
321
|
+
/** Options for {@link PostHogMCP.prepareToolList}. */
|
|
322
|
+
export interface PrepareToolListOptions {
|
|
323
|
+
/**
|
|
324
|
+
* Inject the `context` argument into every tool so agents state their intent
|
|
325
|
+
* (captured as `$mcp_intent`). `true` (default) uses the standard prompt;
|
|
326
|
+
* pass `{ description }` to customize it, or `false` to skip injection.
|
|
327
|
+
*/
|
|
328
|
+
context?: boolean | MCPAnalyticsContextOptions;
|
|
329
|
+
/**
|
|
330
|
+
* Append the `get_more_tools` virtual tool so agents can report a missing
|
|
331
|
+
* capability. Defaults to `false`. When the agent calls it, route the call to
|
|
332
|
+
* {@link PostHogMCP.captureMissingCapability} and reply with `getMoreToolsResult()`.
|
|
333
|
+
*/
|
|
334
|
+
reportMissing?: boolean;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Result of {@link PostHogMCP.prepareToolCall}: the intent pulled off the
|
|
338
|
+
* incoming call, the arguments with the injected `context` removed (so your tool
|
|
339
|
+
* handler and its schema validation never see it), and whether the call targeted
|
|
340
|
+
* the `get_more_tools` virtual tool.
|
|
341
|
+
*/
|
|
342
|
+
export interface PreparedToolCall {
|
|
343
|
+
/** The agent's stated intent (the `context` argument), if present. */
|
|
344
|
+
intent?: string;
|
|
345
|
+
/** Where the intent came from. Always `context_parameter` here when set. */
|
|
346
|
+
intentSource?: MCPAnalyticsIntentSource;
|
|
347
|
+
/** The call arguments with the injected `context` key stripped out. */
|
|
348
|
+
args?: Record<string, unknown>;
|
|
349
|
+
/** True when `name` is the `get_more_tools` virtual tool. */
|
|
350
|
+
isMissingCapability: boolean;
|
|
351
|
+
}
|
|
352
|
+
/** Payload for {@link PostHogMCP.captureMissingCapability}. Emits `$mcp_missing_capability`. */
|
|
353
|
+
export interface MissingCapabilityCaptureData extends McpCaptureCommon {
|
|
354
|
+
/**
|
|
355
|
+
* The agent's description of the capability it wanted (the `context` argument
|
|
356
|
+
* on the `get_more_tools` call) → `$mcp_intent`.
|
|
357
|
+
*/
|
|
358
|
+
context?: string;
|
|
359
|
+
/** Captured call arguments → `$mcp_parameters` (sanitized + truncated). */
|
|
360
|
+
parameters?: unknown;
|
|
361
|
+
}
|
|
284
362
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.
|
|
1
|
+
export declare const version = "0.4.1";
|
|
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.
|
|
29
|
+
const version = '0.4.1';
|
|
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.
|
|
1
|
+
const version = '0.4.1';
|
|
2
2
|
export { version };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@posthog/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"bugs": {
|
|
5
5
|
"url": "https://github.com/PostHog/posthog-js/issues"
|
|
6
6
|
},
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"module": "dist/index.mjs",
|
|
29
29
|
"types": "dist/index.d.ts",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@posthog/core": "^1.
|
|
31
|
+
"@posthog/core": "^1.36.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@babel/preset-env": "^7.27.1",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"jest": "29.7.0",
|
|
41
41
|
"zod": "^3.25.0",
|
|
42
42
|
"@posthog-tooling/tsconfig-base": "1.1.1",
|
|
43
|
-
"posthog-node": "^5.38.
|
|
43
|
+
"posthog-node": "^5.38.2"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"@modelcontextprotocol/sdk": ">=1.26.0",
|
|
@@ -70,9 +70,12 @@ export function addConversationIdToTool<TTool extends ConversationIdInjectableTo
|
|
|
70
70
|
return modifiedTool
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
export function addConversationIdToTools<TTool extends ConversationIdInjectableTool>(
|
|
73
|
+
export function addConversationIdToTools<TTool extends ConversationIdInjectableTool>(
|
|
74
|
+
tools: TTool[],
|
|
75
|
+
missingCapabilityToolName: string = GET_MORE_TOOLS_NAME
|
|
76
|
+
): TTool[] {
|
|
74
77
|
return tools.map((tool) => {
|
|
75
|
-
if (tool.name ===
|
|
78
|
+
if (tool.name === missingCapabilityToolName) {
|
|
76
79
|
return tool
|
|
77
80
|
}
|
|
78
81
|
return addConversationIdToTool(tool)
|
|
@@ -92,9 +95,10 @@ export type ConversationIdResolution =
|
|
|
92
95
|
export function resolveConversationId(
|
|
93
96
|
enabled: boolean,
|
|
94
97
|
args: unknown,
|
|
95
|
-
toolName: string | undefined
|
|
98
|
+
toolName: string | undefined,
|
|
99
|
+
missingCapabilityToolName: string = GET_MORE_TOOLS_NAME
|
|
96
100
|
): ConversationIdResolution {
|
|
97
|
-
if (!enabled || toolName ===
|
|
101
|
+
if (!enabled || toolName === missingCapabilityToolName) {
|
|
98
102
|
return { minted: false, conversationId: undefined }
|
|
99
103
|
}
|
|
100
104
|
const supplied = extractConversationId(args)
|
|
@@ -9,7 +9,7 @@ import { MCPAnalyticsEventType } from './event-types'
|
|
|
9
9
|
import { getServerTrackingData } from './internal'
|
|
10
10
|
import { log } from './logger'
|
|
11
11
|
import { createWrappedTool, getLiteralValue, getObjectShape, getToolFunction, hasToolFunction } from './mcp-sdk-compat'
|
|
12
|
-
import {
|
|
12
|
+
import { handleReportMissing, resolveMissingCapabilityToolName } from './tools'
|
|
13
13
|
import {
|
|
14
14
|
instrumentInitializeHandler,
|
|
15
15
|
instrumentToolsListHandler,
|
|
@@ -135,9 +135,12 @@ function setupListenerToRegisteredTools(server: HighLevelMCPServerLike): void {
|
|
|
135
135
|
function addTracingToToolCallbackInternal(
|
|
136
136
|
tool: RegisteredTool,
|
|
137
137
|
toolName: string,
|
|
138
|
-
|
|
138
|
+
server: HighLevelMCPServerLike
|
|
139
139
|
): RegisteredTool {
|
|
140
140
|
const originalCallback = getToolFunction(tool)
|
|
141
|
+
const missingToolName = resolveMissingCapabilityToolName(
|
|
142
|
+
getServerTrackingData(server.server as MCPServerLike)?.options
|
|
143
|
+
)
|
|
141
144
|
|
|
142
145
|
if (wrappedCallbacks.has(originalCallback)) {
|
|
143
146
|
log(`Tool ${toolName} callback already wrapped, skipping re-wrap`)
|
|
@@ -169,7 +172,7 @@ function addTracingToToolCallbackInternal(
|
|
|
169
172
|
return input
|
|
170
173
|
}
|
|
171
174
|
|
|
172
|
-
const cleanedArgs = toolName ===
|
|
175
|
+
const cleanedArgs = toolName === missingToolName ? args : stripConversationId(removeContextFromArgs(args))
|
|
173
176
|
|
|
174
177
|
try {
|
|
175
178
|
if (cleanedArgs === undefined) {
|
|
@@ -242,7 +245,7 @@ async function handleWrappedToolsCall(
|
|
|
242
245
|
return await originalHandler(request, extra)
|
|
243
246
|
}
|
|
244
247
|
|
|
245
|
-
if (request.params?.name ===
|
|
248
|
+
if (request.params?.name === resolveMissingCapabilityToolName(data.options)) {
|
|
246
249
|
const context = getContextArgument(request) || ''
|
|
247
250
|
return await captureToolCall({
|
|
248
251
|
server,
|
|
@@ -7,7 +7,7 @@ import type { CompatibleRequestHandlerExtra, MCPRequestLike, MCPServerLike } fro
|
|
|
7
7
|
import { MCPAnalyticsEventType } from './event-types'
|
|
8
8
|
import { getServerTrackingData } from './internal'
|
|
9
9
|
import { log } from './logger'
|
|
10
|
-
import {
|
|
10
|
+
import { handleReportMissing, resolveMissingCapabilityToolName } from './tools'
|
|
11
11
|
import { instrumentInitializeHandler, instrumentToolsListHandler, captureToolCall } from './instrumentation'
|
|
12
12
|
import { getContextArgument } from './tracing-helpers'
|
|
13
13
|
|
|
@@ -52,7 +52,7 @@ async function handleToolCallRequest(
|
|
|
52
52
|
return await originalCallToolHandler?.(request, extra)
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
if (request.params?.name ===
|
|
55
|
+
if (request.params?.name === resolveMissingCapabilityToolName(data.options)) {
|
|
56
56
|
const context = getContextArgument(request) || ''
|
|
57
57
|
return await captureToolCall({
|
|
58
58
|
server,
|
|
@@ -25,7 +25,7 @@ import { getServerTrackingData, handleIdentify } from './internal'
|
|
|
25
25
|
import { log } from './logger'
|
|
26
26
|
import { buildCapturedMcpParameters } from './mcp-payloads'
|
|
27
27
|
import { getServerSessionId } from './session'
|
|
28
|
-
import {
|
|
28
|
+
import { getReportMissingToolDescriptor, resolveMissingCapabilityToolName } from './tools'
|
|
29
29
|
import { applyResolvedMetadata, isToolResultError } from './tracing-helpers'
|
|
30
30
|
|
|
31
31
|
/**
|
|
@@ -86,7 +86,8 @@ export async function captureToolCall(params: TraceToolCallParams): Promise<unkn
|
|
|
86
86
|
const conversation = resolveConversationId(
|
|
87
87
|
data.options.enableConversationId ?? false,
|
|
88
88
|
request.params?.arguments,
|
|
89
|
-
request.params?.name
|
|
89
|
+
request.params?.name,
|
|
90
|
+
resolveMissingCapabilityToolName(data.options)
|
|
90
91
|
)
|
|
91
92
|
const downstreamRequest = conversation.conversationId ? cloneRequestWithoutConversationId(request) : request
|
|
92
93
|
|
|
@@ -340,13 +341,14 @@ async function getTracedToolsList(
|
|
|
340
341
|
}
|
|
341
342
|
|
|
342
343
|
if (data?.options.enableConversationId) {
|
|
343
|
-
tools = addConversationIdToTools(tools)
|
|
344
|
+
tools = addConversationIdToTools(tools, resolveMissingCapabilityToolName(data.options))
|
|
344
345
|
}
|
|
345
346
|
|
|
346
347
|
if (data?.options.reportMissing) {
|
|
347
|
-
const
|
|
348
|
+
const missingToolName = resolveMissingCapabilityToolName(data.options)
|
|
349
|
+
const alreadyPresent = tools.some((tool) => tool?.name === missingToolName)
|
|
348
350
|
if (!alreadyPresent) {
|
|
349
|
-
tools.push(getReportMissingToolDescriptor())
|
|
351
|
+
tools.push(getReportMissingToolDescriptor(missingToolName))
|
|
350
352
|
}
|
|
351
353
|
}
|
|
352
354
|
|