Marble MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "SUPABASE_URL=${SUPABASE_URL}" -e "SUPABASE_KEY=${SUPABASE_KEY}" marble-mcp -- npx marble-mcp-server
Required:SUPABASE_URLSUPABASE_KEY
README.md

Generates learning project links for the Marble platform

Marble MCP Server

An MCP (Model Context Protocol) server that generates learning project links for the Marble platform (withmarble.io). This server enables Claude Code to analyze codebases and suggest relevant learning projects with direct links to create them on Marble.

Features

  • Codebase Analysis: Analyzes your current codebase to understand technologies and patterns
  • AI-Generated Projects: Suggests relevant learning projects based on code analysis
  • Interactive Slides: Generate links to interactive learning slides based on your code
  • Marble Platform Integration: Generates properly formatted links to create projects on withmarble.io
  • Customizable: Specify topics, difficulty levels, and code context for tailored suggestions
  • Short URLs: Stores prompts in a database for clean, shareable links (optional)

Installation

Claude Code

Run claude mcp add marble npx marble-mcp-server --scope user.

Cursor

Modify your ~/.cursor/mcp.json to be like:

{
  "mcpServers": {
    "marble": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "marble-mcp-server"
      ],
      "env": {
      }
    }
  }
}

Augment Code

  1. Go to the Augment Settings.
  2. Under "Tools", scroll down until you find "MCP". Click the "Import from JSON" button.
  3. Paste the following JSON snippet:
{
  "mcpServers": {
    "marble": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "marble-mcp-server"
      ],
      "env": {
      }
    }
  }
}

Usage

1. Suggest Learning Projects

Ask Claude Code to suggest projects for learning something in your codebase:

"I want to learn more about React hooks. Can you suggest some projects?"

"What are some projects I could build to learn the authentication patterns used here?"

"Suggest beginner projects for learning the database design in this app"

Claude Code will:

  1. Use the suggest_learning_projects tool
  2. Analyze your codebase for relevant code
  3. Generate 3 project ideas
  4. Create Marble platform links for each project

2. Generate Interactive Learning Slides

Ask Claude Code to generate interactive slides to explain concepts in your codebase:

"Create slides explaining how React hooks work in this codebase"

"Generate slides about the authentication flow in this app"

"Make slides explaining the database schema"

Claude Code will:

  1. Use the generate_slides_link tool
  2. Read relevant code from your codebase
  3. Create a comprehensive prompt with code examples
  4. Save the prompt to the database (if configured)
  5. Return a link to interactive slides on Marble

3. Generate Individual Project Links

You can also ask Claude Code to generate a link for a specific project:

"Generate a Marble link for a project about building a REST API with Express"

Configuration

Environment Variables

The generate_slides_link tool requires the following environment variables:

  • SUPABASE_URL: Your Supabase project URL (required)
  • SUPABASE_KEY: Your Supabase publishable key (required, starts with sb_publishable_...)
    • Find it in: Supabase Dashboard → Settings → API → Project API keys

Note: The SUPABASE_URL and SUPABASE_KEY environment variables are required for the generate_slides_link tool to work. The tool will error if these are not configured.

Security: Use your Supabase publishable key (sb_publishable_...), not the service role or secret key. The publishable key is:

  • ✅ Safe to use in CLIs, MCP servers, and public code
  • ✅ Can be rotated independently without downtime
  • ✅ Restricted by Row Level Security policies
  • ✅ The modern, recommended approach (replaces the legacy anon JWT key)

Important: Use the publishable key (sb_publishable_...), not secret or service role keys. Benefits:

  • ✅ Safe to expose in CLIs, scripts, and MCP servers
  • ✅ Easy rotation without downtime
  • ✅ Modern best practice (replaces legacy JWT-based anon key)

The publishable key is restricted by Row Level Security (RLS) policies and can only:

  • ✅ Insert new prompts into slide_prompts
  • ✅ Read prompts from slide_prompts
  • ❌ Cannot update, delete, or access any other tables

Note: If these variables are not set, the generate_slides_link tool will return an error. The suggest_learning_projects and generate_marble_link tools do not require database configuration.

Database storage provides:

  • Creates shorter, more shareable URLs (e.g., withmarble.ai/learn?prompt_id=abc123)
  • Avoids URL length limitations with long prompts
  • Improves link reliability across different platforms

If not provided, the server will fall back to encoding prompts directly in URLs.

Database Setup

If using Supabase integration, you'll need to create the slide_prompts table:

CREATE TABLE slide_prompts (
  prompt_id UUID PRIMARY KEY,
  prompt TEXT NOT NULL,
  created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
);
`

Tools (2)

suggest_learning_projectsAnalyzes codebase to suggest relevant learning projects
generate_slides_linkGenerates interactive learning slides based on code context

Environment Variables

SUPABASE_URLrequiredYour Supabase project URL
SUPABASE_KEYrequiredYour Supabase publishable key

Configuration

claude_desktop_config.json
{"mcpServers": {"marble": {"type": "stdio", "command": "npx", "args": ["marble-mcp-server"], "env": {}}}}

Try it

I want to learn more about React hooks. Can you suggest some projects?
What are some projects I could build to learn the authentication patterns used here?
Create slides explaining how React hooks work in this codebase
Generate slides about the authentication flow in this app
Generate a Marble link for a project about building a REST API with Express

Frequently Asked Questions

What are the key features of Marble MCP Server?

Analyzes current codebase to understand technologies and patterns. Suggests relevant learning projects based on code analysis. Generates links to interactive learning slides. Integrates with the Marble platform for project creation. Supports optional database storage for shareable short URLs.

What can I use Marble MCP Server for?

Developers looking to learn new technologies by building projects based on their existing codebase. Teams creating interactive documentation or onboarding slides for internal codebases. Students seeking guided learning paths tailored to specific code patterns and architectures.

How do I install Marble MCP Server?

Install Marble MCP Server by running: claude mcp add marble npx marble-mcp-server --scope user

What MCP clients work with Marble MCP Server?

Marble MCP 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 Marble MCP 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