diff --git a/content.config.ts b/content.config.ts index d8efc97..5212f4f 100644 --- a/content.config.ts +++ b/content.config.ts @@ -80,7 +80,8 @@ export default defineContentConfig({ body: z.array(z.object({ name: z.string(), icon: z.string().optional(), - value: z.string().url() + value: z.string().url(), + username: z.string().optional() })) }) }), @@ -136,33 +137,6 @@ export default defineContentConfig({ }), achievements: z.array(z.string()) }) - }), - socials: defineCollection({ - type: 'page', - source: 'socials.json', - schema: z.object({ - github: z.object({ - username: z.string(), - url: z.string().url(), - stats: z.object({ - note: z.string() - }) - }), - linkedin: z.object({ - url: z.string().url() - }), - twitter: z.object({ - url: z.string().url() - }), - discord: z.object({ - url: z.string().url() - }), - website: z.object({ - personal: z.string().url(), - mcp: z.string().url(), - status: z.string().url() - }) - }) }) } }) diff --git a/content/contact.json b/content/contact.json index 9523e01..cb65243 100644 --- a/content/contact.json +++ b/content/contact.json @@ -18,7 +18,8 @@ { "name": "GitHub", "icon": "i-ph:github-logo-duotone", - "value": "https://go.arthurdanjou.fr/github" + "value": "https://go.arthurdanjou.fr/github", + "username": "ArthurDanjou" }, { "name": "Twitter", @@ -29,6 +30,21 @@ "name": "Discord", "icon": "i-ph:discord-logo-duotone", "value": "https://go.arthurdanjou.fr/discord" + }, + { + "name": "Personal Website", + "icon": "i-ph:globe-duotone", + "value": "https://arthurdanjou.fr" + }, + { + "name": "MCP Server", + "icon": "i-ph:globe-duotone", + "value": "https://mcp.arthurdanjou.fr" + }, + { + "name": "Status Page", + "icon": "i-ph:activity-duotone", + "value": "https://go.arthurdanjou.fr/status" } ] } \ No newline at end of file diff --git a/content/socials.json b/content/socials.json deleted file mode 100644 index cdc6370..0000000 --- a/content/socials.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "github": { - "username": "ArthurDanjou", - "url": "https://go.arthurdanjou.fr/github", - "stats": { - "note": "Real-time stats available via GitHub API" - } - }, - "linkedin": { - "url": "https://go.arthurdanjou.fr/linkedin" - }, - "twitter": { - "url": "https://go.arthurdanjou.fr/twitter" - }, - "discord": { - "url": "https://go.arthurdanjou.fr/discord" - }, - "website": { - "personal": "https://arthurdanjou.fr", - "mcp": "https://mcp.arthurdanjou.fr", - "status": "https://go.arthurdanjou.fr/status" - } -} diff --git a/server/api/socials.get.ts b/server/api/socials.get.ts deleted file mode 100644 index c9b4692..0000000 --- a/server/api/socials.get.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { queryCollection } from '@nuxt/content/server' - -export default defineCachedEventHandler(async (event) => { - return await queryCollection(event, 'socials') - .where('extension', '=', 'json') - .first() -}, { - name: 'socials-list', - maxAge: 3600 // 1 hour -}) diff --git a/server/routes/mcp.ts b/server/routes/mcp.ts index be3d24e..c7645ad 100644 --- a/server/routes/mcp.ts +++ b/server/routes/mcp.ts @@ -147,7 +147,7 @@ function createServer() { 'resource://artmcp/contact', { title: 'ArtMCP Contact', - description: 'Get Contact Information of Arthur Danjou' + description: 'Get Contact Information and Social Links of Arthur Danjou including email, LinkedIn, GitHub, Twitter, Discord, and websites' }, async (uri) => { const result = await $fetch('/api/contact') @@ -256,25 +256,6 @@ function createServer() { } ) - server.registerResource( - 'artmcp-socials', - 'resource://artmcp/socials', - { - title: 'ArtMCP Social Links', - description: 'Get social media profiles and online presence of Arthur Danjou' - }, - async (uri) => { - const result = await $fetch('/api/socials') - return { - contents: [{ - uri: uri.href, - mimeType: 'application/json', - text: JSON.stringify(result, null, 2) - }] - } - } - ) - // Tools server.registerTool( 'get_resume_link', @@ -379,8 +360,8 @@ function createServer() { server.registerPrompt( 'artmcp-contact', { - title: 'Get Contact Information of Arthur Danjou', - description: 'Get Contact Information of Arthur Danjou' + title: 'Get Contact Information and Social Links of Arthur Danjou', + description: 'Get Contact Information and Social Links of Arthur Danjou including email, social media, and websites' }, async () => { return { @@ -388,7 +369,7 @@ function createServer() { role: 'user', content: { type: 'text', - text: `How can I contact Arthur Danjou?` + text: `How can I contact Arthur Danjou? Provide all contact methods and social links.` } }] } @@ -553,25 +534,6 @@ function createServer() { } ) - server.registerPrompt( - 'artmcp-socials', - { - title: 'Get Social Media Links of Arthur Danjou', - description: 'Get social media profiles and online presence' - }, - async () => { - return { - messages: [{ - role: 'user', - content: { - type: 'text', - text: `What are Arthur Danjou's social media profiles and online presence?` - } - }] - } - } - ) - return server }