LearnMCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
cd learn-mcp-server
npm install
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "FOREST_DATA_DIR=${FOREST_DATA_DIR}" learn-mcp -- node "<FULL_PATH_TO_LEARNMCP>/dist/index.js"

Replace <FULL_PATH_TO_LEARNMCP>/dist/index.js with the actual folder you prepared in step 1.

Required:FOREST_DATA_DIR
README.md

Enhances Forest 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

  1. Install Dependencies:

    cd learn-mcp-server
    npm install
    
  2. 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>"
          }
        }
      }
    }
    
  3. 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 to
  • urls (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 ID
  • status (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 ID
  • source_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 ID
  • source_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/
├── /
│   ├── 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:

  1. LearnMCP has processed learning sources for a project
  2. Forest builds an HTA tree for the same project
  3. Learning content summaries are injected into the HTA generation prompt

Workflow Examples

Basic Learning Content Workflow

  1. Add Sources:

    add_learning_sources(project_id="learn_python", urls=["https://youtube.com/watch?v=python_tutorial"])
    
  2. Process Content:

    process_learning_sources(project_id="learn_python")
    
  3. Check Status:

    get_processing_status(project_id="learn_python")
    
  4. Get Summary:

    get_learning_summary(project_id="learn_python")
    

Integrated with Forest

  1. Add and process learning sources in LearnMCP
  2. Build HTA tree in Forest - it will

Tools (6)

add_learning_sourcesAdd learning sources (URLs) to a project for content extraction.
process_learning_sourcesStart background processing of pending learning sources.
list_learning_sourcesList learning sources for a project, optionally filtered by status.
get_learning_summaryGet learning content summary for a project or specific source.
delete_learning_sourcesDelete learning sources and their summaries.
get_processing_statusGet current processing status for learning sources.

Environment Variables

FOREST_DATA_DIRrequiredThe directory path where Forest stores data.

Configuration

claude_desktop_config.json
{"mcpServers": {"learn-mcp": {"command": "node", "args": ["server.js"], "cwd": "learn-mcp-server", "env": {"FOREST_DATA_DIR": "<same as Forest>"}}}}

Try it

Add these YouTube tutorials to my python_learning project: [URL1, URL2].
Process the pending learning sources for the project 'web_development'.
What is the current processing status of my 'data_science' project?
Get the aggregated summary for my 'machine_learning' project.

Frequently Asked Questions

What are the key features of LearnMCP Server?

Extracts content from YouTube videos, PDFs, and web articles.. Performs asynchronous background processing of learning materials.. Generates smart summaries with relevance scoring.. Integrates with Forest's HTA builder for informed task generation..

What can I use LearnMCP Server for?

Aggregating research materials for project-based learning.. Summarizing long-form video tutorials into actionable project tasks.. Managing and tracking learning resources across multiple projects.. Automating the inclusion of external knowledge into project planning workflows..

How do I install LearnMCP Server?

Install LearnMCP Server by running: cd learn-mcp-server && npm install

What MCP clients work with LearnMCP Server?

LearnMCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep LearnMCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare