Skip to main content
Glama
tmtcomeup

PocketFlow MCP Server

by tmtcomeup

PocketFlow MCP Server

A Model Context Protocol (MCP) server that brings the powerful PocketFlow tutorial generation methodology to all AI assistants. Generate comprehensive, beginner-friendly tutorials from any GitHub repository using advanced AI analysis.

What is PocketFlow?

PocketFlow is an innovative methodology for automatically generating high-quality tutorials from codebases. It:

  1. Identifies Core Abstractions - Finds the key concepts and components in a codebase

  2. Maps Relationships - Understands how different parts interact with each other

  3. Orders Explanations - Determines the best sequence to explain concepts

  4. Generates Tutorials - Creates beginner-friendly, step-by-step learning content

  5. Creates Visual Diagrams - Includes Mermaid diagrams for better understanding

Related MCP server: TypeScript Prompt MCP Server

Features

  • βœ… Universal AI Assistant Support - Works with Cline, Cursor, Claude Desktop, and any MCP-compatible client

  • πŸ” Deep Repository Analysis - Analyzes GitHub repositories to identify key abstractions

  • 🧠 Intelligent Concept Mapping - Understands relationships between code components

  • πŸ“š Comprehensive Tutorial Generation - Creates structured, beginner-friendly tutorials

  • πŸ“Š Visual Architecture Diagrams - Generates Mermaid flowcharts and sequence diagrams

  • 🌐 Multi-LLM Provider Support - OpenRouter, Google Gemini, Anthropic Claude, OpenAI

  • 🌍 Multi-Language Support - Generate tutorials in different languages

  • πŸ”’ Secure & Local - All processing happens locally, API keys stored securely

  • ⚑ Smart Caching - Caches LLM responses for faster subsequent runs

Quick Start

Prerequisites

  • Node.js 18+

  • npm or yarn

  • An API key for your preferred LLM provider

Installation

  1. Clone and Build

git clone https://github.com/tmtcomeup/pocketflow-mcp.git
cd pocketflow-mcp
npm install
npm run build
  1. Configure Your AI Assistant

For Cline (VSCode)

Add to your Cline settings:

{
  "mcpServers": {
    "pocketflow": {
      "command": "node",
      "args": ["path/to/pocketflow-mcp/build/index.js"]
    }
  }
}

For Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "pocketflow": {
      "command": "node", 
      "args": ["path/to/pocketflow-mcp/build/index.js"]
    }
  }
}

Usage

Once connected, you'll have access to these tools:

analyze_github_repository

Generate a complete tutorial from any GitHub repository:

// Basic usage
analyze_github_repository({
  repo_url: "https://github.com/microsoft/vscode",
  llm_provider: "openrouter",
  api_key: "sk-or-v1-your-key-here",
  model: "anthropic/claude-3.5-sonnet"
})

// Advanced options
analyze_github_repository({
  repo_url: "https://github.com/pytorch/pytorch", 
  llm_provider: "google",
  api_key: "your-gemini-key",
  model: "gemini-2.5-pro",
  max_abstractions: 8,
  language: "spanish",
  include_patterns: ["*.py", "*.md"],
  exclude_patterns: ["*test*", "*docs/*"]
})

get_repository_structure

Explore repository structure before analysis:

get_repository_structure({
  repo_url: "https://github.com/facebook/react",
  include_patterns: ["*.js", "*.jsx", "*.ts"],
  max_depth: 3
})

LLM Provider Setup

  • Sign up at openrouter.ai

  • Get your API key from the dashboard

  • Access 100+ models including Claude, GPT-4, Gemini, and more

Google Gemini

  • Get an API key from Google AI Studio

  • Use models like gemini-2.5-pro or gemini-2.5-flash

Anthropic Claude

OpenAI

How It Works

The PocketFlow methodology follows a 6-step process:

  1. Repository Fetching - Downloads and filters code files based on patterns

  2. Abstraction Identification - Uses AI to identify 5-10 core concepts in the codebase

  3. Relationship Analysis - Maps how abstractions interact with each other

  4. Chapter Ordering - Determines the optimal learning sequence

  5. Chapter Writing - Generates detailed, beginner-friendly explanations for each concept

  6. Tutorial Compilation - Combines everything into a cohesive tutorial with diagrams

Example Output

The generated tutorial includes:

  • Index Page with project overview and visual architecture diagram

  • Individual Chapters for each core abstraction

  • Mermaid Diagrams showing relationships and workflows

  • Code Examples with detailed explanations

  • Cross-References between related concepts

  • Beginner-Friendly Language with analogies and examples

Configuration Options

Parameter

Description

Default

repo_url

GitHub repository URL

Required

llm_provider

AI provider (openrouter, google, anthropic, openai)

Required

api_key

API key for the LLM provider

Required

model

Specific model to use

Provider default

max_abstractions

Number of key concepts to identify

10

language

Tutorial language

"english"

