From 03bab85f19d692c98d606c034f3632a5e0207eaa Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Fri, 14 Nov 2025 20:32:40 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20ajouter=20une=20nouvelle=20ressource=20?= =?UTF-8?q?et=20une=20invite=20pour=20r=C3=A9cup=C3=A9rer=20l'activit?= =?UTF-8?q?=C3=A9=20de=20la=20page=20de=20statut=20d'Arthur=20Danjou?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nuxt.config.ts | 1 + server/api/status_page.get.ts | 4 ++++ server/routes/mcp.ts | 40 ++++++++++++++++++++++++++++++++++- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 server/api/status_page.get.ts diff --git a/nuxt.config.ts b/nuxt.config.ts index 7fe433a..d25b43d 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -18,6 +18,7 @@ export default defineNuxtConfig({ id: '', token: '' }, + statusPage: '', wakatime: { userId: '', coding: '', diff --git a/server/api/status_page.get.ts b/server/api/status_page.get.ts new file mode 100644 index 0000000..5defefe --- /dev/null +++ b/server/api/status_page.get.ts @@ -0,0 +1,4 @@ +export default defineEventHandler(async (event) => { + const { statusPage } = useRuntimeConfig(event) + return await $fetch(statusPage) +}) diff --git a/server/routes/mcp.ts b/server/routes/mcp.ts index a6d6325..86beee8 100644 --- a/server/routes/mcp.ts +++ b/server/routes/mcp.ts @@ -180,6 +180,25 @@ function createServer() { } ) + server.registerResource( + 'artmcp-status_page', + 'resource://artmcp/status_page', + { + title: 'ArtMCP Status Page', + description: 'Get Status Page Activity of Arthur Danjou\'s Homelab including uptime and incidents, powered by UptimeKuma' + }, + async (uri) => { + const result = await $fetch('/api/status_page') + return { + contents: [{ + uri: uri.href, + mimeType: 'application/json', + text: JSON.stringify(result, null, 2) + }] + } + } + ) + // Tools server.registerTool( 'get_resume_link', @@ -358,7 +377,7 @@ function createServer() { ) server.registerPrompt( - 'get_uses_by_category', + 'artmcp-get_uses_by_category', { title: 'Get Uses by Category', description: 'Retrieves uses Arthur Danjou uses filtered by a specific category.', @@ -382,6 +401,25 @@ function createServer() { } ) + server.registerPrompt( + 'artmcp-status_page', + { + title: 'Get Status Page Activity of Arthur Danjou\'s Homelab', + description: 'Get Status Page Activity of Arthur Danjou\'s Homelab including uptime and incidents, powered by UptimeKuma' + }, + async () => { + return { + messages: [{ + role: 'user', + content: { + type: 'text', + text: `Provide me the status page activity of Arthur Danjou's homelab, including uptime and incidents.` + } + }] + } + } + ) + return server }