LearnMCP Server
An MCP server that enhances the Forest application with learning content extraction and summarization capabilities.
LearnMCP Server
A standalone MCP server that enhances Forest with learning content extraction and summarization capabilities.
Overview
LearnMCP extracts and summarizes learning content from various sources (YouTube videos, PDFs, web articles) and makes those summaries available to Forest's HTA builder for more informed task generation.
Features
- Content Extraction: YouTube videos (with transcripts), PDF documents, web articles
- Background Processing: Async content processing with queue management
- Smart Summarization: Content chunking and summarization with relevance scoring
- Forest Integration: Optional integration with Forest's HTA tree builder
- Standalone Operation: Can be enabled/disabled independently of Forest
Architecture
User → LearnMCP Tools → LearnService → BackgroundProcessor ⇄ Extractors ⇄ Summarizer → DataPersistence
↓
<DATA_DIR>/learn-content/
↓
Forest HTA Builder (optional)
Installation
-
Install Dependencies:
cd learn-mcp-server npm install -
Configure MCP: Add to your
mcp-config.json:{ "mcpServers": { "learn-mcp": { "command": "node", "args": ["server.js"], "cwd": "learn-mcp-server", "env": { "FOREST_DATA_DIR": "<same as Forest>" } } } } -
Start Server: The server starts automatically when Claude Desktop loads the MCP config.
Available Tools
add_learning_sources
Add learning sources (URLs) to a project for content extraction.
Parameters:
project_id(string): Project ID to add sources tourls(array): Array of URLs (YouTube, PDF, articles)
Example:
{
"project_id": "my_project",
"urls": [
"https://youtube.com/watch?v=example",
"https://example.com/document.pdf",
"https://blog.example.com/article"
]
}
process_learning_sources
Start background processing of pending learning sources.
Parameters:
project_id(string): Project ID to process sources for
list_learning_sources
List learning sources for a project, optionally filtered by status.
Parameters:
project_id(string): Project IDstatus(string, optional): Filter by status (pending, processing, completed, failed)
get_learning_summary
Get learning content summary for a project or specific source.
Parameters:
project_id(string): Project IDsource_id(string, optional): Specific source ID (if not provided, returns aggregated summary)token_limit(number, optional): Maximum tokens for aggregated summary (default: 2000)
delete_learning_sources
Delete learning sources and their summaries.
Parameters:
project_id(string): Project IDsource_ids(array): Array of source IDs to delete
get_processing_status
Get current processing status for learning sources.
Parameters:
project_id(string): Project ID
Supported Content Types
YouTube Videos
- Extracts video metadata (title, author, duration, etc.)
- Downloads transcripts when available
- Falls back to description if no transcript
PDF Documents
- Extracts text content from remote PDF URLs
- Preserves document metadata
- Handles various PDF formats
Web Articles
- Uses Mozilla Readability for clean content extraction
- Extracts metadata (title, author, publish date, etc.)
- Estimates reading time
Data Storage
LearnMCP stores data in <FOREST_DATA_DIR>/learn-content/:
learn-content/
├── <project_id>/
│ ├── sources.json # Source registry
│ └── summaries/
│ ├── <source_id>.json # Individual summaries
│ └── ...
Forest Integration
When both LearnMCP and Forest are active, Forest's HTA builder can optionally include learning content summaries in its task generation prompts. This happens automatically when:
- LearnMCP has processed learning sources for a project
- Forest builds an HTA tree for the same project
- Learning content summaries are injected into the HTA generation prompt
Workflow Examples
Basic Learning Content Workflow
-
Add Sources:
add_learning_sources(project_id="learn_python", urls=["https://youtube.com/watch?v=python_tutorial"]) -
Process Content:
process_learning_sources(project_id="learn_python") -
Check Status:
get_processing_status(project_id="learn_python") -
Get Summary:
get_learning_summary(project_id="learn_python")
Integrated with Forest
- Add and process learning sources in LearnMCP
- Build HTA tree in Forest - it will automatically include learning content context
- Generated tasks will be informed by the processed learning materials
Configuration
Environment Variables
FOREST_DATA_DIR: Shared data directory with Forest (required)LOG_LEVEL: Logging level (debug, info, warn, error)NODE_ENV: Environment (development, production)
Background Processor Settings
- Max Queue Size: 50 tasks
- Max Concurrent: 2 simultaneous extractions
- Processing Interval: 3 seconds
- Retry Attempts: 3 per source
- Timeout: 5 minutes per extraction
Error Handling
- Graceful Degradation: Failed extractions don't block other sources
- Retry Logic: Automatic retries with exponential backoff
- Comprehensive Logging: Detailed logs for debugging
- Status Tracking: Clear status indicators for each source
Development
Running Tests
npm test
Linting
npm run lint
npm run lint:fix
Debugging
Set LOG_LEVEL=debug for detailed logging.
Troubleshooting
Common Issues
- YouTube extraction fails: Check if video has transcripts enabled
- PDF extraction fails: Ensure PDF is publicly accessible
- Article extraction fails: Some sites block automated access
Logs
Check logs in <FOREST_DATA_DIR>/logs/:
learn-mcp.log: General operationslearn-mcp-errors.log: Error details
License
MIT License - Same as Forest MCP Server
関連サーバー
Kone.vc
スポンサーMonetize your AI agent with contextual product recommendations
AutoCAD MCP Server
Integrates AutoCAD with large language models (LLMs) for natural language interaction. Requires AutoCAD 2018+ on Windows.
MCP Hub
A hub server that connects to and manages other MCP servers.
MCP Hub
A manager server for MCP servers that handles process management and tool routing.
Yandex Tracker
Integrates with Yandex Tracker, allowing an AI assistant to interact with its task management system via the MCP protocol.
mpesa-mcp
MCP server for M-Pesa (Safaricom Daraja) and Africa's Talking APIs. Gives AI coding assistants — Claude Code, Cursor, GitHub Copilot — direct access to East African payment and SMS infrastructure from a single server. What it does: STK Push payments via Safaricom Daraja (triggers M-Pesa prompt on user's phone) Transaction status queries SMS to 20+ African telecom networks via Africa's Talking Airtime top-up across East and West Africa Safety: All 5 tools are annotated per MCP 2025-03-26 spec — payment and SMS tools declare destructiveHint: true, so Claude Desktop and other clients show confirmation dialogs before executing. Query tools declare readOnlyHint: true for auto-approval. Install: pip install mpesa-mcp Who it's for: Developers building AI agents for East African markets. M-Pesa handles ~$50B/year in transactions and reaches 50M+ users. Africa's Talking reaches 300M+ phones across 20+ telecoms.
floor plan generator
BuildFloorPlan is an AI floor plan generator for homeowners, interior designers, builders, and small planning teams who need to move from rough input to a reviewable layout faster. It turns short briefs, sketches, images, and PDFs into clearer floor plan outputs in seconds, supports technical 2D layouts, colored presentation-ready plans, and quick 3D previews, and helps users compare layout directions before renovation, client presentation, or internal review. It is designed for fast first drafts, supports editing and refinement workflows, and does not require CAD experience. You can start free with starter credits, and paid plans add more credits, longer history, and commercial usage options.
MCP Outlook Tools
Interact with Microsoft Outlook for calendar management, email operations, and search functionality.
Plane MCP Server
Manage projects and issues on the open-source project management platform, Plane.so.
Odoo MCP Server
An MCP server that provides direct access to Odoo ERP system capabilities.
Notion
Connects AI assistants to your Notion workspace to search and manage pages, databases, and content.