Skip to main content
Glama

MCP Multi-Context Hook Generator

by mednabouli
Diagram.md14.2 kB
┌───────────────────────┐ │ Project Repo │ │ ┌───────────────┐ │ │ │ app/api/* │ │ │ │ (Next.js REST) │ │ │ └───────────────┘ │ │ ┌───────────────┐ │ │ │ api/*.ts │ │ │ │ (API clients + │ │ │ │ GraphQL funcs) │ │ │ └───────────────┘ │ └───────────────┬───────┘ │ ▼ ┌─────────────────┐ │ Crawler (api) │ │----------------│ │ - Reads all API │ │ files & routes│ │ - Detects REST, │ │ API clients, │ │ GraphQL │ │ - Extracts gql │ │ strings │ └─────────┬───────┘ │ ▼ ┌─────────────────┐ │ Generator/hooks │ │----------------│ │ - Receives Api │ │ routes │ │ - Generates │ │ typed hooks │ │ - Supports SWR, │ │ SWR Infinite, │ │ React Query, │ │ GraphQL │ └─────────┬───────┘ │ ▼ ┌────────────────┐ │ hooks.ts │ │----------------│ │ - Ready-to-use │ │ typed hooks │ │ - Auto imports │ │ - Infinite scroll│ │ - GraphQL inline│ └────────────────┘ ┌─────────────────────────────┐ │ Developer Pushes │ │ Code to GitHub Repo │ └─────────────┬──────────────┘ │ ▼ ┌─────────────────────────────┐ │ GitHub Actions Workflow Run │ │ (MCP Pipeline) │ └─────────────┬──────────────┘ │ ┌─────────────────┴─────────────────┐ │ │ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │ Checkout Code │ │ Restore Cache │ │ (actions/ │ │ ─ pnpm │ │ checkout) │ │ ─ ts-morph │ └───────────────┘ └───────────────┘ │ │ └──────────────┬────────────────────┘ ▼ ┌────────────────────┐ │ Install Dependencies │ │ (pnpm install) │ └────────────┬──────────┘ │ ▼ ┌────────────────────┐ │ MCP Server Runs │ │ (index.ts CLI) │ └────────────┬────────┘ │ ┌─────────────────────┴─────────────────────┐ │ │ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │ Crawl API │ │ Analyze Pages │ │ (ts-morph AST) │ │ Detect Hooks, │ │ Reuses cached │ │ Infer Render │ │ AST if exists │ │ Mode │ └───────────────┘ └───────────────┘ │ │ └──────────────┬────────────────────────────┘ ▼ ┌─────────────────────┐ │ Generate Hooks & │ │ Documentation │ │ (mcp-docs + summary)│ └────────────┬────────┘ │ ▼ ┌─────────────────────┐ │ Optional Commit │ │ Updated Hooks & Docs│ └─────────────────────┘ ┌─────────────────────────────┐ │ Developer Writes Code │ │ - page.tsx files │ │ - api/*.ts hooks │ │ - Optional @renderMode │ └─────────────┬──────────────┘ │ ▼ ┌─────────────────────────────┐ │ Run MCP Locally │ │ Command: pnpm start --all │ │ or individual flags: │ │ --crawl --hooks --docs │ └─────────────┬──────────────┘ │ ┌──────────────┴───────────────┐ │ │ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │ Crawl API │ │ Analyze Pages │ │ - Detect all │ │ - Detect hooks│ │ API routes │ │ - Infer render│ │ - ts-morph AST│ │ mode │ └───────────────┘ │ - Check for │ │ @renderMode │ └───────────────┘ │ ▼ ┌─────────────────────┐ │ Generate Docs & Hooks│ │ - hooks/*.ts │ │ - mcp-docs/*.md │ │ - summary.md │ └────────────┬────────┘ │ ┌──────────────────────────────────┴─────────────────────────────────┐ │ │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ │ Developer Reviews │ │ Use Hooks in Pages │ │ - page docs │ │ - import hooks.ts │ │ - suggested render │ │ - call API hooks │ │ mode │ │ (CSR/SSR/ISR) │ └─────────────────────┘ └─────────────────────┘ │ │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ │ Optional Override │ │ Push to Repo & CI │ │ - Add @renderMode │ │ MCP pipeline runs │ │ in page.tsx │ │ with caching │ └─────────────────────┘ └─────────────────────┘ ┌─────────────────────────────┐ │ Developer Writes Code │ │ - page.tsx files │ │ - api/*.ts hooks │ │ - Optional @renderMode │ └─────────────┬──────────────┘ │ ▼ ┌─────────────────────────────┐ │ Run MCP Locally │ │ Command: pnpm start --all │ │ Flags: --crawl --hooks --docs│ └─────────────┬──────────────┘ │ ┌──────────┴───────────┐ │ │ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │ Crawl API │ │ Analyze Pages │ │ - Detect all │ │ - Detect hooks│ │ API routes │ │ - Infer render│ │ - ts-morph AST│ │ mode │ └───────────────┘ │ - Check @renderMode │ └───────────────┘ │ │ └─────────────┬────────┘ ▼ ┌─────────────────────┐ │ Generate Hooks & Docs│ │ - hooks/*.ts │ │ - mcp-docs/*.md │ │ - summary.md │ └────────────┬────────┘ │ ┌──────────────────────┴───────────────────────┐ │ │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ │ Developer Reviews │ │ Use Hooks in Pages │ │ - page docs │ │ - import hooks.ts │ │ - suggested render │ │ - call API hooks │ │ mode │ │ (CSR/SSR/ISR) │ └─────────────────────┘ └─────────────────────┘ │ │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ │ Optional Override │ │ Push to Repo & CI │ │ - Add @renderMode │ │ MCP pipeline runs │ │ in page.tsx │ │ with caching │ └─────────────────────┘ └─────────┬───────────┘ │ ▼ ┌─────────────────────────────┐ │ GitHub Actions / CI/CD │ │ - Checkout code │ │ - Restore caches: │ │ - pnpm store │ │ - ts-morph AST │ │ - Install dependencies │ │ - Run MCP pipeline │ │ - Commit generated docs/hooks│ └─────────────────────────────┘

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mednabouli/MCPV2'

If you have feedback or need assistance with the MCP directory API, please join our Discord server