MCP服务器模板

一个用于快速构建和扩展Model Context Protocol (MCP)服务器的模板实现,支持自定义工具开发。

  • by takunagai
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 takunagai/mcp-server-boilerplate

使用说明

MCP服务器主板

模型上下文协议(MCP)サーバーのボイラープレートとなるシンプルな実装です。

概要

此项目包括:Model Context Protocol (MCP) 服务器的基本实现。通过使用这个锅炉板MCP可以快速构建服务器并实施自定义工具。

简单的自制MCP如何尝试实施服务器-Zenn 的文章为基础,加入实用的补充和辅助工具MCP它更清晰地展示了如何构建和扩展服务器。

v1 分支

将数值加倍的简单工具。MCP这是一个最小限度的参考实现,说明如何构建服务器和如何实现自定义工具。

v2 分支

v1 在分支中添加了从虚拟服务器获取字符串数据的工具。

v3 分支

v2 在分支中添加了获取和显示环境变量值的功能。MCP必须在配置文件中设置环境变量。

前提条件

  • Node.js(v23.11.0)以上)
  • npm 在工作空间的边缘yarn

支持MCP客户机

  • 克劳德代码
  • VSCode
  • 帆板运动
  • 光标
  • AWS Bedrock (未确认)

安装方法

# リポジトリのクローン
git clone [リポジトリURL]
cd mcp-server-boilerplate

# 依存パッケージのインストール
npm install

# ビルド
npm run build

使用方法

MCP客户端MCP请在配置文件中添加以下设置。
请指定绝对路径。 (※在主目录中 ~ 将条目添加到文档注册表。)

{
  "mcpServers": {
    "mcp-server-boilerplate": {
      "command": "node",
      "args": [
          "/absolute/path/to/mcp-server-boilerplate/build/index.js"
      ],
      "env": {
        "FOO": "BAR"
      }
    }
  }
}

请使用以下命令启动虚拟服务器。虚拟服务器仅提供虚拟字符串数据。 (可选端口号,如果已经使用3000号,请指定其他端口号。)

npx serve dummy-server

单击功能区上的MCP请重新启动客户端。 在代理模式下,请在每个工具的提示示例中运行提示,以确认该工具是否正常工作。(虽然不需要指定工具名,但为了确保使用工具而指定了该名称。)

提供的工具

双编号

将给定的数值加倍。

参数

  • num (number): 2加倍的数值

返回值

  • 输入值的两倍

提示示例

double_number を使って3を2倍した結果を表示して

get_test_text

从虚拟服务器获取字符串数据。
配置文件环境变量FOO的明细栏样式中定义的设置。

参数

  • 的下界

返回值

  • 获取的字符串数据

提示示例

テスト用の文字列データを取得して、内容の説明をして

开発方法

项目结构

mcp-server-boilerplate/
├── .vscode/                 # VSCode設定
├── dummy-server/            # ダミーサーバー
├── build/                   # ビルド出力先
├── node_modules/            # 依存パッケージ
├── src/                     # ソースコード
│   ├── index.ts             # エントリーポイント
│   └── {types}/             # 型定義(追加予定)
├── {tests/}                 # テスト
├── .env                     # 環境変数
├── {.env.example}           # 環境変数の例
├── .gitignore               # Gitの除外設定
├── .windsurfrules           # Windsurf設定
├── biome.json               # Biome設定
├── package.json             # 依存関係と設定
├── README.md                # READMEファイル
└── tsconfig.json            # TypeScript設定

如何添加新工具

src/index.ts 编辑文件并按照以下模式添加工具:

/**
 * ツールの定義
 * nameとdescriptionを元に、実行するtoolが選択される
 * handlerはCallToolResult(非同期の場合はそのPromise)を返す
 * @param name - ツールの名前
 * @param description - ツールの説明
 * @param args - ツールの引数の定義
 * @param handler - ツールの実装
 */
server.tool(
  "ツールの名前",
  "ツールの説明",
  {パラメータ名: z.型().describe("パラメータの説明")},
  ({パラメータ名}) => ({content: [{type: "text", text: 結果}]}),
);

主要从属软件包

  • @modelcontextprotocol/sdk: ^1.9.0 - MCP实施服务器所需的SDK
  • zod:^3.24.2-用于类型验证和模式定义的库

开发工具

生物群系

生物群系单击功能区上JavaScript打开TypeScript的规格化距离的幂函数。此项目用于保持代码的质量和一致性。
biome.json文件定义了项目特定的规则和设置。

以下npm脚本可用:

# コードをチェック
npm run lint

# コードをチェックして問題を自動修正
npm run lint:fix

# フォーマットをチェック
npm run format

# フォーマットを自動修正
npm run format:fix