include_patterns

File patterns to analyze

Common code files

exclude_patterns

File patterns to skip

Tests, docs, builds

max_file_size

Maximum file size in bytes

100000

use_cache

Enable LLM response caching

true

Contributing

We welcome contributions! Please see our contributing guidelines.

License

MIT License - see LICENSE file for details.

Original PocketFlow

This MCP server is based on the original PocketFlow project by The-Pocket. We've adapted their brilliant methodology to work seamlessly with all MCP-compatible AI assistants.

Support


Ready to transform any codebase into a comprehensive learning resource? Start analyzing repositories with PocketFlow MCP today!

Available Tools

2 tools
analyze_github_repositoryB

Analyze a GitHub repository and generate a comprehensive tutorial following the PocketFlow methodology

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYesAPI key for the LLM provider
exclude_patternsNoFile patterns to exclude (e.g., ["*test*", "*docs/*"])
github_tokenNoOptional GitHub token for private repos or rate limit avoidance
include_patternsNoFile patterns to include (e.g., ["*.py", "*.js"])
languageNoLanguage for tutorial generationenglish
llm_providerYesLLM provider to use for analysisgoogle
max_abstractionsNoMaximum number of abstractions to identify
max_file_sizeNoMaximum file size in bytes
modelNoSpecific model to use (e.g., "anthropic/claude-3.5-sonnet" for OpenRouter or "gemini-2.5-pro" for Google)gemini-2.5-pro
project_nameNoOptional project name (derived from repo if omitted)
repo_urlYesGitHub repository URL (e.g., https://github.com/user/repo)
use_cacheNoEnable LLM response caching

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but lacks critical behavioral details. It doesn't disclose that this is a complex, multi-step operation involving LLM calls, file processing, and potential rate limits. No information about execution time, error handling, or what 'comprehensive tutorial' entails is included.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that clearly states the tool's purpose. It's appropriately sized and front-loaded with the core functionality, though it could benefit from additional context about the PocketFlow methodology.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 12 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tutorial output looks like, how the analysis works, performance characteristics, or error conditions. The agent lacks crucial context for proper tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented in the schema itself. The description adds no additional parameter context beyond implying the tool analyzes repository content for tutorial generation. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('analyze a GitHub repository') and the outcome ('generate a comprehensive tutorial following the PocketFlow methodology'). It distinguishes from the sibling tool 'get_repository_structure' by focusing on analysis and tutorial generation rather than just structural retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. While it implicitly suggests use for tutorial generation, there's no mention of prerequisites (e.g., needing API keys), limitations, or comparison with the sibling tool 'get_repository_structure'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_repository_structureC

Get the file structure of a GitHub repository

ParametersJSON Schema
NameRequiredDescriptionDefault
exclude_patternsNoFile patterns to exclude
github_tokenNoOptional GitHub token
include_patternsNoFile patterns to include
max_depthNoMaximum directory depth
repo_urlYesGitHub repository URL

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't mention authentication requirements (though github_token parameter suggests optional auth), rate limits, what format the structure is returned in, whether this is a read-only operation, or any side effects. 'Get' implies a read operation, but this isn't explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with good schema documentation and gets straight to the point. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what format the structure is returned in (tree, list, JSON?), doesn't mention authentication behavior despite the github_token parameter, and provides no context about performance, limitations, or error conditions. The agent would need to guess about important behavioral aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, all parameters are documented in the schema itself. The description adds no additional parameter semantics beyond what the schema provides - it doesn't explain how patterns work, what depth means practically, or provide examples. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('file structure of a GitHub repository'), making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'analyze_github_repository' - we can infer this tool focuses on structure while the sibling might analyze content or metrics, but this distinction isn't explicit in the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance about when to use this tool versus the sibling 'analyze_github_repository' or any other alternatives. It doesn't specify prerequisites (like authentication needs) or contextual constraints beyond what's implied by the tool name. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedanalyze_github_repository
    • First observedget_repository_structure

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: analyze_github_repository generates a tutorial, while get_repository_structure retrieves file structure. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (analyze_github_repository, get_repository_structure) with clear, descriptive names. The naming is uniform and predictable, enhancing usability.

Tool Count2/5

With only 2 tools, the server feels thin for its apparent domain of GitHub repository analysis and tutorial generation. A more complete set might include tools for updating tutorials, managing analysis results, or handling other repository aspects, suggesting an under-scoped implementation.

Completeness2/5

The tool surface is severely incomplete for the PocketFlow methodology domain. It lacks essential operations such as creating, updating, or deleting tutorials, managing user interactions, or handling errors, which are likely needed for a comprehensive workflow, leading to potential agent failures.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with GitHub through the PyGithub library, providing tools for managing issues, repositories, pull requests, and other GitHub operations with intelligent parameter handling and error management.
    19
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to perform GitHub operations including repository management, file operations, issue tracking, and pull request creation.
    2
    -