README.mdā¢4.16 kB
# š MCP Content Curation Server
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
[](https://openai.com/)
[](LICENSE)
A **Model Context Protocol (MCP)** server for intelligent course content curation powered by **GPT-4**. This server provides AI-driven tools to categorize, tag, and improve educational content.
## ⨠Features
- **šļø Smart Categorization**: AI-powered category suggestions for course content
- **š·ļø Intelligent Tagging**: Context-aware tag recommendations using GPT-4
- **⨠Content Optimization**: Improve titles and descriptions following best practices
- **š MCP Integration**: Seamless integration with Claude Desktop and other MCP clients
## š Quick Start
### Prerequisites
- Node.js 18+
- OpenAI API key
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/yourusername/mcp-content-curation-server.git
cd mcp-content-curation-server
```
2. **Install dependencies**
```bash
npm install
```
3. **Configure environment**
```bash
cp .env.example .env
# Edit .env and add your OpenAI API key
```
4. **Run the server**
```bash
# Development mode
npm run dev
# Production mode
npm run build
npm start
```
## š§ OpenAI Setup
1. Get your API key from [OpenAI Platform](https://platform.openai.com/api-keys)
2. Add it to your `.env` file:
```bash
OPENAI_API_KEY=sk-your-actual-api-key-here
```
## š„ļø Claude Desktop Integration
Update your `claude_desktop_config.json`:
**Development Mode:**
```json
{
"mcpServers": {
"content-curation": {
"command": "npx",
"args": ["tsx", "/path/to/your/project/src/server.ts"],
"cwd": "/path/to/your/project",
"env": {
"NODE_ENV": "development"
}
}
}
}
```
**Production Mode:**
```json
{
"mcpServers": {
"content-curation": {
"command": "node",
"args": ["/path/to/your/project/dist/server.js"],
"cwd": "/path/to/your/project",
"env": {
"NODE_ENV": "production"
}
}
}
}
```
## š ļø Available Tools
### 1. `suggest_category`
Suggests the most appropriate category for course content.
**Input:**
```json
{
"title": "Python for Data Science",
"description": "Learn data analysis with pandas and matplotlib"
}
```
### 2. `suggest_tags`
Recommends relevant tags based on course content.
**Input:**
```json
{
"title": "Digital Marketing Fundamentals",
"description": "Master SEO, Google Ads, and social media marketing"
}
```
### 3. `improve_content`
Optimizes titles and descriptions following educational best practices.
**Input:**
```json
{
"title": "JavaScript Basics",
"description": "Learn programming fundamentals"
}
```
## š Data Structure
The server includes:
- **5 main categories**: Technology, Business, Design, Marketing, Analytics
- **18 contextual tags**: Organized by subject area
- **10 sample courses**: For similarity analysis and training
## š” Usage Examples
### Categorization
```
Suggest a category for: "Advanced React Hooks" - "Custom hooks and performance optimization in React"
```
### Tagging
```
What tags would you recommend for: "Machine Learning with Python"?
```
### Content Improvement
```
Improve this content:
Title: "Excel Basics"
Description: "Learn spreadsheets"
```
## š ļø Development
### Available Scripts
- `npm run dev` - Start development server
- `npm run build` - Compile TypeScript
- `npm start` - Run production server
- `npm run debug` - Run diagnostics
### Project Structure
```
src/
āāā server.ts # Main MCP server
āāā services/
ā āāā ai.service.ts # OpenAI GPT-4 integration
ā āāā curation.service.ts # Curation logic
āāā data/
ā āāā mock-data.ts # Categories, tags, and sample data
āāā types.ts # TypeScript definitions
```