mcp-server-template

MCP starter kit for building AI tools with Bun runtime

Visit Server
Added on 3/28/2025

MCP Server Template

MCP starter kit for building AI tools with Bun runtime

Environment Requirements

  • Bun: v1.0.0 or higher
  • Node.js: v18.0.0 or higher (for some dependencies)
  • Operating System:
    • macOS 12+
    • Linux with glibc 2.31+
    • Windows 10+ (via WSL)

Features

  • Specialized quiz-focused MCP server implementation
  • Quiz tool with multiple categories and difficulty levels
  • Jest testing setup with MCP integration tests
  • Comprehensive test coverage

Installation

# Clone the repository
git clone https://github.com/username/quiz-mcp-template.git
cd quiz-mcp-template

# Install dependencies
bun install

Claude Desktop Setting

{
  "quiz": {
    "command": "/Users/takeshiiijima/.bun/bin/bun",
    "args": ["run", "<your path>/bun-mcp-template/src/index.ts"]
  }
}

Usage

Running the Server

# Start the server
bun start

# Development mode (with auto-restart)
bun dev

Testing

# Run all tests
bun test

MCP Tools

This server provides an interactive quiz tool:

get_quiz: Provides quiz questions across different categories and difficulty levels

{
  "method": "tools/call",
  "params": {
    "name": "get_quiz",
    "arguments": {
      "category": "science",
      "difficulty": "medium"
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}

Available categories:

  • general
  • science
  • history
  • geography
  • entertainment

Difficulty levels:

  • easy
  • medium
  • hard

Project Structure

quiz-mcp-template/
├── src/
│   └── index.ts       # Main Quiz MCP server implementation
├── tests/
│   └── cli-mcp.test.ts # MCP integration tests
├── package.json
├── tsconfig.json
└── README.md

Development

Extending Quiz Categories

To add new quiz categories or questions, modify the quizQuestions object in src/index.ts:

// Add new category
quizQuestions.newCategory = {
  easy: [
    { question: "Easy question 1?", answer: "Answer 1" },
    { question: "Easy question 2?", answer: "Answer 2" },
    // Add more questions...
  ],
  medium: [
    { question: "Medium question 1?", answer: "Answer 1" },
    { question: "Medium question 2?", answer: "Answer 2" },
    // Add more questions...
  ],
  hard: [
    { question: "Hard question 1?", answer: "Answer 1" },
    { question: "Hard question 2?", answer: "Answer 2" },
    // Add more questions...
  ],
};

// Don't forget to update the schema to include the new category
const QuizSchema = z.object({
  category: z
    .enum([
      "general",
      "science",
      "history",
      "geography",
      "entertainment",
      "newCategory",
    ])
    .optional()
    .describe("The category of questions to ask"),
  // ...
});

License

MIT

Acknowledgements

This project uses the Model Context Protocol (MCP) developed by Anthropic and provides an educational quiz tool for AI assistants.