Skip to main content
Glama

MCP Server Boilerplate

by cds-id

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

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 ファイルを参照してください。

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

アプリケーションがサンプル リソース、ツール、およびプロンプトを使用して LLM の標準化されたコンテキストを提供できるようにする、すぐに使用できるモデル コンテキスト プロトコル (MCP) サーバーのスターター実装。

  1. 目次
    1. 概要
      1. プロジェクト構造
        1. はじめる
          1. 前提条件
          2. インストール
          3. 環境変数
        2. サーバーの実行
          1. HTTPサーバー
          2. 標準モード
        3. リソース
          1. ツール
            1. プロンプト
              1. サーバーの拡張
                1. リソースの追加
                2. ツールの追加
                3. プロンプトの追加
              2. テストとデバッグ
                1. ライセンス

                  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
                    9
                    36
                    JavaScript
                    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
                    88
                    Python
                    MIT License
                    • Apple
                    • Linux
                  • -
                    security
                    -
                    license
                    -
                    quality
                    A specialized server that helps users create new Model Context Protocol (MCP) servers by providing tools and templates for scaffolding projects with various capabilities.
                    Last updated -
                    1
                    TypeScript
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol (MCP) server implementation that enables LLMs to interact with the Osmosis protocol, allowing for querying and transaction functionality through natural language.
                    Last updated -
                    9
                    TypeScript
                    MIT License
                    • Apple

                  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