mcp-template
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-templateInitialize a new MCP project with Supabase auth"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Template — Tiple Method
Template Git pour bootstrapper un produit MCP-first avec la Tiple Method : un SaaS dont le canal principal est un serveur MCP consommé depuis Claude et ChatGPT (tools + widgets MCP Apps), avec une app web Next.js en canal secondaire.
C'est le Tiple Method Template de base (structure, templates de docs, checklists, conventions, slash commands Claude Code, design system) spécialisé MCP :
Conventions MCP (
.tiple/conventions/mcp-patterns.md, tagmcp) : parité web/MCP par services partagés, AX (découverte par l'agent), design des tools, widgets MCP Apps dual-host Claude + ChatGPT, auth OAuth 2.1 via Supabase, serveur stateless, golden queriesSection "Canal MCP" dans le template d'architecture (
.tiple/templates/architecture.tmpl.md) : tables tools / widgets / auth à remplir au cadrageTemplate de golden queries (
.tiple/templates/mcp-golden-queries.tmpl.md) : l'éval anti-régression du routage des tools, à rejouer sur les deux hostsRègles MCP dans
CLAUDE.md+ skillmcpauto-déclenché dès qu'on touchesrc/mcp/ouwidgets/
Stack : Next.js 15 (App Router) + TypeScript strict + Tailwind CSS + Shadcn/ui. Backend Supabase via starter (DB + RLS + Auth + Storage — c'est aussi l'authorization server OAuth 2.1 du canal MCP). Canal MCP : @modelcontextprotocol/sdk + mcp-handler (endpoint /api/mcp), widgets buildés par Vite en HTML single-file. IA optionnelle : Claude API (@anthropic-ai/sdk).
Le canal MCP en bref
Les invariants que le template impose (détail dans .tiple/conventions/mcp-patterns.md) :
Parité par services partagés — toute capacité métier = 1 fonction dans
lib/services/+ 2 adaptateurs fins (Server Action web, tool MCP). Jamais de logique métier dans un tool.Dual-host day one — widgets déclarés avec la triple méta (
ui.resourceUristandard MCP Apps GA + alias plat pré-GA +openai/outputTemplate→ variante skybridge pour ChatGPT) via un helper unique ; chaque bundle servi en 2 resources (text/html;profile=mcp-app+text/html+skybridge) ; bridge uniquewidgets/shared/bridge.tssur le SDK officielext-apps; matrice de test des deux hosts avant push.Auth OAuth 2.1 avec Supabase en authorization server — RFC 9728, 401
WWW-Authenticate,securitySchemespar tool, client Supabase au JWT de l'utilisateur → RLS active dans les tools.service_roleinterdit.Transport figé par ADR — stateless par défaut (Streamable HTTP sans session, état métier en Postgres, compatible Vercel) ; stateful (sessions + SSE via Redis) si le produit exige push/subscriptions — bloc prêt dans le starter.
AX mesurée —
instructionsserveur maintenu, descriptions "Use this when… / Do not use for…",next_actionsdans chaque résultat, golden queries rejouées à chaque évolution de tool.Dégradation — tout tool fonctionne sans widget ; le widget est un bonus d'ergonomie.
Design System
Le design system Tiple (vert mint, éditorial) complet est inclus, prêt à l'emploi — éprouvé dans mcp-cv-editor :
Thème : Vert mint Tiple
#06f5a2sur neutres chauds, fond de page#FAFAFAavec pattern éditorial (.page-canvas: halo mint + semis de croix sous le contenu), sidebar sombre les deux thèmes, dark mode soigné (class-based, next-themes), token--primary-darkpour le texte-accent (contraste AA)34 composants Shadcn/ui (style new-york) dans
src/components/ui/— boutons/badges en pilule, labels mono8 composants métier : PageContainer, EmptyState, StatCard, DataTable, ThemeToggle, ThemeProvider, CopyButton, AppLogo (+ favicon)
Preview interactive : route
/design-system(sections modulaires)Tokens complets : couleurs (oklch), typographie (Instrument Sans + JetBrains Mono), spacing, radius, shadows, utilitaires éditoriaux (hover-lift, text-stroke, noise-overlay)
Icônes : Phosphor pour l'app, lucide en interne Shadcn
Documentation :
docs/design/system.md— source unique des tokens :src/app/globals.css(Tailwind v4 CSS-first)
Starters
Le template est minimal par défaut. Les starters dans .tiple/starters/ ajoutent des fonctionnalités complètes. Ils sont identifiés par /tm-plan (Phase 0) et installés lors de la story de setup.
Starter | Dossier | Ce qu'il ajoute |
Canal MCP |
| Endpoint |
Supabase + Auth |
| Base de données, auth (login/signup/reset), middleware, Server Actions, pages auth, CI migrations |
Pour un produit MCP-first, les deux starters vont ensemble : Supabase + Auth fournit la DB (RLS) et l'authorization server OAuth 2.1 du canal MCP ; le starter Canal MCP fournit le serveur, les widgets et le câblage auth (bloc à décommenter une fois Supabase en place).
Quick Start
# 1. Créer un projet depuis le template ("Use this template" sur GitHub, ou clone)
git clone https://github.com/jean-baptiste-tiple/mcp-template mon-projet
cd mon-projet
# 2. Installer les dépendances
pnpm install
# 3. Lancer le dev server
pnpm dev
# 4. Lancer le cadrage dans Claude Code (brief → PRD → archi → epics/stories)
# /tm-planLe cadrage (/tm-plan) remplit la section "Canal MCP" de l'architecture (tools, widgets, auth), fige les décisions structurantes par ADR (authorization server, stateless) et crée docs/mcp-golden-queries.md depuis le template.
Commandes
Deux points d'entrée principaux, 5 modes auto-détectés :
Commande | Usage | Description |
| Toute planification | Cadrage complet (brief → PRD → archi → design → epics/stories → gate). Détecte auto le mode initial (nouveau projet) vs évolution (V2, V3, grosse feature). |
| Toute action code | 5 modes auto-détectés depuis l'argument : story ( |
| Code review agent isolé | Agent autonome séparé passe |
| Revue totale à chaque jalon | 3 passes parallèles par agents isolés : code (checklist+ADRs), UI/UX (captures Playwright + grille notée), AX (simulation de routage des golden queries) → arbitrage, correction, re-validation. |
| Vérification triple |
|
| Après un gros chantier | Capture les apprentissages méta (conventions, ADR, registry). Peut aussi être proposé auto par Claude. |
| Commit & push | Type-check + lint + tests + changelog + commit + push (OBLIGATOIRE pour tout push). |
Commandes dépréciées (alias rétro-compatibles, seront supprimés) : → /tm-fix/tm-dev (mode fix), → /tm-feature/tm-plan + /tm-dev.
Les 5 modes de /tm-dev
Mode | Déclencheur | Ce que ça fait |
Story | ID ( | Flow complet piloté par la story : conventions auto-chargées, impl, type-check, review agent, finalisation (changelog, post-impl, registry, sprint status) |
Fix | mots-clés : | Reproduire avant corriger, diff minimal, test de non-régression obligatoire |
Feature | mots-clés : | Si non-trivial → propose |
Refacto | mots-clés : | Pas de changement de comportement, tests identiques avant/après, diff minimal |
Explore | mots-clés : | Read-only : aucune écriture. Retour structuré |
Skills auto-déclenchés
.claude/skills/ contient 23 skills "shim" (un par tag de .tiple/conventions/_index.md, dont mcp) qui s'auto-activent selon le contexte — même hors de /tm-dev. Exemple : toucher src/mcp/ ou widgets/ déclenche le skill mcp qui charge .tiple/conventions/mcp-patterns.md. Les descriptions sont bilingues FR+EN pour un trigger robuste.
Structure
├── CLAUDE.md # Instructions Claude Code (Tiple Method + règles MCP)
├── .claude/
│ ├── commands/ # 8 slash commands (tm-plan, tm-dev, tm-review, tm-verify, tm-wrap-up, commit-push, ...)
│ ├── skills/ # 23 skills shim (dont mcp) + tm-wrap-up
│ └── hooks/ # enforce-bash-rules.sh
├── .tiple/
│ ├── templates/ # Templates de documents (dont architecture avec section MCP, golden queries)
│ ├── checklists/ # 5 checklists quality gates
│ ├── conventions/ # Conventions par tags (23 fichiers dont mcp-patterns.md + _index.md)
│ ├── starters/ # Starters optionnels (mcp, supabase-auth)
│ └── sprint/status.md # Sprint tracking
├── docs/
│ ├── brief.md / prd.md / architecture.md # Générés par /tm-plan
│ ├── changelog.md # Journal des évolutions
│ ├── design/ # Design system, maquettes, flows
│ ├── epics/ + stories/ # Backlog implémentable
│ └── decisions/ # ADRs (auth MCP, stateless, ... — créés au cadrage)
├── src/
│ ├── app/
│ │ ├── (dashboard)/ # Layout principal + page /dashboard placeholder
│ │ ├── design-system/ # Preview du design system
│ │ └── api/mcp/ # (starter mcp, installé en S01) Endpoint MCP — mcp-handler
│ ├── mcp/ # (starter mcp, installé en S01) Serveur MCP : tools, auth, helpers
│ ├── components/ # ui/ (34 Shadcn) + composants métier
│ └── lib/ # services/, schemas/, utils/
├── widgets/ # (starter mcp, installé en S01) Sources MCP Apps — Vite single-file + bridge partagé
└── tests/ # Unit, integration, e2e (smoke fournis)Les dossiers marqués "starter mcp" ne sont pas pré-générés : le squelette complet vit dans .tiple/starters/mcp/ et s'installe lors de la story de setup (mapping fichier par fichier dans son README), guidé par .tiple/conventions/mcp-patterns.md.
Personnaliser le template
Après le clone :
CLAUDE.md— Section "Projet" : nom et descriptiondocs/design/system.md— Ajuster les tokens si besoin (couleurs, radius).tiple/conventions/tech-stack.md— Figer les versions MCP et ajouter les libs spécifiquespackage.json— Nom du projet
Puis lancer /tm-plan pour le cadrage (qui activera les starters et créera les ADRs nécessaires).
Conventions par tags
Les conventions techniques sont dans .tiple/conventions/ et chargées automatiquement selon le contexte :
Base (toujours chargées) :
coding-standards.md,component-registry.md,tech-stack.mdPar tags : chaque story déclare ses tags (ex:
mcp,auth,database) → les fichiers correspondants sont chargésIndex :
.tiple/conventions/_index.md
Mode | Chargement des conventions |
| Tags déclarés dans le champ |
| Tags déduits des fichiers touchés (ex: |
Hors workflow (édit libre, Q&A) | Skills de |
Qualité & Déploiement
Check | Où | Quand |
| Local (via | Avant chaque push |
| Local (smoke Playwright fourni : redirect home + design system) | À la demande / avant release |
| CI GitHub ( | Après chaque push — validation Vercel + catch des erreurs Linux |
Pour les stories taguées mcp : en plus des checks ci-dessus, passer la matrice de test dual-host (§5.4 de mcp-patterns.md) et rejouer les golden queries sur Claude et ChatGPT (developer mode) si un tool ou une description a changé.
Un hook Claude Code (.claude/hooks/enforce-bash-rules.sh) garantit que les commandes sont exécutées correctement (foreground, sans pipe, sans redirection).
Le déploiement Vercel est automatique (connecter le repo). La CI migrations Supabase est ajoutée par le starter Supabase + Auth si activé.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jean-baptiste-tiple/mcp-template'
If you have feedback or need assistance with the MCP directory API, please join our Discord server