Skip to main content
Glama

MCP Server Boilerplate

by cds-id

MCP サーバー ボイラープレート

MCP TypeScript SDK NPM バージョン MITライセンス

TypeScript と Express を使用して構築された、モデル コンテキスト プロトコル (MCP) の定型サーバー実装。

目次

概要

このプロジェクトは、モデルコンテキストプロトコル(MCP)に準拠したサーバーを実装します。MCPにより、アプリケーションは標準化された方法でLLMのコンテキストを提供できるようになります。MCPには以下のものが含まれます。

  • HTTPおよびstdioトランスポートオプションを備えた完全に構成されたMCPサーバー

  • 主要な機能を実証するためのサンプルリソース、ツール、プロンプト

  • 型安全性と開発者エクスペリエンスの向上を実現する TypeScript サポート

  • HTTPトランスポート層の高速統合

プロジェクト構造

mcp-server-boilerplate/ ├── .env # Environment variables ├── .env.example # Example environment variables ├── .gitignore # Git ignore file ├── package.json # Project dependencies and scripts ├── tsconfig.json # TypeScript configuration ├── src/ │ ├── index.ts # Main HTTP server entry point │ ├── stdio.ts # Stdio server entry point │ ├── resources/ # MCP resources │ │ ├── index.ts # Resource registration │ │ ├── infoResource.ts # Static info resource │ │ └── greetingResource.ts # Dynamic greeting resource │ ├── tools/ # MCP tools │ │ ├── index.ts # Tool registration │ │ ├── calculatorTool.ts # Sample calculator tool │ │ └── timestampTool.ts # Sample timestamp tool │ └── prompts/ # MCP prompts │ ├── index.ts # Prompt registration │ ├── greetingPrompt.ts # Sample greeting prompt │ └── analyzeDataPrompt.ts # Sample data analysis prompt └── dist/ # Compiled JavaScript output

はじめる

前提条件

  • Node.js (v18以降)

  • npmまたはyarn

インストール

リポジトリをクローンし、依存関係をインストールします。

git clone https://github.com/yourusername/mcp-server-boilerplate.git cd mcp-server-boilerplate npm install

環境変数

サンプル環境ファイルをコピーし、必要に応じて変更します。

cp .env.example .env

利用可能な環境変数:

  • PORT : HTTPサーバーのポート(デフォルト: 3000)

  • NODE_ENV : 環境モード(開発、本番)

  • OAuth設定(必要な場合)

サーバーの実行

HTTPサーバー

HTTP サーバーをビルドして起動します。

npm run build npm start

自動再起動を使用した開発の場合:

npm run dev

サーバーはhttp://localhost:3000/mcp (または .env ファイルで指定されたポート) で利用できます。

標準モード

サーバーを stdio モード (コマンドライン ツール用) で実行するには:

npm run start:stdio

自動再起動を使用した開発の場合:

npm run dev:stdio

リソース

定型文には次のサンプル リソースが含まれています。

  1. 静的情報リソース: info://server

    • サーバーに関する基本情報を提供します

  2. 動的グリーティングリソース: greeting://{name}

    • 指定された名前パラメータを使用してパーソナライズされた挨拶を生成します

リソースにアクセスするには:

  • MCPプロトコルを通じて

  • MCPクライアントライブラリの使用

ツール

定型文には次のサンプル ツールが含まれています。

  1. 電卓: 基本的な算術演算を実行します

    • パラメータ:

      • operation : 実行する演算(加算、減算、乗算、除算)

      • a : 最初の数字

      • b : 2番目の数字

  2. タイムスタンプ: 現在の時刻をさまざまな形式で提供します

    • パラメータ:

      • format : 出力形式 (iso、unix、readable)

プロンプト

定型文には次のサンプルプロンプトが含まれています。

  1. 挨拶: パーソナライズされた挨拶プロンプトを作成します

    • パラメータ:

      • name : 挨拶する名前

      • formal :フォーマルな挨拶スタイルを使用するかどうか(オプション)

  2. データ分析: データ分析のプロンプトを作成します

    • パラメータ:

      • data :分析するデータ

      • format : データ形式 (json、csv、テキスト)

      • instructions :追加の分析指示(オプション)

サーバーの拡張

リソースの追加

新しいリソースを追加するには:

  1. src/resources/に新しいファイルを作成します (例: myResource.ts )

  2. リソースハンドラーを実装する

  3. src/resources/index.tsに登録する

例:

// myResource.ts import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; export function myResource(server: McpServer): void { server.resource('my-resource', 'my-resource://path', async uri => ({ contents: [ { uri: uri.href, text: 'My resource content', }, ], })); } // Then add to resources/index.ts import { myResource } from './myResource.js'; export function registerResources(server: McpServer): void { // ...existing resources myResource(server); }

ツールの追加

新しいツールを追加するには:

  1. src/tools/に新しいファイルを作成します (例: myTool.ts )

  2. ツールハンドラーを実装する

  3. src/tools/index.tsに登録する

例:

// myTool.ts import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { z } from 'zod'; export function myTool(server: McpServer): void { server.tool('my-tool', { param: z.string() }, async ({ param }) => ({ content: [ { type: 'text', text: `Processed: ${param}`, }, ], })); } // Then add to tools/index.ts import { myTool } from './myTool.js'; export function registerTools(server: McpServer): void { // ...existing tools myTool(server); }

プロンプトの追加

新しいプロンプトを追加するには:

  1. src/prompts/に新しいファイルを作成します(例: myPrompt.ts

  2. プロンプトハンドラーを実装する

  3. src/prompts/index.tsに登録する

例:

// myPrompt.ts import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { z } from 'zod'; export function myPrompt(server: McpServer): void { server.prompt('my-prompt', { topic: z.string() }, ({ topic }) => ({ messages: [ { role: 'user', content: { type: 'text', text: `Please explain ${topic} in simple terms.`, }, }, ], })); } // Then add to prompts/index.ts import { myPrompt } from './myPrompt.js'; export function registerPrompts(server: McpServer): void { // ...existing prompts myPrompt(server); }

テストとデバッグ

MCP サーバーをテストするには、以下を使用できます。

  • MCPインスペクターツール

  • MCP クライアント ライブラリ

  • 直接 HTTP リクエスト (デバッグ用)

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

Deploy Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.
    Last updated -
    3
    21
    62
    Apache 2.0
  • A
    security
    A
    license
    A
    quality
    An educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server for integrating with various LLM clients like Claude Desktop.
    Last updated -
    1
    145
    MIT License
    • Apple
    • Linux
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol (MCP) server designed to easily dump your codebase context into Large Language Models (LLMs).
    Last updated -
    366
    1
    54
    3
    Apache 2.0
  • -
    security
    A
    license
    -
    quality
    An educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server integrating with various LLM clients.
    Last updated -
    2
    MIT License

View all related MCP servers

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/cds-id/mcp-server-boilerplate'

If you have feedback or need assistance with the MCP directory API, please join our Discord server