@posthog/mcp 0.12.0 → 0.13.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 +22 -2
- package/dist/extensions/analytics-parameters.js +14 -10
- package/dist/extensions/capture.js +12 -8
- package/dist/extensions/client-identity.js +18 -14
- package/dist/extensions/compatibility.js +16 -12
- package/dist/extensions/constants.js +24 -20
- package/dist/extensions/constants.mjs +2 -2
- package/dist/extensions/context-parameters.js +13 -9
- package/dist/extensions/conversation-id.js +18 -14
- package/dist/extensions/detect.js +23 -19
- package/dist/extensions/event-types.js +15 -11
- package/dist/extensions/exceptions.js +12 -8
- package/dist/extensions/headers.js +16 -12
- package/dist/extensions/ids.js +12 -8
- package/dist/extensions/instrument-highlevel.js +12 -8
- package/dist/extensions/instrument-lowlevel.js +12 -8
- package/dist/extensions/instrumentation.js +19 -15
- package/dist/extensions/intent.js +14 -10
- package/dist/extensions/internal.js +17 -13
- package/dist/extensions/lib-identity.js +12 -8
- package/dist/extensions/logger.js +17 -13
- package/dist/extensions/mcp-payloads.js +16 -12
- package/dist/extensions/mcp-sdk-compat.js +23 -19
- package/dist/extensions/model-parameters.d.ts.map +1 -1
- package/dist/extensions/model-parameters.js +21 -14
- package/dist/extensions/model-parameters.mjs +6 -3
- package/dist/extensions/output-instructions.js +15 -11
- package/dist/extensions/posthog-events.js +12 -8
- package/dist/extensions/posthog-mcp.d.ts +23 -12
- package/dist/extensions/posthog-mcp.d.ts.map +1 -1
- package/dist/extensions/posthog-mcp.js +49 -11
- package/dist/extensions/posthog-mcp.mjs +37 -3
- package/dist/extensions/request-headers.js +15 -11
- package/dist/extensions/sanitization.d.ts +2 -2
- package/dist/extensions/sanitization.d.ts.map +1 -1
- package/dist/extensions/sanitization.js +13 -8
- package/dist/extensions/sanitization.mjs +1 -0
- package/dist/extensions/session-token.js +17 -13
- package/dist/extensions/session-token.mjs +2 -2
- package/dist/extensions/session.js +16 -12
- package/dist/extensions/sink.js +14 -10
- package/dist/extensions/tools.js +15 -11
- package/dist/extensions/tracing-helpers.js +15 -11
- package/dist/extensions/transport-identity.js +15 -11
- package/dist/extensions/truncation.js +21 -16
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -18
- package/dist/index.mjs +7 -7
- package/dist/types.d.ts +28 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/types.mjs +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +15 -11
- package/dist/version.mjs +1 -1
- package/package.json +11 -11
- package/src/extensions/model-parameters.ts +7 -3
- package/src/extensions/posthog-mcp.ts +84 -12
- package/src/extensions/sanitization.ts +6 -2
- package/src/index.ts +1 -0
- package/src/types.ts +27 -4
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -137,9 +137,10 @@ cannot tell that it is yours, its value is recorded as `$mcp_intent`. It never l
|
|
|
137
137
|
and it is capped at 2048 characters. Two ways out, both one line:
|
|
138
138
|
|
|
139
139
|
```ts
|
|
140
|
-
instrument(server, posthog, { context: false })
|
|
140
|
+
instrument(server, posthog, { context: false }) // no injection, no capture
|
|
141
141
|
|
|
142
|
-
instrument(server, posthog, {
|
|
142
|
+
instrument(server, posthog, {
|
|
143
|
+
// keep it, drop the property
|
|
143
144
|
beforeSend: (event) => {
|
|
144
145
|
delete event.properties.$mcp_intent
|
|
145
146
|
return event
|
|
@@ -178,6 +179,25 @@ As with `context`, what matters is instance lifetime rather than statelessness:
|
|
|
178
179
|
server (`sessionIdGenerator: undefined`) that keeps one long-lived server object learns ownership
|
|
179
180
|
from the first `tools/list` and keeps it.
|
|
180
181
|
|
|
182
|
+
For a custom dispatcher, enable the same option on `PostHogMCP`. Its `prepareToolList()` helper
|
|
183
|
+
injects the field and records ownership by tool name; `prepareToolCall()` returns `llmModel` and
|
|
184
|
+
`llmModelSource` while removing the SDK-owned argument before dispatch. Pass both fields to
|
|
185
|
+
`captureToolCall()`. Pass the original tool descriptor on each call so this also works when
|
|
186
|
+
`tools/list` and `tools/call` reach different server replicas:
|
|
187
|
+
|
|
188
|
+
```ts
|
|
189
|
+
const posthog = new PostHogMCP(process.env.POSTHOG_PROJECT_TOKEN, { captureModel: true })
|
|
190
|
+
|
|
191
|
+
const tools = posthog.prepareToolList(serverTools)
|
|
192
|
+
const originalTool = serverTools.find((tool) => tool.name === toolName)
|
|
193
|
+
const { args, llmModel, llmModelSource } = posthog.prepareToolCall(toolName, rawArgs, { originalTool })
|
|
194
|
+
const result = await dispatch(toolName, args)
|
|
195
|
+
|
|
196
|
+
posthog.captureToolCall({ toolName, llmModel, llmModelSource, isError: false })
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
A persistent single-process dispatcher can omit `originalTool` after it has prepared its tool list.
|
|
200
|
+
|
|
181
201
|
### If you switched to `instrument(server.server)`
|
|
182
202
|
|
|
183
203
|
Before v2 support landed, the compatibility gate rejected high-level v2 servers, and the usual
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -25,10 +29,10 @@ var __webpack_exports__ = {};
|
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
31
|
addAnalyticsParameterToTool: ()=>addAnalyticsParameterToTool,
|
|
28
|
-
hasAnalyticsParameter: ()=>hasAnalyticsParameter,
|
|
29
32
|
analyticsOwnsParameter: ()=>analyticsOwnsParameter,
|
|
30
|
-
getAnalyticsParameterOwnership: ()=>getAnalyticsParameterOwnership,
|
|
31
33
|
canInjectAnalyticsParameter: ()=>canInjectAnalyticsParameter,
|
|
34
|
+
getAnalyticsParameterOwnership: ()=>getAnalyticsParameterOwnership,
|
|
35
|
+
hasAnalyticsParameter: ()=>hasAnalyticsParameter,
|
|
32
36
|
stripOwnedAnalyticsArguments: ()=>stripOwnedAnalyticsArguments
|
|
33
37
|
});
|
|
34
38
|
const external_logger_js_namespaceObject = require("./logger.js");
|
|
@@ -126,14 +130,14 @@ exports.canInjectAnalyticsParameter = __webpack_exports__.canInjectAnalyticsPara
|
|
|
126
130
|
exports.getAnalyticsParameterOwnership = __webpack_exports__.getAnalyticsParameterOwnership;
|
|
127
131
|
exports.hasAnalyticsParameter = __webpack_exports__.hasAnalyticsParameter;
|
|
128
132
|
exports.stripOwnedAnalyticsArguments = __webpack_exports__.stripOwnedAnalyticsArguments;
|
|
129
|
-
for(var
|
|
133
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
130
134
|
"addAnalyticsParameterToTool",
|
|
131
135
|
"analyticsOwnsParameter",
|
|
132
136
|
"canInjectAnalyticsParameter",
|
|
133
137
|
"getAnalyticsParameterOwnership",
|
|
134
138
|
"hasAnalyticsParameter",
|
|
135
139
|
"stripOwnedAnalyticsArguments"
|
|
136
|
-
].indexOf(
|
|
140
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
137
141
|
Object.defineProperty(exports, '__esModule', {
|
|
138
142
|
value: true
|
|
139
143
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -78,9 +82,9 @@ function captureEvent(server, eventInput, logger, requestAttribution) {
|
|
|
78
82
|
});
|
|
79
83
|
}
|
|
80
84
|
exports.captureEvent = __webpack_exports__.captureEvent;
|
|
81
|
-
for(var
|
|
85
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
82
86
|
"captureEvent"
|
|
83
|
-
].indexOf(
|
|
87
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
84
88
|
Object.defineProperty(exports, '__esModule', {
|
|
85
89
|
value: true
|
|
86
90
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -24,15 +28,15 @@ var __webpack_require__ = {};
|
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
|
|
28
|
-
readHeaderProtocolVersion: ()=>readHeaderProtocolVersion,
|
|
31
|
+
META_CLIENT_INFO_KEY: ()=>META_CLIENT_INFO_KEY,
|
|
29
32
|
META_PROTOCOL_VERSION_KEY: ()=>META_PROTOCOL_VERSION_KEY,
|
|
30
33
|
PROTOCOL_VERSION_HEADER: ()=>PROTOCOL_VERSION_HEADER,
|
|
31
|
-
stampClientIdentity: ()=>stampClientIdentity,
|
|
32
|
-
resolveClientIdentity: ()=>resolveClientIdentity,
|
|
33
|
-
readServerClientIdentity: ()=>readServerClientIdentity,
|
|
34
34
|
readEnvelopeClientInfo: ()=>readEnvelopeClientInfo,
|
|
35
|
-
|
|
35
|
+
readHeaderProtocolVersion: ()=>readHeaderProtocolVersion,
|
|
36
|
+
readMetaClientInfo: ()=>readMetaClientInfo,
|
|
37
|
+
readServerClientIdentity: ()=>readServerClientIdentity,
|
|
38
|
+
resolveClientIdentity: ()=>resolveClientIdentity,
|
|
39
|
+
stampClientIdentity: ()=>stampClientIdentity
|
|
36
40
|
});
|
|
37
41
|
const external_detect_js_namespaceObject = require("./detect.js");
|
|
38
42
|
const external_headers_js_namespaceObject = require("./headers.js");
|
|
@@ -125,7 +129,7 @@ exports.readMetaClientInfo = __webpack_exports__.readMetaClientInfo;
|
|
|
125
129
|
exports.readServerClientIdentity = __webpack_exports__.readServerClientIdentity;
|
|
126
130
|
exports.resolveClientIdentity = __webpack_exports__.resolveClientIdentity;
|
|
127
131
|
exports.stampClientIdentity = __webpack_exports__.stampClientIdentity;
|
|
128
|
-
for(var
|
|
132
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
129
133
|
"META_CLIENT_INFO_KEY",
|
|
130
134
|
"META_PROTOCOL_VERSION_KEY",
|
|
131
135
|
"PROTOCOL_VERSION_HEADER",
|
|
@@ -135,7 +139,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
|
135
139
|
"readServerClientIdentity",
|
|
136
140
|
"resolveClientIdentity",
|
|
137
141
|
"stampClientIdentity"
|
|
138
|
-
].indexOf(
|
|
142
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
139
143
|
Object.defineProperty(exports, '__esModule', {
|
|
140
144
|
value: true
|
|
141
145
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -24,11 +28,11 @@ var __webpack_require__ = {};
|
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
|
|
28
|
-
isHighLevelServer: ()=>isHighLevelServer,
|
|
29
|
-
logCompatibilityWarning: ()=>logCompatibilityWarning,
|
|
31
|
+
getMCPCompatibleErrorMessage: ()=>getMCPCompatibleErrorMessage,
|
|
30
32
|
isCompatibleServerType: ()=>isCompatibleServerType,
|
|
31
|
-
|
|
33
|
+
isHighLevelServer: ()=>isHighLevelServer,
|
|
34
|
+
isLowLevelServer: ()=>isLowLevelServer,
|
|
35
|
+
logCompatibilityWarning: ()=>logCompatibilityWarning
|
|
32
36
|
});
|
|
33
37
|
const external_detect_js_namespaceObject = require("./detect.js");
|
|
34
38
|
function logCompatibilityWarning(logger) {
|
|
@@ -96,13 +100,13 @@ exports.isCompatibleServerType = __webpack_exports__.isCompatibleServerType;
|
|
|
96
100
|
exports.isHighLevelServer = __webpack_exports__.isHighLevelServer;
|
|
97
101
|
exports.isLowLevelServer = __webpack_exports__.isLowLevelServer;
|
|
98
102
|
exports.logCompatibilityWarning = __webpack_exports__.logCompatibilityWarning;
|
|
99
|
-
for(var
|
|
103
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
100
104
|
"getMCPCompatibleErrorMessage",
|
|
101
105
|
"isCompatibleServerType",
|
|
102
106
|
"isHighLevelServer",
|
|
103
107
|
"isLowLevelServer",
|
|
104
108
|
"logCompatibilityWarning"
|
|
105
|
-
].indexOf(
|
|
109
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
106
110
|
Object.defineProperty(exports, '__esModule', {
|
|
107
111
|
value: true
|
|
108
112
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -23,20 +27,10 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
DEFAULT_CONTEXT_PARAMETER_DESCRIPTION: ()=>DEFAULT_CONTEXT_PARAMETER_DESCRIPTION,
|
|
28
|
-
DEFAULT_CONVERSATION_ID_DESCRIPTION: ()=>DEFAULT_CONVERSATION_ID_DESCRIPTION,
|
|
29
|
-
DEFAULT_MODEL_PARAMETER_DESCRIPTION: ()=>DEFAULT_MODEL_PARAMETER_DESCRIPTION,
|
|
30
|
-
INACTIVITY_TIMEOUT_IN_MINUTES: ()=>INACTIVITY_TIMEOUT_IN_MINUTES,
|
|
31
|
-
POSTHOG_MCP_ANALYTICS_SOURCE: ()=>POSTHOG_MCP_ANALYTICS_SOURCE,
|
|
32
|
-
POSTHOG_MCP_LIB_NAME: ()=>POSTHOG_MCP_LIB_NAME,
|
|
33
|
-
PostHogMCPAnalyticsEvent: ()=>PostHogMCPAnalyticsEvent,
|
|
34
|
-
PostHogMCPAnalyticsProperty: ()=>PostHogMCPAnalyticsProperty
|
|
35
|
-
});
|
|
36
30
|
const INACTIVITY_TIMEOUT_IN_MINUTES = 30;
|
|
37
31
|
const DEFAULT_CONTEXT_PARAMETER_DESCRIPTION = "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"";
|
|
38
|
-
const DEFAULT_MODEL_PARAMETER_DESCRIPTION =
|
|
39
|
-
const DEFAULT_CONVERSATION_ID_DESCRIPTION = "Echo the conversation_id from the server's previous response. The server provides it on the first call
|
|
32
|
+
const DEFAULT_MODEL_PARAMETER_DESCRIPTION = 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.';
|
|
33
|
+
const DEFAULT_CONVERSATION_ID_DESCRIPTION = "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.";
|
|
40
34
|
const POSTHOG_MCP_ANALYTICS_SOURCE = 'posthog_mcp_analytics';
|
|
41
35
|
const POSTHOG_MCP_LIB_NAME = 'posthog-node-mcp';
|
|
42
36
|
const PostHogMCPAnalyticsEvent = {
|
|
@@ -79,6 +73,16 @@ const PostHogMCPAnalyticsProperty = {
|
|
|
79
73
|
ToolName: '$mcp_tool_name',
|
|
80
74
|
VendorClient: '$mcp_vendor_client'
|
|
81
75
|
};
|
|
76
|
+
__webpack_require__.d(__webpack_exports__, {}, {
|
|
77
|
+
DEFAULT_CONTEXT_PARAMETER_DESCRIPTION: DEFAULT_CONTEXT_PARAMETER_DESCRIPTION,
|
|
78
|
+
DEFAULT_CONVERSATION_ID_DESCRIPTION: DEFAULT_CONVERSATION_ID_DESCRIPTION,
|
|
79
|
+
DEFAULT_MODEL_PARAMETER_DESCRIPTION: DEFAULT_MODEL_PARAMETER_DESCRIPTION,
|
|
80
|
+
INACTIVITY_TIMEOUT_IN_MINUTES: INACTIVITY_TIMEOUT_IN_MINUTES,
|
|
81
|
+
POSTHOG_MCP_ANALYTICS_SOURCE: POSTHOG_MCP_ANALYTICS_SOURCE,
|
|
82
|
+
POSTHOG_MCP_LIB_NAME: POSTHOG_MCP_LIB_NAME,
|
|
83
|
+
PostHogMCPAnalyticsEvent: PostHogMCPAnalyticsEvent,
|
|
84
|
+
PostHogMCPAnalyticsProperty: PostHogMCPAnalyticsProperty
|
|
85
|
+
});
|
|
82
86
|
exports.DEFAULT_CONTEXT_PARAMETER_DESCRIPTION = __webpack_exports__.DEFAULT_CONTEXT_PARAMETER_DESCRIPTION;
|
|
83
87
|
exports.DEFAULT_CONVERSATION_ID_DESCRIPTION = __webpack_exports__.DEFAULT_CONVERSATION_ID_DESCRIPTION;
|
|
84
88
|
exports.DEFAULT_MODEL_PARAMETER_DESCRIPTION = __webpack_exports__.DEFAULT_MODEL_PARAMETER_DESCRIPTION;
|
|
@@ -87,7 +91,7 @@ exports.POSTHOG_MCP_ANALYTICS_SOURCE = __webpack_exports__.POSTHOG_MCP_ANALYTICS
|
|
|
87
91
|
exports.POSTHOG_MCP_LIB_NAME = __webpack_exports__.POSTHOG_MCP_LIB_NAME;
|
|
88
92
|
exports.PostHogMCPAnalyticsEvent = __webpack_exports__.PostHogMCPAnalyticsEvent;
|
|
89
93
|
exports.PostHogMCPAnalyticsProperty = __webpack_exports__.PostHogMCPAnalyticsProperty;
|
|
90
|
-
for(var
|
|
94
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
91
95
|
"DEFAULT_CONTEXT_PARAMETER_DESCRIPTION",
|
|
92
96
|
"DEFAULT_CONVERSATION_ID_DESCRIPTION",
|
|
93
97
|
"DEFAULT_MODEL_PARAMETER_DESCRIPTION",
|
|
@@ -96,7 +100,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
|
96
100
|
"POSTHOG_MCP_LIB_NAME",
|
|
97
101
|
"PostHogMCPAnalyticsEvent",
|
|
98
102
|
"PostHogMCPAnalyticsProperty"
|
|
99
|
-
].indexOf(
|
|
103
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
100
104
|
Object.defineProperty(exports, '__esModule', {
|
|
101
105
|
value: true
|
|
102
106
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const INACTIVITY_TIMEOUT_IN_MINUTES = 30;
|
|
2
2
|
const DEFAULT_CONTEXT_PARAMETER_DESCRIPTION = "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"";
|
|
3
|
-
const DEFAULT_MODEL_PARAMETER_DESCRIPTION =
|
|
4
|
-
const DEFAULT_CONVERSATION_ID_DESCRIPTION = "Echo the conversation_id from the server's previous response. The server provides it on the first call
|
|
3
|
+
const DEFAULT_MODEL_PARAMETER_DESCRIPTION = 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.';
|
|
4
|
+
const DEFAULT_CONVERSATION_ID_DESCRIPTION = "Echo the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.";
|
|
5
5
|
const POSTHOG_MCP_ANALYTICS_SOURCE = 'posthog_mcp_analytics';
|
|
6
6
|
const POSTHOG_MCP_LIB_NAME = 'posthog-node-mcp';
|
|
7
7
|
const PostHogMCPAnalyticsEvent = {
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -24,8 +28,8 @@ var __webpack_require__ = {};
|
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
addContextParameterToTools: ()=>addContextParameterToTools,
|
|
28
31
|
addContextParameterToTool: ()=>addContextParameterToTool,
|
|
32
|
+
addContextParameterToTools: ()=>addContextParameterToTools,
|
|
29
33
|
getContextDescription: ()=>getContextDescription,
|
|
30
34
|
isContextEnabled: ()=>isContextEnabled
|
|
31
35
|
});
|
|
@@ -48,12 +52,12 @@ exports.addContextParameterToTool = __webpack_exports__.addContextParameterToToo
|
|
|
48
52
|
exports.addContextParameterToTools = __webpack_exports__.addContextParameterToTools;
|
|
49
53
|
exports.getContextDescription = __webpack_exports__.getContextDescription;
|
|
50
54
|
exports.isContextEnabled = __webpack_exports__.isContextEnabled;
|
|
51
|
-
for(var
|
|
55
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
52
56
|
"addContextParameterToTool",
|
|
53
57
|
"addContextParameterToTools",
|
|
54
58
|
"getContextDescription",
|
|
55
59
|
"isContextEnabled"
|
|
56
|
-
].indexOf(
|
|
60
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
57
61
|
Object.defineProperty(exports, '__esModule', {
|
|
58
62
|
value: true
|
|
59
63
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -25,14 +29,14 @@ var __webpack_exports__ = {};
|
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
31
|
CONVERSATION_ID_PARAM_NAME: ()=>CONVERSATION_ID_PARAM_NAME,
|
|
28
|
-
|
|
29
|
-
buildConversationIdPromptBack: ()=>buildConversationIdPromptBack,
|
|
30
|
-
injectConversationIdPromptBack: ()=>injectConversationIdPromptBack,
|
|
32
|
+
addConversationIdToTool: ()=>addConversationIdToTool,
|
|
31
33
|
addConversationIdToTools: ()=>addConversationIdToTools,
|
|
34
|
+
buildConversationIdPromptBack: ()=>buildConversationIdPromptBack,
|
|
35
|
+
canInjectConversationIdPromptBack: ()=>canInjectConversationIdPromptBack,
|
|
32
36
|
extractConversationId: ()=>extractConversationId,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
injectConversationIdPromptBack: ()=>injectConversationIdPromptBack,
|
|
38
|
+
resolveConversationId: ()=>resolveConversationId,
|
|
39
|
+
stripConversationId: ()=>stripConversationId
|
|
36
40
|
});
|
|
37
41
|
const core_namespaceObject = require("@posthog/core");
|
|
38
42
|
const external_analytics_parameters_js_namespaceObject = require("./analytics-parameters.js");
|
|
@@ -127,7 +131,7 @@ exports.extractConversationId = __webpack_exports__.extractConversationId;
|
|
|
127
131
|
exports.injectConversationIdPromptBack = __webpack_exports__.injectConversationIdPromptBack;
|
|
128
132
|
exports.resolveConversationId = __webpack_exports__.resolveConversationId;
|
|
129
133
|
exports.stripConversationId = __webpack_exports__.stripConversationId;
|
|
130
|
-
for(var
|
|
134
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
131
135
|
"CONVERSATION_ID_PARAM_NAME",
|
|
132
136
|
"addConversationIdToTool",
|
|
133
137
|
"addConversationIdToTools",
|
|
@@ -137,7 +141,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
|
137
141
|
"injectConversationIdPromptBack",
|
|
138
142
|
"resolveConversationId",
|
|
139
143
|
"stripConversationId"
|
|
140
|
-
].indexOf(
|
|
144
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
141
145
|
Object.defineProperty(exports, '__esModule', {
|
|
142
146
|
value: true
|
|
143
147
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -23,17 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
canRegisterTools: ()=>canRegisterTools,
|
|
28
|
-
canSetRequestHandler: ()=>canSetRequestHandler,
|
|
29
|
-
hasClientVersionAccessor: ()=>hasClientVersionAccessor,
|
|
30
|
-
hasNegotiatedProtocolVersionAccessor: ()=>hasNegotiatedProtocolVersionAccessor,
|
|
31
|
-
hasNestedLowLevelServer: ()=>hasNestedLowLevelServer,
|
|
32
|
-
hasRequestHandlerMap: ()=>hasRequestHandlerMap,
|
|
33
|
-
hasServerInfo: ()=>hasServerInfo,
|
|
34
|
-
hasToolRegistry: ()=>hasToolRegistry,
|
|
35
|
-
isBareServerShape: ()=>isBareServerShape
|
|
36
|
-
});
|
|
37
30
|
function asRecord(value) {
|
|
38
31
|
return value && 'object' == typeof value ? value : void 0;
|
|
39
32
|
}
|
|
@@ -71,6 +64,17 @@ function hasServerInfo(server) {
|
|
|
71
64
|
const info = asRecord(asRecord(server)?._serverInfo);
|
|
72
65
|
return !!info && 'name' in info;
|
|
73
66
|
}
|
|
67
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
68
|
+
canRegisterTools: ()=>canRegisterTools,
|
|
69
|
+
canSetRequestHandler: ()=>canSetRequestHandler,
|
|
70
|
+
hasClientVersionAccessor: ()=>hasClientVersionAccessor,
|
|
71
|
+
hasNegotiatedProtocolVersionAccessor: ()=>hasNegotiatedProtocolVersionAccessor,
|
|
72
|
+
hasNestedLowLevelServer: ()=>hasNestedLowLevelServer,
|
|
73
|
+
hasRequestHandlerMap: ()=>hasRequestHandlerMap,
|
|
74
|
+
hasServerInfo: ()=>hasServerInfo,
|
|
75
|
+
hasToolRegistry: ()=>hasToolRegistry,
|
|
76
|
+
isBareServerShape: ()=>isBareServerShape
|
|
77
|
+
});
|
|
74
78
|
exports.canRegisterTools = __webpack_exports__.canRegisterTools;
|
|
75
79
|
exports.canSetRequestHandler = __webpack_exports__.canSetRequestHandler;
|
|
76
80
|
exports.hasClientVersionAccessor = __webpack_exports__.hasClientVersionAccessor;
|
|
@@ -80,7 +84,7 @@ exports.hasRequestHandlerMap = __webpack_exports__.hasRequestHandlerMap;
|
|
|
80
84
|
exports.hasServerInfo = __webpack_exports__.hasServerInfo;
|
|
81
85
|
exports.hasToolRegistry = __webpack_exports__.hasToolRegistry;
|
|
82
86
|
exports.isBareServerShape = __webpack_exports__.isBareServerShape;
|
|
83
|
-
for(var
|
|
87
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
84
88
|
"canRegisterTools",
|
|
85
89
|
"canSetRequestHandler",
|
|
86
90
|
"hasClientVersionAccessor",
|
|
@@ -90,7 +94,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
|
90
94
|
"hasServerInfo",
|
|
91
95
|
"hasToolRegistry",
|
|
92
96
|
"isBareServerShape"
|
|
93
|
-
].indexOf(
|
|
97
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
94
98
|
Object.defineProperty(exports, '__esModule', {
|
|
95
99
|
value: true
|
|
96
100
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -13,7 +17,7 @@ var __webpack_require__ = {};
|
|
|
13
17
|
})();
|
|
14
18
|
(()=>{
|
|
15
19
|
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if (
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
21
|
value: 'Module'
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports1, '__esModule', {
|
|
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
MCPAnalyticsEventType: ()=>MCPAnalyticsEventType
|
|
28
|
-
});
|
|
29
30
|
const MCPAnalyticsEventType = {
|
|
30
31
|
identify: 'posthog:identify',
|
|
31
32
|
custom: 'posthog:custom',
|
|
@@ -38,10 +39,13 @@ const MCPAnalyticsEventType = {
|
|
|
38
39
|
mcpToolsCall: 'mcp:tools/call',
|
|
39
40
|
mcpToolsList: 'mcp:tools/list'
|
|
40
41
|
};
|
|
42
|
+
__webpack_require__.d(__webpack_exports__, {}, {
|
|
43
|
+
MCPAnalyticsEventType: MCPAnalyticsEventType
|
|
44
|
+
});
|
|
41
45
|
exports.MCPAnalyticsEventType = __webpack_exports__.MCPAnalyticsEventType;
|
|
42
|
-
for(var
|
|
46
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
43
47
|
"MCPAnalyticsEventType"
|
|
44
|
-
].indexOf(
|
|
48
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
45
49
|
Object.defineProperty(exports, '__esModule', {
|
|
46
50
|
value: true
|
|
47
51
|
});
|