通用 MCP 服务器模板
模块化、可扩展的模型上下文协议 (MCP) 服务器模板,旨在轻松定制和扩展。
特征
模块化架构:通过定义明确的结构明确地分离关注点
小型、专注的文件:更好的可维护性,更容易被人工智能吸收
轻松扩展点:添加新工具和服务的简单模式
全面的错误处理:整个代码库的强大错误管理
类型安全:完全支持 TypeScript 并正确输入
项目结构
generic-mcp-template/
├── src/
│ ├── services/ # Service classes for API interactions
│ │ ├── base-service.ts # Abstract base service with common functionality
│ │ └── example-service.ts # Example service implementation
│ ├── tools/ # MCP tool definitions and handlers
│ │ ├── example-tools.ts # Tool definitions (name, description, schema)
│ │ └── example-tool-handlers.ts # Tool handler implementations
│ ├── types/ # TypeScript type definitions
│ │ └── example-types.ts # Example type definitions
│ ├── config.ts # Configuration management
│ └── index.ts # Main entry point
├── .env.example # Example environment variables
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
入门
先决条件
Node.js 18 或更高版本
npm 或 yarn
安装
克隆此存储库:
git clone https://github.com/v4lheru/generic-mcp-template.git cd generic-mcp-template安装依赖项:
npm install根据
.env.example创建.env文件:cp .env.example .env使用您的 API 密钥和配置编辑
.env文件。
构建和运行
构建项目:
npm run build运行服务器:
npm start
扩展模板
添加新服务
在
src/services/中创建一个新的服务文件:// src/services/my-service.ts import { BaseService } from './base-service.js'; import config from '../config.js'; export class MyService extends BaseService { // Implement your service... }在
src/types/中添加任何必要的类型。
添加新工具
在新文件中定义您的工具或扩展
src/tools/中现有的工具:// src/tools/my-tools.ts export const myTools = [ { name: "my_tool", description: "Description of my tool", inputSchema: { // JSON Schema for the tool's input } } ];为您的工具实现处理程序:
// src/tools/my-tool-handlers.ts import { MyService } from '../services/my-service.js'; export function createMyToolHandlers(myService: MyService) { return { my_tool: async (args: any) => { // Implement your tool handler } }; }在
src/index.ts中注册您的工具和处理程序。
配置
该模板使用src/config.ts中的集中配置系统。可以通过以下方式提供配置:
环境变量
命令行参数(使用
--env KEY=VALUE)代码中的默认值
错误处理
该模板包括全面的错误处理:
具有速率限制支持的服务级错误处理
使用适当的错误消息进行工具级错误处理
MCP 协议错误处理
执照
麻省理工学院
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that generates AI agent tools from Postman collections and requests. This server integrates with the Postman API to convert API endpoints into type-safe code that can be used with various AI frameworks.Last updated -13MIT License
- -securityAlicense-qualityGenerate an MCP server for any OpenAPI documented endpoint.Last updated -312MIT License
- AsecurityAlicenseAqualityA tool that creates MCP (Model Context Protocol) servers from OpenAPI/Swagger specifications, enabling AI assistants to interact with your APIs.Last updated -33729MIT License
- -securityFlicense-qualityAn auto-generated MCP server that enables interaction with the OpenAI API, allowing users to access OpenAI's models and capabilities through the Multi-Agent Conversation Protocol.Last updated -