In the Inspector, log messages from the server were not being displayed.
https://github.com/modelcontextprotocol/inspector/issues/184 The user who created the issue provided a python test server to send dummy messages, but I expected that the 'everything server' would be exercising this capability, but it wasn't. So I decided to add that functionality at the same time as fixing the inspector. In src/everything/everything.ts - add logsUpdateInterval - use setInterval to send a random-leveled log message every 15 seconds
This commit is contained in:
parent
f09e6743a3
commit
2ba960ca13
1 changed files with 23 additions and 8 deletions
|
|
@ -99,10 +99,11 @@ export const createServer = () => {
|
||||||
);
|
);
|
||||||
|
|
||||||
let subscriptions: Set<string> = new Set();
|
let subscriptions: Set<string> = new Set();
|
||||||
let updateInterval: NodeJS.Timeout | undefined;
|
let subsUpdateInterval: NodeJS.Timeout | undefined;
|
||||||
|
let logsUpdateInterval: NodeJS.Timeout | undefined;
|
||||||
|
|
||||||
// Set up update interval for subscribed resources
|
// Set up update interval for subscribed resources
|
||||||
updateInterval = setInterval(() => {
|
subsUpdateInterval = setInterval(() => {
|
||||||
for (const uri of subscriptions) {
|
for (const uri of subscriptions) {
|
||||||
server.notification({
|
server.notification({
|
||||||
method: "notifications/resources/updated",
|
method: "notifications/resources/updated",
|
||||||
|
|
@ -111,6 +112,21 @@ export const createServer = () => {
|
||||||
}
|
}
|
||||||
}, 5000);
|
}, 5000);
|
||||||
|
|
||||||
|
// Set up update interval for random log messages
|
||||||
|
logsUpdateInterval = setInterval(() => {
|
||||||
|
const messages = [
|
||||||
|
{level: "info", data: "Information is good"},
|
||||||
|
{level: "warning", data: "Warning is scary"},
|
||||||
|
{level: "error", data: "Error is bad"},
|
||||||
|
]
|
||||||
|
server.notification({
|
||||||
|
method: "notifications/message",
|
||||||
|
params: messages[Math.floor(Math.random()*3)],
|
||||||
|
});
|
||||||
|
}, 15000);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Helper method to request sampling from client
|
// Helper method to request sampling from client
|
||||||
const requestSampling = async (
|
const requestSampling = async (
|
||||||
context: string,
|
context: string,
|
||||||
|
|
@ -548,9 +564,8 @@ export const createServer = () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const cleanup = async () => {
|
const cleanup = async () => {
|
||||||
if (updateInterval) {
|
if (subsUpdateInterval) clearInterval(subsUpdateInterval);
|
||||||
clearInterval(updateInterval);
|
if (logsUpdateInterval) clearInterval(logsUpdateInterval);
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return { server, cleanup };
|
return { server, cleanup };
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue