From e49fc32e5293d0c85ac89f6a1609d4420aacedac Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Tue, 16 Dec 2025 16:43:30 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20mettre=20=C3=A0=20jour=20les=20URL=20de?= =?UTF-8?q?=20l'API=20et=20ajouter=20la=20gestion=20des=20collections=20da?= =?UTF-8?q?ns=20la=20configuration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +- app/pages/index.vue | 127 +------------ app/pages/mcp.vue | 13 ++ content.config.ts | 6 +- content/contact.json | 4 +- content/index.md | 325 +++++++++++++------------------- content/mcp.md | 195 +++++++++++++++++++ content/projects/artmcp.md | 6 +- nuxt.config.ts | 3 +- server/mcp/tools/resume-link.ts | 2 +- 10 files changed, 362 insertions(+), 325 deletions(-) create mode 100644 app/pages/mcp.vue create mode 100644 content/mcp.md diff --git a/README.md b/README.md index 4c436ab..18964ce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server exposing professional profile information about Arthur Danjou. Built with [Nuxt](https://nuxt.com) and deployed on [NuxtHub](https://hub.nuxt.com) at the Edge. -🔗 **Live Server**: https://mcp.arthurdanjou.fr +🔗 **Live Server**: https://api.arthurdanjou.fr/mcp ## 🎯 Features @@ -171,7 +171,7 @@ content/ To use this server with an MCP client: -1. Configure your MCP client to connect to `https://mcp.arthurdanjou.fr/mcp` +1. Configure your MCP client to connect to `https://api.arthurdanjou.fr/mcp/mcp` 2. Or use the API directly via REST endpoints Example MCP client configuration: @@ -179,7 +179,7 @@ Example MCP client configuration: { "mcpServers": { "artmcp": { - "url": "https://mcp.arthurdanjou.fr/mcp" + "url": "https://api.arthurdanjou.fr/mcp/mcp" } } } diff --git a/app/pages/index.vue b/app/pages/index.vue index 8aa438d..a644577 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -1,134 +1,19 @@ - - diff --git a/app/pages/mcp.vue b/app/pages/mcp.vue new file mode 100644 index 0000000..b139ec6 --- /dev/null +++ b/app/pages/mcp.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/content.config.ts b/content.config.ts index aa6c643..2f05439 100644 --- a/content.config.ts +++ b/content.config.ts @@ -104,9 +104,13 @@ export default defineContentConfig({ type: 'data', source: 'profile.md' }), - documentation: defineCollection({ + index: defineCollection({ type: 'page', source: 'index.md' + }), + mcp: defineCollection({ + type: 'page', + source: 'mcp.md' }) } }) diff --git a/content/contact.json b/content/contact.json index a8f129a..a0568ed 100644 --- a/content/contact.json +++ b/content/contact.json @@ -39,10 +39,10 @@ { "name": "MCP Server", "icon": "i-ph:globe-duotone", - "value": "https://mcp.arthurdanjou.fr" + "value": "https://api.arthurdanjou.fr/mcp" }, { - "name": "Status Page", + "name": "Status Page", "icon": "i-ph:fire-duotone", "value": "https://go.arthurdanjou.fr/status" } diff --git a/content/index.md b/content/index.md index c8d34f4..8aa438d 100644 --- a/content/index.md +++ b/content/index.md @@ -1,195 +1,134 @@ ---- -title: ArtMCP Documentation -description: Documentation for ArtMCP - Arthur Danjou's Model Context Protocol Server -mcp: https://mcp.arthurdanjou.fr/mcp ---- - -# ArtMCP Documentation - -Welcome to **ArtMCP**, a comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server exposing professional profile information about Arthur Danjou. Built with [Nuxt](https://nuxt.com) and deployed on [NuxtHub](https://hub.nuxt.com) at the Edge. - -## Installation - -::install-button{:url="mcp"} -:: - -::install-button{:url="mcp" ide="vscode"} -:: - -## Overview - -ArtMCP provides AI assistants and applications with structured access to Arthur Danjou's professional information through the Model Context Protocol. This includes profile data, skills, experiences, projects, and real-time activity information. - ---- - -## Tools - -Tools are executable functions that AI assistants can call to perform actions or retrieve dynamic data. - -### `activity` - -**Description:** Real-time current activity and status of Arthur Danjou, including what he's currently working on. - -### `resume-link` - -**Description:** Retrieves a direct download link to Arthur Danjou's professional resume in the specified language. - -- **Input:** `lang` - The language for the resume: `'en'` for English or `'fr'` for French. - -### `stats` - -**Description:** Detailed coding statistics and analytics from WakaTime, including programming languages, time spent coding, and productivity metrics. - -### `status-page` - -**Description:** Real-time status, uptime monitoring, and incident reports for Arthur Danjou's homelab infrastructure, powered by UptimeKuma. - -### `uses-by-category` - -**Description:** Retrieves a filtered list of tools, software, and hardware used by Arthur Danjou based on a specific category. - -- **Input:** `categoryName` - The category to filter by: `'homelab'`, `'ide'`, `'hardware'`, or `'software'`. - -### `weather` - -**Description:** Get current weather for a city. - -- **Input:** `city` - City name. - ---- - -## Prompts - -Prompts are pre-configured conversation starters that guide AI assistants on how to query specific information. - -### `activity` - -**Description:** Generates a prompt to retrieve Arthur Danjou's current real-time activity status, including what he is currently working on. - -### `contact` - -**Description:** Generates a prompt to retrieve Arthur Danjou's contact information and social media links, including email, LinkedIn, GitHub, Twitter, Discord, and personal websites. - -### `hobbies` - -**Description:** Generates a prompt to retrieve information about Arthur Danjou's personal hobbies, interests, and passions outside of professional work. - -### `languages` - -**Description:** Generates a prompt to retrieve the languages spoken by Arthur Danjou along with detailed proficiency levels for each language. - -### `profile` - -**Description:** Generates a prompt to retrieve comprehensive professional profile information about Arthur Danjou, including biography, location, availability status, career goals, and work preferences. - -### `projects` - -**Description:** Generates a prompt to retrieve a comprehensive list of personal and professional projects developed by Arthur Danjou, showcasing his technical skills and achievements. - -### `resume` - -**Description:** Generates a prompt to request and retrieve Arthur Danjou's professional resume in the specified language. - -- **Input:** `lang` - The language for the resume: `'en'` for English or `'fr'` for French. - -### `skills` - -**Description:** Generates a prompt to retrieve a comprehensive list of technical skills, programming languages, frameworks, and tools mastered by Arthur Danjou. - -### `stats` - -**Description:** Generates a prompt to retrieve Arthur Danjou's detailed coding statistics and analytics powered by WakaTime, including programming languages, time spent coding, and productivity metrics. - -### `status-page` - -**Description:** Generates a prompt to retrieve the real-time status page of Arthur Danjou's homelab infrastructure, including uptime monitoring and incident reports powered by UptimeKuma. - -### `uses-by-category` - -**Description:** Generates a prompt to retrieve tools, software, and hardware used by Arthur Danjou, filtered by a specific category. - -- **Input:** `categoryName` - The category to filter by: `'homelab'`, `'ide'`, `'hardware'`, or `'software'`. - ---- - -## Resources - -Resources are static or semi-static data endpoints that provide structured information about Arthur Danjou. - -### `resource://artmcp/profile` - -**Title:** Arthur Danjou - Professional Profile :br**Description:** Comprehensive professional profile of Arthur Danjou, including biography, location, availability status, career goals, and work preferences. - -### `resource://artmcp/contact` - -**Title:** Arthur Danjou - Contact Information & Social Media Links :br**Description:** Contact information and social media links for Arthur Danjou, including email, LinkedIn, GitHub, Twitter, Discord, and personal websites. - -### `resource://artmcp/education` - -**Title:** Arthur Danjou - Education & Academic Background :br**Description:** Arthur Danjou's educational background, including degrees, institutions, and academic achievements. - -### `resource://artmcp/experiences` - -**Title:** Arthur Danjou - Experiences :br**Description:** A detailed list of Arthur Danjou's professional work experiences, including roles, companies, and responsibilities. - -### `resource://artmcp/hobbies` - -**Title:** Arthur Danjou - Hobbies & Interests :br**Description:** Arthur Danjou's personal hobbies, interests, and passions outside of professional work. - -### `resource://artmcp/languages` - -**Title:** Arthur Danjou - Spoken Languages & Proficiency Levels :br**Description:** Languages spoken by Arthur Danjou with detailed proficiency levels for each language. - -### `resource://artmcp/projects` - -**Title:** Arthur Danjou - Projects Portfolio :br**Description:** A comprehensive collection of projects developed by Arthur Danjou, showcasing technical skills and achievements. - -### `resource://artmcp/skills` - -**Title:** Arthur Danjou - Skills :br**Description:** A comprehensive list of technical skills, programming languages, frameworks, and tools mastered by Arthur Danjou. - -### `resource://artmcp/uses` - -**Title:** Arthur Danjou - Tech Stack & Tools :br**Description:** A curated list of tools, software, and hardware used by Arthur Danjou, organized by categories (homelab, IDE, hardware, software). - ---- - -## MCP Integration - -To use this server with an MCP client, configure your client to connect to: - -```text -https://mcp.arthurdanjou.fr/mcp -``` - -### Example Configuration - -```json -{ - "mcpServers": { - "artmcp": { - "url": "https://mcp.arthurdanjou.fr/mcp" - } + + + + + diff --git a/content/mcp.md b/content/mcp.md new file mode 100644 index 0000000..86cffdc --- /dev/null +++ b/content/mcp.md @@ -0,0 +1,195 @@ +--- +title: ArtMCP Documentation +description: Documentation for ArtMCP - Arthur Danjou's Model Context Protocol Server +mcp: https://api.arthurdanjou.fr/mcp +--- + +# ArtMCP Documentation + +Welcome to **ArtMCP**, a comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server exposing professional profile information about Arthur Danjou. Built with [Nuxt](https://nuxt.com) and deployed on [NuxtHub](https://hub.nuxt.com) at the Edge. + +## Installation + +::install-button{:url="mcp"} +:: + +::install-button{:url="mcp" ide="vscode"} +:: + +## Overview + +ArtMCP provides AI assistants and applications with structured access to Arthur Danjou's professional information through the Model Context Protocol. This includes profile data, skills, experiences, projects, and real-time activity information. + +--- + +## Tools + +Tools are executable functions that AI assistants can call to perform actions or retrieve dynamic data. + +### `activity` + +**Description:** Real-time current activity and status of Arthur Danjou, including what he's currently working on. + +### `resume-link` + +**Description:** Retrieves a direct download link to Arthur Danjou's professional resume in the specified language. + +- **Input:** `lang` - The language for the resume: `'en'` for English or `'fr'` for French. + +### `stats` + +**Description:** Detailed coding statistics and analytics from WakaTime, including programming languages, time spent coding, and productivity metrics. + +### `status-page` + +**Description:** Real-time status, uptime monitoring, and incident reports for Arthur Danjou's homelab infrastructure, powered by UptimeKuma. + +### `uses-by-category` + +**Description:** Retrieves a filtered list of tools, software, and hardware used by Arthur Danjou based on a specific category. + +- **Input:** `categoryName` - The category to filter by: `'homelab'`, `'ide'`, `'hardware'`, or `'software'`. + +### `weather` + +**Description:** Get current weather for a city. + +- **Input:** `city` - City name. + +--- + +## Prompts + +Prompts are pre-configured conversation starters that guide AI assistants on how to query specific information. + +### `activity` + +**Description:** Generates a prompt to retrieve Arthur Danjou's current real-time activity status, including what he is currently working on. + +### `contact` + +**Description:** Generates a prompt to retrieve Arthur Danjou's contact information and social media links, including email, LinkedIn, GitHub, Twitter, Discord, and personal websites. + +### `hobbies` + +**Description:** Generates a prompt to retrieve information about Arthur Danjou's personal hobbies, interests, and passions outside of professional work. + +### `languages` + +**Description:** Generates a prompt to retrieve the languages spoken by Arthur Danjou along with detailed proficiency levels for each language. + +### `profile` + +**Description:** Generates a prompt to retrieve comprehensive professional profile information about Arthur Danjou, including biography, location, availability status, career goals, and work preferences. + +### `projects` + +**Description:** Generates a prompt to retrieve a comprehensive list of personal and professional projects developed by Arthur Danjou, showcasing his technical skills and achievements. + +### `resume` + +**Description:** Generates a prompt to request and retrieve Arthur Danjou's professional resume in the specified language. + +- **Input:** `lang` - The language for the resume: `'en'` for English or `'fr'` for French. + +### `skills` + +**Description:** Generates a prompt to retrieve a comprehensive list of technical skills, programming languages, frameworks, and tools mastered by Arthur Danjou. + +### `stats` + +**Description:** Generates a prompt to retrieve Arthur Danjou's detailed coding statistics and analytics powered by WakaTime, including programming languages, time spent coding, and productivity metrics. + +### `status-page` + +**Description:** Generates a prompt to retrieve the real-time status page of Arthur Danjou's homelab infrastructure, including uptime monitoring and incident reports powered by UptimeKuma. + +### `uses-by-category` + +**Description:** Generates a prompt to retrieve tools, software, and hardware used by Arthur Danjou, filtered by a specific category. + +- **Input:** `categoryName` - The category to filter by: `'homelab'`, `'ide'`, `'hardware'`, or `'software'`. + +--- + +## Resources + +Resources are static or semi-static data endpoints that provide structured information about Arthur Danjou. + +### `resource://artmcp/profile` + +**Title:** Arthur Danjou - Professional Profile :br**Description:** Comprehensive professional profile of Arthur Danjou, including biography, location, availability status, career goals, and work preferences. + +### `resource://artmcp/contact` + +**Title:** Arthur Danjou - Contact Information & Social Media Links :br**Description:** Contact information and social media links for Arthur Danjou, including email, LinkedIn, GitHub, Twitter, Discord, and personal websites. + +### `resource://artmcp/education` + +**Title:** Arthur Danjou - Education & Academic Background :br**Description:** Arthur Danjou's educational background, including degrees, institutions, and academic achievements. + +### `resource://artmcp/experiences` + +**Title:** Arthur Danjou - Experiences :br**Description:** A detailed list of Arthur Danjou's professional work experiences, including roles, companies, and responsibilities. + +### `resource://artmcp/hobbies` + +**Title:** Arthur Danjou - Hobbies & Interests :br**Description:** Arthur Danjou's personal hobbies, interests, and passions outside of professional work. + +### `resource://artmcp/languages` + +**Title:** Arthur Danjou - Spoken Languages & Proficiency Levels :br**Description:** Languages spoken by Arthur Danjou with detailed proficiency levels for each language. + +### `resource://artmcp/projects` + +**Title:** Arthur Danjou - Projects Portfolio :br**Description:** A comprehensive collection of projects developed by Arthur Danjou, showcasing technical skills and achievements. + +### `resource://artmcp/skills` + +**Title:** Arthur Danjou - Skills :br**Description:** A comprehensive list of technical skills, programming languages, frameworks, and tools mastered by Arthur Danjou. + +### `resource://artmcp/uses` + +**Title:** Arthur Danjou - Tech Stack & Tools :br**Description:** A curated list of tools, software, and hardware used by Arthur Danjou, organized by categories (homelab, IDE, hardware, software). + +--- + +## MCP Integration + +To use this server with an MCP client, configure your client to connect to: + +```text +https://api.arthurdanjou.fr/mcp/mcp +``` + +### Example Configuration + +```json +{ + "mcpServers": { + "artmcp": { + "url": "https://api.arthurdanjou.fr/mcp/mcp" + } + } +} +``` + +--- + +## API Endpoints + +All resources are also available as REST API endpoints: + +- `GET /api/profile` - Profile information +- `GET /api/contact` - Contact information +- `GET /api/skills` - Technical skills +- `GET /api/experiences` - Work experiences +- `GET /api/education` - Education background +- `GET /api/projects` - Projects portfolio +- `GET /api/languages` - Spoken languages +- `GET /api/hobbies` - Hobbies and interests +- `GET /api/uses` - Tech stack and tools +- `GET /api/activity` - Real-time activity +- `GET /api/wakatime` - Coding statistics +- `GET /api/status-page` - Status page +- `GET /api/resumes/{en|fr}` - Download resume diff --git a/content/projects/artmcp.md b/content/projects/artmcp.md index 83763a3..264e92d 100644 --- a/content/projects/artmcp.md +++ b/content/projects/artmcp.md @@ -15,7 +15,7 @@ tags: A comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server exposing professional profile information about Arthur Danjou. Built with [Nuxt](https://nuxt.com) and deployed on [NuxtHub](https://hub.nuxt.com) at the Edge. -🔗 **Live Server**: https://mcp.arthurdanjou.fr +🔗 **Live Server**: https://api.arthurdanjou.fr/mcp ## 🎯 Features @@ -184,7 +184,7 @@ content/ To use this server with an MCP client: -1. Configure your MCP client to connect to `https://mcp.arthurdanjou.fr/mcp` +1. Configure your MCP client to connect to `https://api.arthurdanjou.fr/mcp/mcp` 2. Or use the API directly via REST endpoints Example MCP client configuration: @@ -192,7 +192,7 @@ Example MCP client configuration: { "mcpServers": { "artmcp": { - "url": "https://mcp.arthurdanjou.fr/mcp" + "url": "https://api.arthurdanjou.fr/mcp/mcp" } } } diff --git a/nuxt.config.ts b/nuxt.config.ts index 8916709..65f2f62 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -74,7 +74,8 @@ export default defineNuxtConfig({ mcp: { name: 'ArtMCP', - version: '1.0.0' + version: '1.0.0', + browserRedirect: '/mcp' }, studio: { diff --git a/server/mcp/tools/resume-link.ts b/server/mcp/tools/resume-link.ts index bd96bdd..a391b26 100644 --- a/server/mcp/tools/resume-link.ts +++ b/server/mcp/tools/resume-link.ts @@ -6,7 +6,7 @@ export default defineMcpTool({ lang: z.enum(['en', 'fr']).describe('The language for the resume: \'en\' for English or \'fr\' for French.') }, handler: async ({ lang }) => { - const base_url = import.meta.dev ? 'http://localhost:3000/api' : 'https://mcp.arthurdanjou.fr/api' + const base_url = import.meta.dev ? 'http://localhost:3000/api' : 'https://api.arthurdanjou.fr/api' const url = `${base_url}/resumes/${lang}` return { content: [{ type: 'text', text: JSON.stringify(url) }]