MCP ExplorerExplorer

Create Mcp Server Cli

@Makoqon 10 months ago
2 MIT
FreeCommunity
AI Systems
#mcp#mcp-server#typescript#create-mcp-server
create mcp server cli in TS.

Overview

What is Create Mcp Server Cli

create-mcp-server-cli is a command-line tool designed for quickly creating standardized MCP (Model Context Protocol) servers using Node.js. It provides an interactive interface for configuration and project setup.

Use cases

Use cases for create-mcp-server-cli include developing backend services for web applications, creating microservices that communicate via the Model Context Protocol, and setting up local development environments for testing and integration.

How to use

To use create-mcp-server-cli, run the command ‘npx create-ts-mcp-server your-server-name’ in your terminal. Follow the interactive prompts to configure your server’s name, description, API level, and transport type.

Key features

Key features include an interactive configuration interface, support for both high-level and low-level API development, rapid project generation using a template engine, and intelligent configuration that automatically generates package.json and TypeScript settings.

Where to use

create-mcp-server-cli can be used in various fields such as software development, particularly in building server applications that require standardized communication protocols and efficient API management.

Content

npm

MCP Server Scaffolding Tool

A command - line tool for quickly creating standardized MCP (Model Context Protocol) servers using Node.js

✨Features

🛠️ Interactive Configuration

  • Provides a user
  • friendly command
  • line interactive interface

📦 Multi - level API Support

  • Supports both High
  • Level and Low
  • Level API development

⚡ Rapid Generation

  • Fast project generation based on a template engine

🔧 Intelligent Configuration

  • Automatically generates package.json and TypeScript configurations

🚀 Quick Start

Create a Project


# by npx
npx create-ts-mcp-server your-server-name

Initialization Steps of CLI

# config your project name
? What is the name of your MCP (Model Context Protocol) server? (your-mcp-server-name)
# config your project description
? What is the description of your server? (A Model Context Protocol server)
# @modelcontextprotocol/sdk API level,High-Level upper layer encapsulation of simple and easy-to-use API (suitable for most simple scenarios, more recommended), Low-Level API for underlying detail processing is suitable for complex scenarios
? What is the API level of your server?
 High-Level use (Recommended): It is a commonly used and encapsulated interface for developers. It shields many complex details, is easy to use, and is suitable for most scenarios.
 Low-Level use: It is a low-level interface, which is suitable for developers who need to customize the implementation details. (Use arrow keys)
❯ High-Level API
  Low-Level API
# config your server transport type
? What is the transport type of your server?
 Standard Input/Output (stdio):The stdio transport enables communication through standard
input and output streams. This is particularly useful for local integrations and command-line
 tools.
 Server-Sent Events (SSE):SSE transport enables server-to-client streaming with HTTP POST
requests for client-to-server communication. 
❯ Standard Input/Output (stdio)
  Server-Sent Events (SSE)
# success message
✔ MCP server created successfully!

Next steps:
  cd your-mcp-server-name
  npm install
  npm run build  #  build your server first
  npm run inspector # debug your server

Develope Command

cd your-server-name

npm install # install dependencies

npm run build # build project

npm run inspector # stdio: type debug your server

npx tsx ./src/index.ts # sse: run your sse server

Directory Structure

The typical project structure generated is as follows:

your-server-name/
├── src/
│   ├── server     
│       ├── server.ts # mcp server
│   ├── index.ts      # Service entry file
├── package.json
└── tsconfig.json

📚 API Level Explanation

High-Level API

Use cases: Rapid development of standard services Features:

Pre-configured common middleware
Automatic error handling
Standardized routing configuration
Out-of-the-box RESTful support

Example:

// Quickly create a service instance
server.tool(
  "calculate-bmi",
  {
    weightKg: z.number(),
    heightM: z.number()
  },
  async ({ weightKg, heightM }) => ({
    content: [{
      type: "text",
      text: String(weightKg / (heightM * heightM))
    }]
  })
);

Low-Level API

Use cases: Scenarios requiring deep customization Features:

Full control over the request lifecycle
Manual management of the middleware chain
Custom protocol handling
Low-level performance optimization

Example:

server.setRequestHandler(CallToolRequestSchema, async (request) => {
  switch (request.params.name) {
    case "create_note": {
      const title = String(request.params.arguments?.title);
      const content = String(request.params.arguments?.content);
      if (!title || !content) {
        throw new Error("Title and content are required");
      }

      const id = String(Object.keys(notes).length + 1);
      notes[id] = { title, content };

      return {
        content: [{
          type: "text",
          text: `Created note ${id}: ${title}`
        }]
      };
    }

    default:
      throw new Error("Unknown tool");
  }
});

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers