vibe-ready-mcp-server-template

yodakeisuke/vibe-ready-mcp-server-template

3.2

If you are the rightful owner of vibe-ready-mcp-server-template and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This document provides a structured overview of a Model Context Protocol (MCP) server template designed for building efficient and organized MCP servers using TypeScript.

Tools
  1. example

    Demonstrates the integration of new tools.

MCP Server Template

A minimal typescript template for building MCP (Model Context Protocol) servers.

Features

  • Vibe Coding Ready: Pre-organized directory structure with complete rules and samples
  • Implementation Guide: Complete CLAUDE.md with patterns and examples

Quick Start

# Install dependencies
npm install

# Build the server
npm run build

# Start the server
npm run start

Example Tool

The template includes an example tool that demonstrates:

Adding New Tools

  1. Create a new directory in src/mcp/tool/your-tool/
  2. Add these files:
    • schema.ts - Input/output schemas
    • handler.ts - Tool logic
    • index.ts - Tool export
  3. Register the tool in src/mcp/Server.ts

File Structure

src/
ā”œā”€ā”€ index.ts                    # Server entry point
ā”œā”€ā”€ mcp/                        # MCP server layer
│   ā”œā”€ā”€ Server.ts              # MCP server setup
│   └── tool/
│       ā”œā”€ā”€ util.ts            # Response utilities
│       ā”œā”€ā”€ example/           # Example tool
│       │   ā”œā”€ā”€ schema.ts      # Zod schemas
│       │   ā”œā”€ā”€ handler.ts     # Tool handler
│       │   └── index.ts       # Tool export
│       └── CLAUDE.md          # Implementation guide
ā”œā”€ā”€ domain/                     # Domain layer (optional)
│   ā”œā”€ā”€ command/               # Command aggregates
│   │   └── your-aggregate/
│   │       ā”œā”€ā”€ aggregate.ts   # Business logic
│   │       └── events.ts      # Domain events
│   ā”œā”€ā”€ read/                  # Read models
│   │   └── your-view/
│   │       ā”œā”€ā”€ index.ts       # Query functions
│   │       └── types.ts       # View types
│   └── term/                  # Domain terms
│       └── types.ts           # Shared domain types
└── effect/                     # Effect layer (optional)
    └── storage/
        └── your-storage.ts    # Side effects