From 9655d471f7df25fc2c48e4c8a34bac864beb8347 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Mon, 14 Apr 2025 17:13:11 -0400 Subject: [PATCH 1/4] Add periodic stderr messages. In everything.ts - add a 10 second interval for sending 'notifications/stderr' messages to the client This was created in order to test the display and clearing of stderr messages in the client. - see https://github.com/modelcontextprotocol/inspector/pull/286 --- src/everything/everything.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/everything/everything.ts b/src/everything/everything.ts index cee1e73197..d0a2ffb3fe 100644 --- a/src/everything/everything.ts +++ b/src/everything/everything.ts @@ -114,8 +114,9 @@ export const createServer = () => { let subscriptions: Set = new Set(); let subsUpdateInterval: NodeJS.Timeout | undefined; - // Set up update interval for subscribed resources + let stdErrUpdateInterval: NodeJS.Timeout | undefined; + // Set up update interval for subscribed resources subsUpdateInterval = setInterval(() => { for (const uri of subscriptions) { server.notification({ @@ -154,6 +155,19 @@ export const createServer = () => { server.notification(message); }, 15000); + + // Set up update interval for stderr messages + stdErrUpdateInterval = setInterval(() => { + const shortTimestamp = new Date().toLocaleTimeString([], { + hour: '2-digit', + minute: '2-digit', + second: '2-digit' + }); server.notification({ + method: "notifications/stderr", + params: { content: `${shortTimestamp}: A stderr message` }, + }); + }, 10000); + // Helper method to request sampling from client const requestSampling = async ( context: string, @@ -676,6 +690,7 @@ export const createServer = () => { const cleanup = async () => { if (subsUpdateInterval) clearInterval(subsUpdateInterval); if (logsUpdateInterval) clearInterval(logsUpdateInterval); + if (stdErrUpdateInterval) clearInterval(stdErrUpdateInterval); }; return { server, cleanup }; From 41fa29e21bf546f7098b9193c8b76ba48b46d7b5 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Mon, 14 Apr 2025 17:32:33 -0400 Subject: [PATCH 2/4] Fix formatting --- src/everything/everything.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/everything/everything.ts b/src/everything/everything.ts index d0a2ffb3fe..1d47979a56 100644 --- a/src/everything/everything.ts +++ b/src/everything/everything.ts @@ -162,7 +162,8 @@ export const createServer = () => { hour: '2-digit', minute: '2-digit', second: '2-digit' - }); server.notification({ + }); + server.notification({ method: "notifications/stderr", params: { content: `${shortTimestamp}: A stderr message` }, }); From 8c86f7aacf176f8526430c237dd163a6d4313757 Mon Sep 17 00:00:00 2001 From: yeonupark Date: Tue, 15 Apr 2025 23:03:53 +0900 Subject: [PATCH 3/4] Add SoccerDataAPI MCP Server --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4db157b73d..19794890bb 100644 --- a/README.md +++ b/README.md @@ -353,6 +353,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[Shopify](https://github.com/GeLi2001/shopify-mcp)** - MCP to interact with Shopify API including order, product, customers and so on. - **[Siri Shortcuts](https://github.com/dvcrn/mcp-server-siri-shortcuts)** - MCP to interact with Siri Shortcuts on macOS. Exposes all Shortcuts as MCP tools. - **[Snowflake](https://github.com/isaacwasserman/mcp-snowflake-server)** - This MCP server enables LLMs to interact with Snowflake databases, allowing for secure and controlled data operations. +- **[SoccerDataAPI](https://github.com/yeonupark/mcp-soccer-data)** - This MCP server provides real-time football match data based on the SoccerDataAPI. - **[Solana Agent Kit](https://github.com/sendaifun/solana-agent-kit/tree/main/examples/agent-kit-mcp-server)** - This MCP server enables LLMs to interact with the Solana blockchain with help of Solana Agent Kit by SendAI, allowing for 40+ protcool actions and growing - **[Spotify](https://github.com/varunneal/spotify-mcp)** - This MCP allows an LLM to play and use Spotify. - **[Starwind UI](https://github.com/Boston343/starwind-ui-mcp/)** - This MCP provides relevant commands, documentation, and other information to allow LLMs to take full advantage of Starwind UI's open source Astro components. From b8ecbe79de1cd4e73e29bf374139f5a651091eba Mon Sep 17 00:00:00 2001 From: cliffhall Date: Tue, 15 Apr 2025 10:52:34 -0400 Subject: [PATCH 4/4] Adjust intervals for outgoing demo messages - subscription updates: 10 seconds - logging messages: 20 seconds - stderr messages: 30 seconds --- src/everything/everything.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/everything/everything.ts b/src/everything/everything.ts index 1d47979a56..b16d8395f6 100644 --- a/src/everything/everything.ts +++ b/src/everything/everything.ts @@ -124,7 +124,7 @@ export const createServer = () => { params: { uri }, }); } - }, 5000); + }, 10000); let logLevel: LoggingLevel = "debug"; let logsUpdateInterval: NodeJS.Timeout | undefined; @@ -153,7 +153,7 @@ export const createServer = () => { }; if (!isMessageIgnored(message.params.level as LoggingLevel)) server.notification(message); - }, 15000); + }, 20000); // Set up update interval for stderr messages @@ -167,7 +167,7 @@ export const createServer = () => { method: "notifications/stderr", params: { content: `${shortTimestamp}: A stderr message` }, }); - }, 10000); + }, 30000); // Helper method to request sampling from client const requestSampling = async (