mcpField
M
MCP Server Template

MCP Server Template

Local
medium.comDeveloper Tools1Updated 83w ago

About MCP Server Template

MCP Server Template is a Bun-based starter project for building AI tools, with an interactive quiz server as its example. It is aimed at developers and includes category and difficulty options plus MCP integration tests.

Key features

  1. 01Runs on Bun
  2. 02Quiz questions by category
  3. 03Multiple difficulty levels
  4. 04Includes MCP integration tests

Use cases

  1. 01Build an interactive quiz server
  2. 02Test MCP tool integration

MCP support

The MCP server exposes a get_quiz tool to clients, returning questions by category and difficulty.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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": "<your path>/.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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.