diff --git a/server/routes/mcp.ts b/server/routes/mcp.ts index c7645ad..f0805e7 100644 --- a/server/routes/mcp.ts +++ b/server/routes/mcp.ts @@ -4,17 +4,17 @@ import { z } from 'zod' function createServer() { const server = new McpServer({ - name: 'nuxt-ui', + name: 'artmcp', version: '1.0.0' }) - // Ressources + // Resources server.registerResource( 'artmcp-skills', 'resource://artmcp/skills', { - title: 'ArtMCP Skills', - description: 'Complete list of skills of Arthur Danjou' + title: 'Arthur Danjou - Skills', + description: 'A comprehensive list of technical skills, programming languages, frameworks, and tools mastered by Arthur Danjou' }, async (uri) => { const result = await $fetch('/api/skills') @@ -32,8 +32,8 @@ function createServer() { 'artmcp-experiences', 'resource://artmcp/experiences', { - title: 'ArtMCP Experiences', - description: 'Complete list of experiences of Arthur Danjou' + title: 'Arthur Danjou - Professional Experiences', + description: 'A detailed list of Arthur Danjou\'s professional work experiences, including roles, companies, and responsibilities' }, async (uri) => { const result = await $fetch('/api/experiences') @@ -51,8 +51,8 @@ function createServer() { 'artmcp-projects', 'resource://artmcp/projects', { - title: 'ArtMCP Projects', - description: 'Complete list of projects of Arthur Danjou' + title: 'Arthur Danjou - Projects Portfolio', + description: 'A comprehensive collection of projects developed by Arthur Danjou, showcasing technical skills and achievements' }, async (uri) => { const result = await $fetch('/api/projects') @@ -70,8 +70,8 @@ function createServer() { 'artmcp-uses', 'resource://artmcp/uses', { - title: 'ArtMCP Uses', - description: 'Complete list of uses of Arthur Danjou filtered by categories' + title: 'Arthur Danjou - Tech Stack & Tools', + description: 'A curated list of tools, software, and hardware used by Arthur Danjou, organized by categories (homelab, IDE, hardware, software)' }, async (uri) => { const result = await $fetch('/api/uses') @@ -89,8 +89,8 @@ function createServer() { 'artmcp-education', 'resource://artmcp/education', { - title: 'ArtMCP Education', - description: 'Complete list of education of Arthur Danjou' + title: 'Arthur Danjou - Education & Academic Background', + description: 'Arthur Danjou\'s educational background, including degrees, institutions, and academic achievements' }, async (uri) => { const result = await $fetch('/api/educations') @@ -108,8 +108,8 @@ function createServer() { 'artmcp-activity', 'resource://artmcp/activity', { - title: 'ArtMCP Activity', - description: 'Get realtime activity of Arthur Danjou' + title: 'Arthur Danjou - Real-time Activity', + description: 'Real-time current activity and status of Arthur Danjou, including what he\'s currently working on' }, async (uri) => { const result = await $fetch('/api/activity') @@ -127,8 +127,8 @@ function createServer() { 'artmcp-wakatime', 'resource://artmcp/wakatime', { - title: 'ArtMCP Wakatime', - description: 'Get Wakatime statistics of Arthur Danjou' + title: 'Arthur Danjou - Coding Statistics', + description: 'Detailed coding statistics and analytics from WakaTime, including programming languages, time spent coding, and productivity metrics' }, async (uri) => { const result = await $fetch('/api/wakatime') @@ -165,8 +165,8 @@ function createServer() { 'artmcp-hobbies', 'resource://artmcp/hobbies', { - title: 'ArtMCP Hobbies', - description: 'Get Hobbies Information of Arthur Danjou' + title: 'Arthur Danjou - Hobbies & Interests', + description: 'Arthur Danjou\'s personal hobbies, interests, and passions outside of professional work' }, async (uri) => { const result = await $fetch('/api/hobbies') @@ -184,8 +184,8 @@ function createServer() { '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' + title: 'Arthur Danjou - Homelab Status Page', + description: 'Real-time status, uptime monitoring, and incident reports for Arthur Danjou\'s homelab infrastructure, powered by UptimeKuma' }, async (uri) => { const result = await $fetch('/api/status_page') @@ -260,11 +260,11 @@ function createServer() { server.registerTool( 'get_resume_link', { - title: 'Get Resume Link', - description: 'Provide a link to download Arthur Danjou\'s resume in the requested language.', + title: 'Get Resume Download Link', + description: 'Retrieves a direct download link to Arthur Danjou\'s professional resume in the specified language (English or French).', inputSchema: { // @ts-expect-error - need to wait for support for zod 4 - lang: z.enum(['en', 'fr']).describe('The language for the resume, \'en\' or \'fr\'.') + lang: z.enum(['en', 'fr']).describe('The language for the resume: \'en\' for English or \'fr\' for French.') } }, async ({ lang }: { lang: 'en' | 'fr' }) => { @@ -279,11 +279,11 @@ function createServer() { server.registerTool( 'get_uses_by_category', { - title: 'Get Uses by Category', - description: 'Retrieves uses Arthur Danjou uses filtered by a specific category.', + title: 'Get Tools by Category', + description: 'Retrieves a filtered list of tools, software, and hardware used by Arthur Danjou for a specific category (homelab, IDE, hardware, or software).', inputSchema: { // @ts-expect-error - need to wait for support for zod 4 - categoryName: z.enum(['homelab', 'ide', 'hardware', 'software']).describe('The name of the category to filter uses by.') + categoryName: z.enum(['homelab', 'ide', 'hardware', 'software']).describe('The category to filter by: \'homelab\', \'ide\', \'hardware\', or \'software\'.') } }, async (params: { categoryName: 'homelab' | 'ide' | 'hardware' | 'software' }) => { @@ -299,11 +299,11 @@ function createServer() { server.registerPrompt( 'artmcp-resume', { - title: 'Get Resume of Arthur Danjou', - description: 'Get Resume in French or English format of Arthur Danjou', + title: 'Request Arthur Danjou\'s Resume', + description: 'Generate a prompt to retrieve Arthur Danjou\'s professional resume in English or French format.', argsSchema: { // @ts-expect-error - need to wait for support for zod 4 - lang: z.enum(['en', 'fr']).describe('The language for the resume, \'en\' or \'fr\'.') + lang: z.enum(['en', 'fr']).describe('The language for the resume: \'en\' for English or \'fr\' for French.') } }, async ({ lang }: { lang: 'en' | 'fr' }) => { @@ -322,8 +322,8 @@ function createServer() { server.registerPrompt( 'artmcp-activity', { - title: 'Get Realtime Activity of Arthur Danjou', - description: 'Get Realtime Activity of Arthur Danjou' + title: 'Request Real-time Activity', + description: 'Generate a prompt to retrieve Arthur Danjou\'s current real-time activity and status.' }, async () => { return { @@ -341,8 +341,8 @@ function createServer() { server.registerPrompt( 'artmcp-wakatime', { - title: 'Get Stats of Arthur Danjou', - description: 'Get Stats of Arthur Danjou powered by Wakatime' + title: 'Request Coding Statistics', + description: 'Generate a prompt to retrieve Arthur Danjou\'s coding statistics and analytics from WakaTime.' }, async () => { return { @@ -379,8 +379,8 @@ function createServer() { server.registerPrompt( 'artmcp-hobbies', { - title: 'Get Hobbies Information of Arthur Danjou', - description: 'Get Hobbies Information of Arthur Danjou' + title: 'Request Hobbies & Interests', + description: 'Generate a prompt to learn about Arthur Danjou\'s personal hobbies, interests, and passions.' }, async () => { return { @@ -398,8 +398,8 @@ function createServer() { server.registerPrompt( 'artmcp-projects', { - title: 'Get Projects Done by Arthur Danjou', - description: 'Get a list of projects done by Arthur Danjou' + title: 'Request Projects Portfolio', + description: 'Generate a prompt to retrieve a comprehensive list of projects developed by Arthur Danjou.' }, async () => { return { @@ -417,8 +417,8 @@ function createServer() { server.registerPrompt( 'artmcp-skills', { - title: 'Get Skills of Arthur Danjou', - description: 'Get a list of skills that Arthur Danjou masters' + title: 'Request Skills List', + description: 'Generate a prompt to retrieve a comprehensive list of technical skills mastered by Arthur Danjou.' }, async () => { return { @@ -436,11 +436,11 @@ function createServer() { server.registerPrompt( 'artmcp-get_uses_by_category', { - title: 'Get Uses by Category', - description: 'Retrieves uses Arthur Danjou uses filtered by a specific category.', + title: 'Request Tools by Category', + description: 'Generate a prompt to retrieve tools and software used by Arthur Danjou, filtered by a specific category.', argsSchema: { // @ts-expect-error - need to wait for support for zod 4 - categoryName: z.enum(['homelab', 'ide', 'hardware', 'software']).describe('Type of project (dashboard, landing page, admin panel, etc.)') + categoryName: z.enum(['homelab', 'ide', 'hardware', 'software']).describe('The category to filter by: \'homelab\', \'ide\', \'hardware\', or \'software\'.') } }, async ({ categoryName }) => { @@ -461,8 +461,8 @@ 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' + title: 'Request Homelab Status', + description: 'Generate a prompt to retrieve the status page of Arthur Danjou\'s homelab, including uptime and incident reports.' }, async () => { return {