Raahim24/MCP-Server
If you are the rightful owner of MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Learning Resource MCP Server is a robust tool designed to streamline the discovery and organization of educational content, leveraging advanced APIs and integrations.
Learning Resource MCP Server
A powerful MCP (Model Context Protocol) server that automatically searches for learning resources, generates personalized roadmaps, and organizes everything in Notion databases.
Features
- Smart Resource Discovery: Uses Exa API to find tutorials, practice problems, and project ideas
- AI-Powered Roadmaps: Generates structured learning paths with OpenAI
- Notion Integration: Automatically creates organized database entries with beautiful formatting
- Batch Processing: Handles large content efficiently with proper batching
- Markdown Parsing: Converts markdown to properly formatted Notion blocks
Tech Stack
- Next.js 15 - Framework
- TypeScript - Type safety
- Exa API - Web search for learning resources
- OpenAI API - Roadmap generation
- Notion API - Database storage
- Redis - Caching (via Vercel MCP Adapter)
Prerequisites
API Keys Required
- Exa API Key - Get from exa.ai
- OpenAI API Key - Get from platform.openai.com
- Notion Integration Token - Create at developers.notion.com
- Redis URL - Get from upstash.com or any Redis provider
Notion Database Setup
Create a new Notion database with these exact property names:
- Topic (Title property)
- Date Created (Date property)
- Status (Select property) with options: "Not started", "In progress", "Done"
Installation
Clone and Install
git clone <your-repo-url>
cd learning-resource-mcp-server
npm install
Environment Setup
Create .env.local file in the root directory:
EXA_API_KEY=your_exa_api_key_here
GPT_API_KEY=your_openai_api_key_here
NOTION_API_KEY=your_notion_integration_token_here
NOTION_DATABASE_ID=your_notion_database_id_here
NOTION_PAGE_ID=your_notion_page_id_here
REDIS_URL=your_redis_connection_string
Start Development Server
npm run dev
Your MCP server will be available at: http://localhost:3000
Usage
Step 1: Search for Resources
{
"tool": "search_learning_resources",
"parameters": {
"topic": "Python"
}
}
Result: Creates data/python-resources.json with tutorials, practice problems, and projects
Step 2: Generate Learning Roadmap
{
"tool": "create_learning_roadmap",
"parameters": {
"topic": "Python"
}
}
Result: Creates data/python-roadmap.txt with AI-generated learning path
Step 3: List All Resources
{
"tool": "list_all_resources",
"parameters": {
"topic": "Python"
}
}
Result: Creates data/python-resource-list.txt with formatted resource list
Step 4: Upload to Notion
{
"tool": "upload_to_notion",
"parameters": {
"topic": "Python"
}
}
Result: Creates beautiful database entry in Notion with roadmap + resources
Project Structure
learning-resource-mcp-server/
├── app/
│ └── [transport]/
│ └── route.ts # Main MCP server endpoints
├── config/
│ └── env.ts # Environment variable validation
├── utils/
│ ├── exaClient.ts # Exa search integration
│ ├── openai.ts # AI roadmap generation
│ ├── notion.ts # Notion database operations
│ └── logger.ts # Logging system
├── data/ # Generated files (auto-created)
├── .env.local # Your API keys (create this)
├── package.json
└── README.md
Complete Workflow Example
- Search: search_learning_resources("React")
- Roadmap: create_learning_roadmap("React")
- List: list_all_resources("React")
- Upload: upload_to_notion("React")
Result: Organized Notion database entry with React learning roadmap and curated resources
Notion Setup Guide
Create Integration
- Go to notion.so/my-integrations
- Click "New integration"
- Name it "Learning Resources"
- Copy the Internal Integration Token (this is your NOTION_API_KEY)
Create Database
- Create a new Notion page
- Add a database with these properties:
- Topic (Title)
- Date Created (Date)
- Status (Select: "Not started", "In progress", "Done")
- Share the page with your integration
- Copy database ID from URL (this is your NOTION_DATABASE_ID)
Get Database ID
From URL like: https://notion.so/workspace/abc123def456... The database ID is: abc123def456
Connecting to MCP Clients
Add to Cursor
- Open your Cursor settings
- Find the mcp.json file (usually in ~/.cursor/)
- Add your server configuration:
{
"mcpServers": {
"learning-assistant": {
"url": "http://localhost:3000/sse"
}
}
}
Add to Claude Desktop
Add to your Claude Desktop MCP settings:
{
"mcpServers": {
"learning-assistant": {
"url": "http://localhost:3000/sse"
}
}
}
Start Your Server
Make sure your server is running:
npm run dev
Available tools in Cursor/Claude:
- search_learning_resources
- create_learning_roadmap
- list_all_resources
- upload_to_notion
What You Get
Your Notion database will contain beautifully formatted entries with:
- Proper headings and subheadings
- Clickable links to all resources
- Numbered lists for roadmap steps
- Bold text for emphasis
- Organized sections for tutorials, practice, projects
License
MIT License - see LICENSE file for details.