MCP服务器模板

一个用于开发符合Model Context Protocol标准的服务器的项目模板,提供最佳实践、全面文档和现代项目管理功能。

  • by knoxmcken
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 knoxmcken/mcp-project-template

使用说明

MCP服务器项目模板

用于开发模型上下文协议(MCP)服务器的综合模板,包括最佳实践、大量文档和现代项目管理。

🚀 快速开始

# Clone this template
git clone <your-repo-url>
cd mcp-server-project

# Install dependencies
npm install

# Set up development environment
npm run setup

# Start development server
npm run dev

# Run tests
npm test

💡 您是这个模板的新手吗? 查看我们的详细信息 快速入门指南 获取分步说明!

📋 目录

🎯 概述

此项目实现了一个模型上下文协议(MCP)服务器,该服务器提供[在此处描述服务器的功能]。MCP使AI助手能够通过标准化协议安全地访问外部数据源和工具。

什么是MCP?

模型上下文协议是一种开放协议,可实现人工智能助手和外部数据源之间的安全连接。它提供:

  • 标准化沟通:人工智能数据源交互的通用协议
  • 安全:内置身份验证和授权机制
  • 可扩展性:自定义数据源的插件架构
  • 类型安全:强大的打字功能,实现可靠的集成

✨ 特性

  • 🔌 插件架构:自定义数据源的可扩展设计
  • 🔒 安全第一:内置身份验证和授权
  • 📊 综合录井:多级结构化日志记录
  • 🧪 测试覆盖率:综合单元和集成测试
  • 📖 API 文档:自动生成的OpenAPI/Swagger文档
  • 🔄 热重新加载:具有自动重新加载功能的开发服务器
  • 📈 监控:健康检查和指标端点
  • 🐳 Docker支持:容器化部署就绪
  • 🚀 CI/CD就绪:包括GitHub操作工作流

🔧 先决条件

  • Node.js:v18.0.0或更高版本
  • npm:v8.0.0或更高版本
  • Git:v2.30.0或更高版本
  • 码头工人:v20.0.0或更高版本(用于容器化部署)

📦 安装

开发设置

  1. 克隆存储库

    git clone <your-repo-url>
    cd mcp-server-project
    
  2. 安装依赖项

    npm install
    
  3. 设置环境

    cp .env.example .env
    # Edit .env with your configuration
    
  4. 初始化项目

    npm run setup
    

生产设置

看 部署指导 了解详细的生产设置说明。

⚙️ 配置

配置通过环境变量和配置文件进行管理:

  • 环境变量:参见 .env.示例
  • 配置文件:位于 ./config/
  • 架构验证:所有配置在启动时都经过验证

关键配置选项

变量 描述 默认值
PORT 服务器端口 3000
LOG_LEVEL 日志记录级别 info
NODE_ENV 环境 development

看 配置指南 了解完整细节。

🛠️ 发展

可用脚本

# Development
npm run dev          # Start development server with hot reload
npm run dev:debug    # Start with debugger enabled
npm run dev:watch    # Start with file watching

# Building
npm run build        # Build for production
npm run build:dev    # Build for development

# Testing
npm test             # Run all tests
npm run test:unit    # Run unit tests only
npm run test:integration # Run integration tests
npm run test:watch   # Run tests in watch mode
npm run test:coverage # Run tests with coverage

# Code Quality
npm run lint         # Run ESLint
npm run lint:fix     # Fix ESLint issues
npm run format       # Format code with Prettier
npm run typecheck    # Run TypeScript type checking

# Documentation
npm run docs:build   # Build documentation
npm run docs:serve   # Serve documentation locally

# Maintenance
npm run clean        # Clean build artifacts
npm run reset        # Reset node_modules and reinstall

开发工作流程

  1. 创建要素分支

    git checkout -b feature/your-feature-name
    
  2. 进行更改

    • 跟随 编码标准
    • 为新功能编写测试
    • 根据需要更新文档
  3. 测试您的更改

    npm run test
    npm run lint
    npm run typecheck
    
  4. 提交您的更改

    git add .
    git commit -m "feat: add your feature description"
    
  5. 推送并创建PR

    git push origin feature/your-feature-name
    

🧪 测试

我们在多个级别上保持全面的测试覆盖率:

测试类型

  • 单元测试:单独测试单个组件
  • 集成测试:测试组件交互
  • 端到端测试:测试完整的工作流程
  • 性能测试:测试性能特征

运行测试

# Run all tests
npm test

# Run specific test suites
npm run test:unit
npm run test:integration
npm run test:e2e

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm run test:coverage

写作测试

看 测试指导 详细的测试指南和示例。

🚀 部署

Docker部署

# Build image
docker build -t mcp-server .

# Run container
docker run -p 3000:3000 mcp-server

生产部署

看 部署指导 用于:

  • 环境设置
  • SSL配置
  • 负载平衡
  • 监控设置
  • 备份策略

🤝 贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

快速贡献步骤

  1. 复刻仓库
  2. 创建功能分支
  3. 进行更改
  4. 添加新功能的测试
  5. 确保所有测试通过
  6. 提交拉取请求

开发标准

🏗️ 建筑

高级体系结构

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   AI Assistant  │    │   MCP Server    │    │  Data Sources   │
│                 │◄──►│                 │◄──►│                 │
│                 │    │                 │    │                 │
└─────────────────┘    └─────────────────┘    └─────────────────┘

核心组件

  • 协议处理器:管理MCP协议通信
  • 认证:处理客户端身份验证和授权
  • 数据适配器:与外部数据源的接口
  • 插件系统:自定义功能的可扩展架构

看 架构指南 了解详细信息。

📚 API 文档

  • 交互式API文档:可在 /docs 服务器运行时
  • OpenAPI规范:可在 /api/openapi.json
  • 协议文件:参见 docs/protocol.md

🔍 故障排除

常见问题

问题 解决方案
端口已在使用中 更改 PORT 在 .env 文件
找不到模块 运行 npm install
测试失败 运行 npm run clean && npm install

看 故障排除指南 了解更多详情。

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持


编码愉快! 🎉