返回 MCP 目录
public公开dns本地运行

mcp-server-boilerplate-(typescript)

一个基于TypeScript的Model Context Protocol (MCP)服务器模板项目,提供结构化、可维护和可扩展的框架,包含工具、资源和提示的实现示例,支持配置管理、日志记录、错误处理和容器化部署。

article

README

🚀 MCP 服务器说明

MCP(Machine Communicator Protocol)是一种用于机器间通信的协议。本项目提供了一个简单的 HTTP 服务器实现,非常适合开发和测试使用。

🚀 快速开始

  1. 创建一个 mcp.json 文件:
{
  "name": "示例 MCP 服务器",
  "version": "0.1.0",
  "description": "这是一个简单的 MCP 服务器。",
  "tools": [
    {
      "id": "tool1",
      "name": "工具1",
      "description": "执行任务的工具。"
    }
  ]
}
  1. 创建 server.ts 文件:
import { MCP } from 'mcp-server';

async function bootstrap() {
  const server = new MCP.Server({
    port: 3000,
    jsonPath: './mcp.json'
  });

  await server.start();
}

bootstrap().catch(console.error);
  1. 启动服务器:
npm run start

✨ 主要特性

  • 工具注册:支持通过 mcp.json 定义工具。
  • 通信协议:遵循 MCP 协议标准。
  • 插件扩展:提供插件系统,便于功能扩展。

📦 安装指南

使用 npm 安装项目:

npm install mcp-server

或者按照以下步骤进行安装:

  1. 克隆仓库:
git clone https://github.com/username/mcp-server.git
  1. 安装依赖:
npm install

💻 使用示例

基础用法

创建工具

mcp.json 中定义工具:

{
  "tools": [
    {
      "id": "tool1",
      "name": "计算器工具",
      "description": "执行数学运算。",
      "parameters": [
        { "type": "number", "name": "a" },
        { "type": "number", "name": "b" }
      ],
      "responseType": "number"
    }
  ]
}

调用工具

通过 HTTP 请求调用工具:

curl -X POST http://localhost:3000/api/tool/tool1 \
     -H "Content-Type: application/json" \
     -d '{"a": 10, "b": 20}'

响应示例:

{
  "status": "success",
  "result": 30
}

📚 详细文档

扩展与配置

配置文件

mcp.json 示例:

{
  "name": "自定义 MCP 服务器",
  "version": "1.0.0",
  "description": "高度定制化的 MCP 服务器。",
  "tools": [
    {
      "id": "tool2",
      "name": "文件处理工具",
      "description": "处理上传的文件。",
      "parameters": [
        { "type": "file", "name": "inputFile" }
      ],
      "responseType": "string"
    }
  ]
}

插件系统

通过编写插件扩展功能:

import { Plugin } from 'mcp-server';

export default class MyPlugin implements Plugin {
  apply(app: any) {
    // 扩展逻辑
  }
}

文档结构

目录

详细说明

  • 安装指南:介绍了使用 npm 安装和克隆仓库安装的方法。
  • 快速开始步骤:创建 mcp.json 文件、编写服务器代码、启动服务。
  • 功能模块
    • 工具管理:处理工具的注册与调用。
    • 通信协议:实现数据交互的标准流程。
    • 插件支持:允许通过插件扩展功能。

项目示例

示例项目结构

mcp-server-example/
├── package.json
├── mcp.json
└── src/
    └── server.ts

运行示例

npm install
npm run start

错误处理

  • 参数错误:返回 400 状态码。
  • 服务内部错误:返回 500 状态码。

贡献指南

欢迎贡献代码!请遵循以下步骤:

  1. 创建分支。
  2. 提交更改。
  3. 提交拉取请求。

📄 许可证

项目采用 MIT 协议,具体条款见 LICENSE 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端