mirror of
https://github.com/ArthurDanjou/artmcp.git
synced 2026-01-14 16:54:22 +01:00
refactor: transition from MCP to REST API for portfolio data
- Removed MCP server integration and related components from index.vue and contact.json. - Updated project documentation to reflect the new ArtAPI server, including changes to project metadata and descriptions. - Eliminated MCP toolkit dependencies from nuxt.config.ts and package.json. - Introduced new REST API endpoints for chat prompts, replacing previous MCP prompts. - Deleted obsolete MCP resources and prompts, streamlining the codebase for a more focused API approach.
This commit is contained in:
@@ -36,11 +36,6 @@
|
||||
"icon": "i-ph:globe-duotone",
|
||||
"value": "https://arthurdanjou.fr"
|
||||
},
|
||||
{
|
||||
"name": "MCP Server",
|
||||
"icon": "i-ph:globe-duotone",
|
||||
"value": "https://api.arthurdanjou.fr/mcp"
|
||||
},
|
||||
{
|
||||
"name": "Status Page",
|
||||
"icon": "i-ph:fire-duotone",
|
||||
|
||||
@@ -1,126 +1,31 @@
|
||||
---
|
||||
slug: artmcp
|
||||
title: 🤖 ArtMcp
|
||||
description: A comprehensive Model Context Protocol (MCP) server exposing professional profile information about Arthur Danjou.
|
||||
slug: artapi
|
||||
title: 🤖 ArtAPI
|
||||
description: Arthur Danjou's Professional API Server providing REST endpoints for portfolio data.
|
||||
publishedAt: 2025/10/27
|
||||
readingTime: 3
|
||||
favorite: true
|
||||
tags:
|
||||
- web
|
||||
- nuxt
|
||||
- mcp
|
||||
- chat
|
||||
---
|
||||
|
||||
🤖 [ArtMcp](https://github.com/arthurdanjou/artmcp) - Arthur Danjou's MCP Server
|
||||
🤖 [ArtAPI](https://github.com/arthurdanjou/artapi) - Arthur Danjou's Professional API Server
|
||||
|
||||
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.
|
||||
**ArtAPI** is a professional API server built with Nuxt 4 and Nitro, providing REST endpoints for Arthur Danjou's portfolio data. It serves as a backend for various applications, including AI assistants, personal projects, and integrations.
|
||||
|
||||
🔗 **Live Server**: https://api.arthurdanjou.fr/mcp
|
||||
|
||||
## 🎯 Features
|
||||
|
||||
### MCP Resources
|
||||
|
||||
The server exposes the following resources through the Model Context Protocol:
|
||||
|
||||
- **📊 Skills** (`resource://artmcp/skills`) - Complete list of technical skills (programming languages, frameworks, tools)
|
||||
- **💼 Experiences** (`resource://artmcp/experiences`) - Professional work experience and projects
|
||||
- **🚀 Projects** (`resource://artmcp/projects`) - Portfolio of personal and professional projects
|
||||
- **🎓 Education** (`resource://artmcp/education`) - Academic background and degrees
|
||||
- **🌐 Languages** (`resource://artmcp/languages`) - Spoken languages with proficiency levels
|
||||
- **👤 Profile** (`resource://artmcp/profile`) - Comprehensive profile with bio, location, availability, career goals, and work preferences
|
||||
- **🎨 Hobbies** (`resource://artmcp/hobbies`) - Personal interests and activities
|
||||
- **📞 Contact** (`resource://artmcp/contact`) - Professional contact information and social links
|
||||
- **🛠️ Uses** (`resource://artmcp/uses`) - Tools, hardware, and software setup
|
||||
|
||||
### MCP Tools
|
||||
|
||||
- **`activity`** - Real-time current activity and status of Arthur Danjou
|
||||
- **`resume-link`** - Get download link for resume in English or French
|
||||
- **`stats`** - Detailed coding statistics and analytics from WakaTime
|
||||
- **`status-page`** - Real-time status and uptime monitoring for homelab infrastructure
|
||||
- **`uses-by-category`** - Filter uses by category (homelab, ide, hardware, software)
|
||||
- **`weather`** - Get current weather for a city
|
||||
|
||||
### MCP Prompts
|
||||
|
||||
Pre-configured prompts for common queries about:
|
||||
- Resume generation
|
||||
- Skills and expertise
|
||||
- Projects showcase
|
||||
- Real-time activity
|
||||
- Contact information
|
||||
- And more...
|
||||
🔗 **Live Server**: https://api.arthurdanjou.fr/api
|
||||
|
||||
## 🏗️ Architecture
|
||||
|
||||
This project uses:
|
||||
- **Nuxt 4** with Nitro for server-side rendering
|
||||
- **@nuxt/content** for content management
|
||||
- **@nuxtjs/mcp-toolkit** for MCP server implementation
|
||||
- **NuxtHub** for edge deployment on Cloudflare Workers
|
||||
- **nuxt-studio** for content management studio
|
||||
- **Zod** for schema validation
|
||||
|
||||
## 🚀 Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Node.js 18+ or Bun
|
||||
- pnpm 10.12.1+
|
||||
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pnpm install
|
||||
```
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Create a `.env` file (optional):
|
||||
|
||||
```bash
|
||||
# Discord integration (optional)
|
||||
NUXT_DISCORD_USER_ID=""
|
||||
NUXT_DISCORD_ID=""
|
||||
NUXT_DISCORD_TOKEN=""
|
||||
|
||||
# Wakatime integration (optional)
|
||||
NUXT_WAKATIME_USER_ID=""
|
||||
NUXT_WAKATIME_CODING=""
|
||||
NUXT_WAKATIME_EDITORS=""
|
||||
NUXT_WAKATIME_LANGUAGES=""
|
||||
NUXT_WAKATIME_OS=""
|
||||
|
||||
# Status page (optional)
|
||||
NUXT_STATUS_PAGE=""
|
||||
```
|
||||
|
||||
### Development
|
||||
|
||||
Start the development server on `http://localhost:3000`:
|
||||
|
||||
```bash
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
### Production
|
||||
|
||||
Build the application for production:
|
||||
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
### Deployment
|
||||
|
||||
Deploy to NuxtHub/Cloudflare:
|
||||
|
||||
```bash
|
||||
pnpm deploy
|
||||
```
|
||||
|
||||
## 📚 API Endpoints
|
||||
|
||||
All resources are also available as REST API endpoints:
|
||||
@@ -139,20 +44,6 @@ All resources are also available as REST API endpoints:
|
||||
- `GET /api/status-page`
|
||||
- `GET /api/resumes/{en|fr}` - Download resume
|
||||
|
||||
## 🧪 Development
|
||||
|
||||
### Linting
|
||||
|
||||
```bash
|
||||
pnpm lint
|
||||
```
|
||||
|
||||
### Type Checking
|
||||
|
||||
```bash
|
||||
npx tsc --noEmit --skipLibCheck
|
||||
```
|
||||
|
||||
## 📂 Content Structure
|
||||
|
||||
Content is managed in the `content/` directory:
|
||||
@@ -164,40 +55,12 @@ content/
|
||||
├── profile.md # Comprehensive profile info
|
||||
├── contact.json # Contact information
|
||||
├── hobbies.md # Personal interests
|
||||
├── documentation.md # MCP documentation
|
||||
├── experiences/*.md # Work experiences
|
||||
├── projects/*.md # Project portfolio
|
||||
├── education/*.md # Academic background
|
||||
└── uses/*.md # Tools and setup
|
||||
```
|
||||
|
||||
## 🔧 Technologies
|
||||
|
||||
- **Frontend/Backend**: Nuxt 4, Vue 3, Nitro
|
||||
- **MCP**: @nuxtjs/mcp-toolkit
|
||||
- **Content**: Nuxt Content with better-sqlite3
|
||||
- **Content Studio**: nuxt-studio
|
||||
- **Deployment**: Cloudflare Workers via NuxtHub
|
||||
- **Validation**: Zod schemas
|
||||
|
||||
## 📖 MCP Integration
|
||||
|
||||
To use this server with an MCP client:
|
||||
|
||||
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:
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"artmcp": {
|
||||
"url": "https://api.arthurdanjou.fr/mcp/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
This is a personal portfolio project. Feel free to use it as inspiration for your own MCP server!
|
||||
|
||||
Reference in New Issue
Block a user